Unity reserva algunos nombres de carpeta del proyecto para indicar que el contenido tiene un propósito especial. Algunas de estas carpetas tienen un efecto en el orden de compilación script. Estos nombres de carpeta son:
Mire los nombres especiales de carpeta para información acerca de cómo estas carpetas se utilizan.
Hay cuatro fases separadas de compilación script. La fase dónde un script se compila se determina por su carpeta padre.
Esto es significativo en los casos en que un script debe referirse a las clases definidas en otros scripts. La regla básica es que cualquier cosa que se compila en una fase después de la actual no se puede referenciar. Todo lo que se compila en la fase actual o en la fase anterior está disponible totalmente.
Otra situación donde esto ocurre es cuando un script escrito en un lenguaje debe referirse a una clase definida en otro lenguaje (por ejemplo, un archivo UnityScript que declare variables de una clase definida en un script C#). La regla aquí es que la clase siendo referencia debe ser compilada en una fase anterior.
Las fases de compilación son como siguen:
Un ejemplo común de la importancia de este orden se produce cuando un archivo UnityScript necesita hacer referencia a una clase definida en un archivo C#. Para lograr esto, debe colocar el archivo C# dentro de una carpeta de Plugins, y el archivo UnityScript en una carpeta no especial. Si no hace esto, se genera un error diciendo que no se puede encontrar la clase C#.
Nota: Los Standard Assets funcionan solo en la carpeta raíz Assets.