Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error when Building Project: Error building Player because scripts have compile errors in the editor

Tags:

c#

unity3d

tiled

I have the Tiled2Unity plugin. When I begin to build a version of my game in Unity, be it standalone version or anything else,i get the following error, "Error building Player because scripts have compile errors in the editor"

Then it points me to this class

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using UnityEditor;

namespace Tiled2Unity
{
    public class CircleObject : TmxObject
    {
    }
}

Can someone please help me figure out what is the problem?

like image 797
Letholor Avatar asked Mar 03 '17 21:03

Letholor


1 Answers

You cannot build any your script that contains using UnityEditor; or class/API from the UnityEditor namespace. This is why you should put any script that contains any of these in a folder called Editor.

When Unity is building your project, it ignores any script placed in this folder since it considers them as an Editor script or plugin.

You have three choices:

  1. Remove using UnityEditor; from your script.

  2. Place your script in a folder called Editor.

  3. Use Unity's preprocessor directive to determie when not to compile with using UnityEditor;

    You can do that by replacing:

     using UnityEditor;
    

    with

     #if UNITY_EDITOR 
     using UnityEditor;
     #endif 
    

I would go with #2. Create a different script for any Editor stuff and place it in the Editor folder. Note that Unity will not compile any script in this folder when building your project. Scripts in this folder are meant to run in the Editor only.

like image 178
Programmer Avatar answered Sep 21 '22 12:09

Programmer