github/gitignore · UnrealEngine.gitignore
Разбор шаблона .gitignore для Unreal Engine
Почему UnrealEngine.gitignore игнорирует Binaries, Intermediate, Saved, DerivedDataCache и сгенерированные файлы решений, и как устроены отрицающие правила для папки Build.
UnrealEngine.gitignore — шаблон для C++-проектов на Unreal Engine. Он исключает объёмные папки, которые движок создаёт для компиляции, кукинга и кэша шейдеров, а также файлы проектов IDE, которые редактор может создать заново.
Пять строк про папку Build/ — хороший пример приоритета правил gitignore. Всё содержимое папки исключается, но вложенные папки платформ возвращаются, а внутри них снова включаются только иконки и файлы PakBlacklist.
Разбор правил
| Шаблон | Что и почему игнорируется |
|---|---|
Binaries/*Intermediate/*Saved/*DerivedDataCache/* | Папки, создаваемые движкомСкомпилированные модули, промежуточные файлы сборки, логи, автосохранения, кэш настроек, производные данные шейдеров и ассетов. Всё это заново создаётся редактором или сборкой. |
Plugins/**/Binaries/*Plugins/**/Intermediate/* | Результаты сборки плагиновПлагины проекта тоже создают свои Binaries и Intermediate. ** обеспечивает совпадение для плагинов на любой глубине. |
Build/*!Build/*/Build/*/**!Build/*/PakBlacklist*.txt!Build/**/*.ico | Структура исключений для папки BuildBuild/* исключает содержимое, а !Build/*/ возвращает вложенные каталоги. Только когда каталоги «живы», можно снова исключить всё через Build/*/** и затем включить через ! лишь PakBlacklist и файлы иконок. Это способ обойти правило, согласно которому файл нельзя вернуть, если исключён родительский каталог. |
*.sln*.suo*.xcodeproj*.xcworkspace.vs/.vsconfig | Сгенерированные проекты IDEФайлы Visual Studio и Xcode, которые в любой момент можно пересоздать из .uproject командой «Generate Project Files». |
*.obj*.o*.pch*.dll*.lib*.exe*.app*.ipa | Артефакты компиляцииРезультаты компиляции и компоновки C++ и упаковки. |
*_BuiltData.uasset | Запечённые данные освещенияДанные для каждой карты, которые создаются при сборке освещения. Они большие, часто меняются и могут быть пересобраны. |
SourceArt/**/*.pngSourceArt/**/*.tga | Исходные арт-файлыПравило исключает из репозитория папку с исходными текстурами до импорта. Если исходники нужно версионировать, удалите его и используйте Git LFS. |
На что обратить внимание на практике
- Бинарные ассеты вроде
.uassetи.umapфактически обязательно отслеживать через Git LFS. Config/,Content/,Source/и.uprojectкоммитятся. Настройки вSaved/Configличные, поэтому их исключение правильно.- Прежде чем менять структуру
Build/, введите в тестер шаблонов путь вродеBuild/Windows/Application.icoи проверьте результат.
Исходный шаблон
UnrealEngine.gitignore
# Visual Studio 2015 user specific files.vs/# Compiled Object files*.slo*.lo*.o*.obj# Precompiled Headers*.gch*.pch# Compiled Dynamic libraries*.so*.dylib*.dll# Fortran module files*.mod# Compiled Static libraries*.lai*.la*.a*.lib# Executables*.exe*.out*.app*.ipa# These project files can be generated by the engine*.xcodeproj*.xcworkspace*.sln*.suo*.opensdf*.sdf*.VC.db*.VC.opendb.vsconfig# Precompiled AssetsSourceArt/**/*.pngSourceArt/**/*.tga# Binary FilesBinaries/*Plugins/**/Binaries/*# BuildsBuild/*# Whitelist PakBlacklist-<BuildConfiguration>.txt files!Build/*/Build/*/**!Build/*/PakBlacklist*.txt# Don't ignore icon files in Build!Build/**/*.ico# Built data for maps*_BuiltData.uasset# Configuration files generated by the EditorSaved/*# Compiled source files for the engine to useIntermediate/*Plugins/**/Intermediate/*# Cache files for the editor to useDerivedDataCache/*
Источник шаблонов: github/gitignore/UnrealEngine.gitignore @356fd7b (2026-09-11) · CC0-1.0