Специальные Папки Проекта
В большинстве случаев вы можете называть папки в проекте как угодно. Однако в Unity есть специальные зарезервированные имена папок, содержимое которых Unity обрабатывает особым образом. К примеру чтобы правильно работать, скрипты расширяющие возможности редактора Unity должны быть помещены в папку с названием Editor. Полный список имен специальных папок описан ниже.
Папка Assets - главная папка в которой содержатся все ассеты, которые могут быть использованы проектом на Unity. Содержимое Project view соответствует содержимому папки Assets. Большинство функций API предполагают что всё содержится в папке Assets и не требуют явного указания расположения. Однако есть некоторые функции которым нужно явно указывать папку Assets (напр. некоторые функции класса AssetDatabase).
Все скрипты размещённые в папке Editor (или подпапке) будут расцениваться как скрипты редактора Unity нежели как скрипты проекта. Такие скрипты предназначены для расширения функционала редактора Unity и недоступны во время выполнения проекта. В проекте может быть несколько папок Editor, но надо учитывать что размещение конкретной папки Editor влияет на порядок компиляции скриптов относительно других скриптов. Подробности смотри на странице Специальные Папки и Порядок Компиляции Скриптов.
Используя функцию EditorGUIUtility.Load скрипты редактора Unity могут загружать файлы ассетов по мере надобности. Эта функция ищет файлы ассетов в папке Editor Default Resources которая должна быть размещена в корне папки Assets.
“Гизмо” позволяют вам визуализировать детали реализации в окне сцены которые в обычных условиях невидны. Функция Gizmos.DrawIcon рисует в окне сцены иконку-маркер обозначающую какой либо специальный объект или местоположение в пространстве. Изображение для этой иконки-маркера следует разместить в папке Gizmos чтобы функция смогла его найти.
Система подключаемых модулей позволяет расширять функционал Unity. Подключаемые модули это нативные DLL как правило реализованные на языке C/C++. Они позволяют получить доступ к сторонним библиотекам (например распознавания речи), системным вызовам и прочему функционалу недоступному Unity в стандартной поставке. Чтобы подключаемый модуль распознался Unity их следует разместить в папке Plugins и как и для папки Editor, это повлияет на порядок компиляции скриптов. Подробности смотри на странице Специальные Папки и Порядок Компиляции Скриптов.
Как правило создание экземпляров ассетов происходит в окне сцены и потом используется во время игры. Также в Unity есть механизм загрузки ассетов по требованию. Для этого нужно разместить ассеты в папке Resources или её подпапке (в проекте может быть несколько папок Resources и размешать их можно где угодно). Загрузить ассеты можно с помощью функции Resources.Load.
Когда вы импортируете какой-либо стандартный пакет с ассетами (menu: Специальные Папки и Порядок Компиляции Скриптов.
) ассеты пакета размещаются в папке Standard Assets или Pro Standard Assets в случае если пакет доступен только для Про лицензии. Помимо того что папки содержат ассеты, они также влияют на порядок компиляции скриптов. Подробности смотри на страницеБольшинство игровых ассетов преобразуются во внутренние форматы Unity и встраиваются в собранный проект, однако есть случаи в которых нужно хранить ассеты в их исходном формате в виде отдельного файла. Например чтобы проиграть видео на платформе iOS нужно читать файл видео напрямую из файловой системы нежели использовать для этого MovieTexture. Если разместить файл в папке StreamingAssets_, при сборке проекта он будет скопирован в исходном виде на целевую платформу где будет доступен из определённой папки. Подробности смотри на странице Потоковая передача Ассетов.
Для сборок под web-плеер, вы можете предоставить собственный вариант страницы для размещения web-плеера. Страница оформляется в виде шаблона который включает в себя информацию из проекта, например имя проекта. Чтобы эти шаблоны были доступны в Unity, их следует размещать в папке WebPlayerTemplates. Подробности смотри на странице Использование шаблонов Web Player. Также стоит отметить, что все скрипты, размещенные в папке WebPlayerTemplates, будут игнорироваться компилятором. Это можно использовать как временное место для хранения неготовых скриптов, из-за которых невозможно запустить игру.
During the import process Unity completely ignores the following files and folders in the Assets folder (or a sub-folder within it):
This is used to prevent importing special and temporary files created by operating system or other applications.