Структура проекта и перенос файлов
Папки по назначению, точные имена C#-файлов и отделение исходных данных от кэша.
Структура для небольшого проекта
project.reckfell
Game.csproj
.gitignore
.gitattributes
actors/
ActorSettings.cs
DamageReceiver.cs
enemy.rprefab
domain/
HealthModel.cs
gameplay/
HitController.cs
examples/
ArchitectureExample.cs
levels/
architecture.rscene
settings/
enemy.rdata
assets/
enemy.pngЭто соглашение проекта, а не обязательные имена папок движка. В большом проекте можно группировать файлы по игровой возможности: противник, инвентарь, интерфейс. Не создавайте папки, которым пока нечего хранить.
ActorSettings.cs содержит ActorSettings, DamageReceiver.cs — DamageReceiver. Для прикрепляемых C#-типов сохраняйте совпадение имени класса и файла с учётом регистра. Уровни и ресурсы именуйте последовательно: различия только в регистре создают лишние проблемы при переносе между системами.
Исходные данные и производные файлы
В проекте хранятся исходные изображения, звук, модели, скрипты и авторские .rscene/.rprefab/.rdata. .reckfell содержит кэш редактора и импорта; SDK по умолчанию размещает C#-сборки в .reckfell/mono/temp. Не заменяйте исходники содержимым этого каталога.
Пустой файл .reckfellignore в папке исключает её из обхода файлов редактором. Это не .gitignore: игнорирование импорта не исключает файлы из Git, и наоборот. Не помещайте туда ресурс, который должен импортироваться и использоваться игрой.
Переносить как изменение зависимостей
Переносите связанные ресурсы вместе с их UID-файлами, если они присутствуют. После переноса пересоберите C# и откройте уровень: проверьте скрипты, экспортированные ссылки и пути загрузки. Строковый asset:// путь в коде сам по себе не становится устойчивым к произвольному переименованию.
Папка exports в правилах Git ниже зарезервирована под результаты экспорта. Не храните в ней авторские ресурсы.