Skip to content

Instantly share code, notes, and snippets.

@webbertakken
Last active May 14, 2025 00:12
Show Gist options
  • Save webbertakken/ff250a0d5e59a8aae961c2e509c07fbc to your computer and use it in GitHub Desktop.
Save webbertakken/ff250a0d5e59a8aae961c2e509c07fbc to your computer and use it in GitHub Desktop.
.gitattributes for Unity projects
#
# Git attributes for Unity projects
#
# Compiled by the GameCI community under the MIT license - https://game.ci
#
# Latest version at https://gist.github.com/webbertakken/ff250a0d5e59a8aae961c2e509c07fbc
#
# Ensure that text files that any contributor introduces to the repository have their line endings normalized
* text=auto
# Increase probability of success for merging files with specific extensions
*.cs diff=csharp
# Macro attribute: Files with Unity's yaml format
# linguist-generated means the file is ignored for the repository's language statistics and diffs are hidden by default.
[attr]unity-yaml-file -text merge=unityyamlmerge linguist-generated
# Macro attribute: Files intended for LFS
[attr]lfs-file filter=lfs diff=lfs merge=lfs -text
# Unity files
*.asmdef unity-yaml-file -linguist-generated
*.anim unity-yaml-file
*.asset unity-yaml-file
*.brush unity-yaml-file
*.controller unity-yaml-file
*.flare unity-yaml-file
*.fontsettings unity-yaml-file
*.giparams unity-yaml-file
*.guiskin unity-yaml-file
*.mask unity-yaml-file
*.mat unity-yaml-file
*.meta unity-yaml-file
*.mixer unity-yaml-file
*.overrideController unity-yaml-file
*.physicMaterial unity-yaml-file
*.physicsMaterial2D unity-yaml-file
*.playable unity-yaml-file
*.prefab unity-yaml-file
*.preset unity-yaml-file
*.renderTexture unity-yaml-file
*.shadervariants unity-yaml-file
*.spriteatlas unity-yaml-file
*.terrainlayer unity-yaml-file
*.unity unity-yaml-file
# Unity binary files
*.bundle lfs-file
*.cubemap lfs-file
*.unitypackage lfs-file
# Unity specific assets
*-[Nn]av[Mm]esh.asset lfs-file
*-[Tt]errain.asset lfs-file
*LightingData.asset lfs-file
*OcclusionCullingData.asset lfs-file
# Creative software
*.rns lfs-file
*.reason lfs-file
*.lxo lfs-file
*.exr lfs-file
# Documents
*.pdf lfs-file
# Image formats
*.afdesign lfs-file
*.afphoto lfs-file
*.ai lfs-file
*.bmp lfs-file
*.dds lfs-file
*.jpg lfs-file
*.gif lfs-file
*.iff lfs-file
*.pict lfs-file
*.png lfs-file
*.psd lfs-file
*.svg lfs-file
*.tga lfs-file
*.tiff lfs-file
*.webp lfs-file
# Audio formats
*.aif lfs-file
*.aiff lfs-file
*.it lfs-file
*.mod lfs-file
*.mp3 lfs-file
*.ogg lfs-file
*.s3m lfs-file
*.wav lfs-file
*.xm lfs-file
# Video formats
*.mov lfs-file
*.avi lfs-file
*.asf lfs-file
*.mpg lfs-file
*.mpeg lfs-file
*.mp4 lfs-file
# 3D formats
*.3ds lfs-file
*.3dm lfs-file
*.abc lfs-file
*.blend lfs-file
*.c4d lfs-file
*.dae lfs-file
*.dfx lfs-file
*.FBX lfs-file
*.fbx lfs-file
*.glb lfs-file
*.gltf lfs-file
*.lwo lfs-file
*.lwo2 lfs-file
*.lxo lfs-file
*.obj lfs-file
*.ma lfs-file
*.max lfs-file
*.mb lfs-file
# Font formats
*.ttf lfs-file
*.otf lfs-file
# Bundles and binaries
*.dll lfs-file
*.exe lfs-file
*.mdb lfs-file
*.pdb lfs-file
*.so lfs-file
# Packaging
*.zip lfs-file
*.7z lfs-file
*.gz lfs-file
*.rar lfs-file
*.tar lfs-file
@jorelosorio
Copy link

I am not very well know but I think *.asmdef unity-yaml-file -linguist-generated could be changed to *.asmdef unity-yaml-file in https://gist.github.com/webbertakken/ff250a0d5e59a8aae961c2e509c07fbc#file-gitattributes-L23

@webbertakken
Copy link
Author

webbertakken commented Nov 26, 2024

@jorelosorio thank you very much for your comment! What you're suggesting would hide changes in assembly definition files in pull requests. Is that what you would argue should happen?

Rationale from my side: When I added it I thought it would be helpful to see changes in assembly definitions as they can easily break builds for other people locally or in CI - and therefor might be important to manually review.

@jorelosorio
Copy link

@webbertakken your rationale makes sense, thanks for the explanation.

@Gil-1
Copy link

Gil-1 commented Apr 16, 2025

I made an update for this line :
*OcclusionCullingData.asset lfs-file
And added that one after
*LightingData.asset lfs-file

I have had a project with a 120mo LightingData.asset file.
Does that make sense ?

@webbertakken
Copy link
Author

@Gil-1 thank you very much for your comment! I've adopted your changes in this gist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment