Стандарт иерархии директорий определяет логику организации файловой структуры в проекте, а также в самом Core. Так как Core и использующая его игра являются отдельными проектами, то верхний уровень иерархии директорий будет выглядеть следующим образом:

Иерархия директорий Core

Файловая структура Core соответствует структуре страниц действующей документации. Шаблон иерархии выглядит следующим образом:

Аналогично действующей документации, в корневой директории расположены основные поддиректории Fundamentals и Systems. Структура вложенных папок у всех поддиректорий идентична. Сначала идёт папка, имя которой соответствует элементу Core (например, DirectoryHierarchyStandard), внутри которой расположены все относящиеся к нему файлы. Стандарт не обязует к какой-либо определённой иерархии папок ниже уровня элемента Core, однако рекомендуется производить разбиение на подпапки Core и Example, внутри которых будут располагаться обязательные и демонстрационные ассеты соответственно.

В каждой директории начиная с верхнего уровня и заканчивая уровнем элемента Core должна находиться ссылка на соответствующую страницу действующей документации (как это сделано, например, внутри директории данного стандарта):

Иерархия директорий Game

Логика организации файловой структуры проекта заключается в определении всех игровых сущностей и их условного иерархического подчинения. Например, если в проекте присутствует игровая сущность "персонаж", для которой имеется несколько экземпляров сущности "костюм", то:

  1. Ассеты, относящиеся к сущности "персонаж" будут расположены внутри папки Character.
  2. Ассеты, относящиеся к сущности "костюм", будут расположены внутри папки Suit.
  3. Папка Suit будет находиться внутри папки Character, отображая зависимость сущности "костюм" от сущности "персонаж".

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

В случае если достигнут нижний уровень декомпозиции проекта на сущности, то рекомендуется отструктурировать на данном уровне файлы по типам (то есть Meshes, Materials, Textures, Scenes и т.д.).

Стандарт не регламентирует какую-либо опеделённую иерархию директорий Game, поскольку проекты использующие Core могут различаться. В качестве примеров организации иерархии можно изучить игровые шаблоны в проекте Instarion Core, а также рассмотреть следующую демонстрационную схему: