From c2f369e8080edf0cccb435f03ef40cc8cf79d5d6 Mon Sep 17 00:00:00 2001 From: Mattia Trapani Date: Fri, 19 Dec 2025 15:33:46 +0100 Subject: [PATCH] Added modern .gitignore and .gitattributes --- .gitattributes | 158 +++++++++++++++++++++++++++++++++++++++++++++++++ .gitignore | 87 +++++++++++++++++++-------- README.md | 3 +- 3 files changed, 222 insertions(+), 26 deletions(-) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..aa9d612 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,158 @@ +# Define macros (makes the file cleaner) +[attr]lfs filter=lfs diff=lfs merge=lfs -text +[attr]unity-json eol=lf linguist-language=json +[attr]unity-yaml merge=unityyamlmerge eol=lf linguist-language=yaml + +# Unity source files (Text) +*.cs text diff=csharp +*.cginc text +*.compute text linguist-language=hlsl +*.hlsl text linguist-language=hlsl +*.raytrace text linguist-language=hlsl +*.shader text + +# Unity JSON files (Force LF line endings, syntax highlighting) +*.asmdef unity-json +*.asmref unity-json +*.index unity-json +*.inputactions unity-json +*.shadergraph unity-json +*.shadersubgraph unity-json +packages-lock.json unity-json linguist-generated + +# Unity UI Toolkit files +*.tss text diff=css linguist-language=css +*.uss text diff=css linguist-language=css +*.uxml text linguist-language=xml linguist-detectable + +# Unity YAML files (Smart Merge enabled) +*.anim unity-yaml +*.asset unity-yaml +*.brush unity-yaml +*.controller unity-yaml +*.flare unity-yaml +*.fontsettings unity-yaml +*.giparams unity-yaml +*.guiskin unity-yaml +*.lighting unity-yaml +*.mask unity-yaml +*.mat unity-yaml +*.meta unity-yaml +*.mixer unity-yaml +*.overrideController unity-yaml +*.physicMaterial unity-yaml +*.physicsMaterial2D unity-yaml +*.playable unity-yaml +*.prefab unity-yaml +*.preset unity-yaml +*.renderTexture unity-yaml +*.scenetemplate unity-yaml +*.shadervariants unity-yaml +*.signal unity-yaml +*.spriteatlas unity-yaml +*.spriteatlasv2 unity-yaml +*.terrainlayer unity-yaml +*.unity unity-yaml + +# Exclude third-party plugins from GitHub language stats +Assets/Plugins/** linguist-generated + +# ------------------------------------------------------------------------- +# LFS (LARGE FILE STORAGE) +# ------------------------------------------------------------------------- + +# Unity Specific Binary +*.cubemap lfs +*.unitypackage lfs +LightingData.asset binary + +# 3D Models +*.3dm lfs +*.3ds lfs +*.3DS lfs +*.abc lfs +*.blend lfs +*.blend1 lfs +*.c4d lfs +*.collada lfs +*.dae lfs +*.dxf lfs +*.fbx lfs +*.FBX lfs +*.jas lfs +*.lws lfs +*.lxo lfs +*.ma lfs +*.max lfs +*.mb lfs +*.obj lfs +*.ply lfs +*.skp lfs +*.stl lfs +*.ztl lfs + +# Audio +*.aif lfs +*.aiff lfs +*.it lfs +*.mod lfs +*.mp3 lfs +*.ogg lfs +*.s3m lfs +*.wav lfs +*.xm lfs + +# Video +*.asf lfs +*.avi lfs +*.flv lfs +*.mov lfs +*.mp4 lfs +*.mpeg lfs +*.mpg lfs +*.ogv lfs +*.wmv lfs + +# Images & Textures +*.bmp lfs +*.exr lfs +*.gif lfs +*.hdr lfs +*.iff lfs +*.jpeg lfs +*.jpg lfs +*.pict lfs +*.png lfs +*.psd lfs +*.tga lfs +*.tif lfs +*.tiff lfs +*.webp lfs + +# Design Source Files (Imported from asd.gitattributes) +*.ai lfs +*.afdesign lfs +*.afphoto lfs +*.psb lfs +*.sketch lfs + +# Compressed Archives +*.7z lfs +*.bz2 lfs +*.gz lfs +*.rar lfs +*.tar lfs +*.zip lfs + +# Executables & Libs +*.apk lfs +*.dll lfs +*.exe lfs +*.pdb lfs +*.so lfs +*.a lfs + +# Documents +*.pdf lfs +*.doc lfs +*.docx lfs diff --git a/.gitignore b/.gitignore index ee7c00e..0f3aa51 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,6 @@ -# ---> Unity -# 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 -# +# Core Unity ignores +# .utmp is used by newer Unity versions/packages +.utmp/ /[Ll]ibrary/ /[Tt]emp/ /[Oo]bj/ @@ -10,27 +8,38 @@ /[Bb]uilds/ /[Ll]ogs/ /[Uu]ser[Ss]ettings/ +*.log -# MemoryCaptures can get excessive in size. -# They also could contain extremely sensitive data +# ------------------------------------------------------------------------- +# ART & ASSETS +# ------------------------------------------------------------------------- + +# Blender: ignore backup files (*.blend1), but keep *.blend +*.blend1 +*.blend1.meta + +# MemoryCaptures and Recordings can be massive and contain 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* +# ------------------------------------------------------------------------- +# IDEs & EDITORS +# ------------------------------------------------------------------------- -# Visual Studio cache directory +# Jetbrains Rider +/[Aa]ssets/Plugins/Editor/JetBrains* +*.DotSettings.user + +# Visual Studio .vs/ -# Gradle cache directory +# Gradle (Android builds) .gradle/ -# Autogenerated VS/MD/Consulo solution and project files +# Auto-generated project files (VS/MD/Consulo/Rider) ExportedObj/ .consulo/ *.csproj @@ -48,27 +57,55 @@ ExportedObj/ *.opendb *.VC.db -# Unity3D generated meta files +# Unity3D generated meta files for code/DLLs *.pidb.meta *.pdb.meta *.mdb.meta +# ------------------------------------------------------------------------- +# SYSTEM & CRASHES +# ------------------------------------------------------------------------- + # Unity3D generated file on crash reports sysinfo.txt -# Builds -*.apk -*.aab -*.unitypackage -*.app +# Mono auto generated files +mono_crash.* # Crashlytics generated file crashlytics-build.properties -# Packed Addressables -/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* +# ------------------------------------------------------------------------- +# BUILDS & OUTPUTS +# ------------------------------------------------------------------------- -# Temporary auto-generated Android Assets -/[Aa]ssets/[Ss]treamingAssets/aa.meta -/[Aa]ssets/[Ss]treamingAssets/aa/* +*.apk +*.aab +*.unitypackage +*.unitypackage.meta +*.app +# ------------------------------------------------------------------------- +# UNITY PACKAGES & MODULES +# ------------------------------------------------------------------------- + +# Addressables +# (File 1 had superior coverage here vs File 2's basic "aa" rule) +/ServerData +/[Aa]ssets/StreamingAssets/aa* +/[Aa]ssets/AddressableAssetsData/link.xml* +/[Aa]ssets/Addressables_Temp* +# Ignore content state binaries generated in platform-specific subfolders +/[Aa]ssets/AddressableAssetsData/*/*.bin* + +# Visual Scripting (Bolt/Unity Visual Scripting) +# These are auto-generated databases that should not be versioned +/[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 + +# TestRunner / Play Mode Tests +# Auto-generated scenes during test runs +InitTestScene*.unity* +/[Aa]ssets/[Ii]nit[Tt]est[Ss]cene*.unity* diff --git a/README.md b/README.md index d4d98d9..a36ae29 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ -# unity_template +# Modern Unity Template +Includes .gitignore and .gitattributes, with LFS support.