Buffer icon Проекты

Структура Unity проекта

Каждый раз, начиная новый проект, я создаю структуру папок и элементов, которая будет основой. Не важно, какого размера в итоге получится проект, но имея четкую структуру с самого начала, с ним будет удобно работать, масштабировать, передавать другому разработчику.

Можно гуглить «best practices» и смотреть как делают другие, но все равно вы придёте к своему комфортному расположению ресурсов и элементов на сцене. А для тех, кто еще не определился с выбором, предлагаю свой вариант.

И так, структура папок:

  • Editor
  • Audio
    • Music
    • Effects
  • Models
  • Plugins
    • iOS
    • Android
  • Prefabs
  • Resources
    • Prefabs
    • Sprites
    • Etc
  • Textures
  • Animations
  • Scenes
    • Levels
    • Menu
    • Etc
  • Scripts
  • Shaders
  • Vendor

Естественно, все нужно подстраивать под конкретную задачу и под команду, но будет лучше если придерживаться общей концепции для всех своих проектов.

Структура сцены:

  • Plugins
  • Scripts
  • Level
  • UI
  • Render
    • Cameras
    • Lights
    • Effects
  • !Temporary

Scripts служит для скриптов которые не связаны с объектами, например, менеджер звуков. Plugins нужен если обрабатываете входящие сообщения из плагинов iOS и Android. В !Temporary добавляются динамические, временные элементы созданные в процессе игры. Если вы делаете 2D игру, то в Level разумно было бы добавить разбивку по «слоям»: background, middleground, foreground.

Пробуйте, создавайте! Все придет с опытом. В любом случае, такой шаблон удобнее и практичнее, чем куча файлов в корневой папке и раскиданные элементы по сцене :)

Поделиться
Отправить
Отправить
 1616   2016   unity   разработка
1 комментарий
Александр 2018

А не смог бы ты примерно описать каждую паку. К примеру /models и /resources чем отличаются. И куда лучше закидывать 2d анимации созданые и импортированы из dragonbones или spine ?

Игорь Лопатин 2018

Как я и написал:

вы придёте к своему комфортному расположению ресурсов и элементов на сцене

это не обязательная структура и она по сути, ни на что не влияет. Есть только определенные зарезервированные директории, например, Resources — оттуда можно динамически подгружать ассеты. Про другие директории, можно прочитать в документации.
Поэтому как вам удобно, так и храните ассеты в проекте.

Популярное