github/gitignore · Unity.gitignore
Unity .gitignore 模板详解
说明 Unity.gitignore 忽略 Library、Temp、Obj、Build、Logs、UserSettings 以及自动生成的 IDE 文件的原因,以及为什么必须提交 .meta 文件。
Unity.gitignore 以放在 Unity 项目根目录为前提。模板的目录规则以 / 开头,例如 /[Ll]ibrary/,固定在项目根目录,因此如果 Unity 项目位于仓库的子目录中,需要相应地修改路径。
Unity 编辑器在导入资源时会生成巨大的缓存(Library),还会自动生成供脚本 IDE 使用的解决方案文件。此模板拦截这些可重新生成的文件,帮助只共享 Assets、Packages、ProjectSettings。
逐条规则详解
| 模式 | 忽略什么,为什么忽略 |
|---|---|
/[Ll]ibrary//[Tt]emp//[Oo]bj//[Ll]ogs/.utmp/ | 编辑器缓存与临时目录资源导入结果和编译缓存。可能达到数 GB,Unity 打开项目时会重新生成。 |
/[Bb]uild//[Bb]uilds/*.apk*.aab*.app*.unitypackage | 构建结果播放器构建和导出的包。发布文件应通过发布而不是仓库管理。 |
/[Uu]ser[Ss]ettings/*.user*.userprefs*.suo.vs/ | 个人设置编辑器布局、个人设置以及 Visual Studio 用户文件。 |
*.csproj*.unityproj*.sln*.slnx | 自动生成的 IDE 文件Unity 为脚本编辑器每次重新生成的项目和解决方案文件。提交后因每个人的路径不同,经常发生冲突。 |
*.pdb*.mdb*.pdb.meta*.mdb.meta | 调试符号Mono、.NET 调试信息及其元文件。 |
/ServerData/[Aa]ssets/StreamingAssets/aa*/[Aa]ssets/AddressableAssetsData/link.xml* | Addressables 与 Visual Scripting 生成物Addressables 构建结果和自动生成的链接文件,每次构建都会重新生成。 |
*.blend1*.blend1.metasysinfo.txtcrashlytics-build.properties/[Mm]emoryCaptures//[Rr]ecordings/ | 其他Blender 备份文件、崩溃报告副产物、内存分析器捕获以及 Recorder 结果。 |
实践中的注意事项
- 不要忽略
.meta文件。Unity 通过.meta中的 GUID 连接资源之间的引用,缺失后在其他人的项目中引用会断开。 - 纹理、模型、音频等大型二进制资源通常用 Git LFS 管理,而不是用 gitignore。
- 如果使用 Visual Studio 或 Rider,可以同时选择 VisualStudio、JetBrains 模板,开启去重选项后重叠的规则会被整理。
原始模板
Unity.gitignore
# This .gitignore file should be placed at the root of your Unity project directory## Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore## Recommended: add any editor/OS/tool-specific ignore rules from the Global/ templates as needed.# See: https://github.com/github/gitignore/tree/main/Global#.utmp//[Ll]ibrary//[Tt]emp//[Oo]bj//[Bb]uild//[Bb]uilds//[Ll]ogs//[Uu]ser[Ss]ettings/*.log# By default unity supports Blender asset imports, *.blend1 blender files do not need to be commited to version control.*.blend1*.blend1.meta# MemoryCaptures can get excessive in size.# They also could contain extremely sensitive data/[Mm]emoryCaptures/# Recordings can get excessive in size/[Rr]ecordings/# Uncomment this line if you wish to ignore the asset store tools plugin# /[Aa]ssets/AssetStoreTools*# Autogenerated Jetbrains Rider plugin/[Aa]ssets/Plugins/Editor/JetBrains*# Jetbrains Rider personal-layer settings*.DotSettings.user# Visual Studio cache directory.vs/# Gradle cache directory.gradle/# Autogenerated VS/MD/Consulo solution and project filesExportedObj/.consulo/*.csproj*.unityproj*.sln*.slnx*.suo*.tmp*.user*.userprefs*.pidb*.booproj*.svd*.pdb*.mdb*.opendb*.VC.db# Unity3D generated meta files*.pidb.meta*.pdb.meta*.mdb.meta# Unity3D generated file on crash reportssysinfo.txt# Mono auto generated filesmono_crash.*# Builds*.apk*.aab*.unitypackage*.unitypackage.meta*.app# Crashlytics generated filecrashlytics-build.properties# TestRunner generated filesInitTestScene*.unity*# Addressables default ignores, before user customizations/ServerData/[Aa]ssets/StreamingAssets/aa*/[Aa]ssets/AddressableAssetsData/link.xml*/[Aa]ssets/Addressables_Temp*# By default, Addressables content builds will generate addressables_content_state.bin# files in platform-specific subfolders, for example:# /Assets/AddressableAssetsData/OSX/addressables_content_state.bin/[Aa]ssets/AddressableAssetsData/*/*.bin*# Visual Scripting auto-generated files/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Flow/UnitOptions.db/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Flow/UnitOptions.db.meta/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Core/Property Providers/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Core/Property Providers.meta# Auto-generated scenes by play mode tests/[Aa]ssets/[Ii]nit[Tt]est[Ss]cene*.unity*# UI Toolkit auto generated files/UIElementsSchema/# Auto-generated cache in Assets folder/[Aa]ssets/[Ss]ceneDependencyCache*
模板来源: github/gitignore/Unity.gitignore @356fd7b (2026-09-11) · CC0-1.0