How do I track my project with version control?

I started my first project and my instinct is to begin tracking changes as I learn.
Is there a version control system that works well with Udon projects?

Version control is a unique challenge on unity projects in general. I have used quite a range of tools. I am partial to github, in fact I made a Udon specific .gitignore. Another tool you should look up is plastic, it is unity in house version control tool.

1 Like

Thank you so much! This is exactly what I was looking for.
Should I be wary of any assets that should be tracked via git-lfs?

# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
#
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/
/[..]Idea/

# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/

# Asset meta data should only be ignored when the corresponding asset is also ignored
!/[Aa]ssets/**/*.meta

# 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*

# Visual Studio cache directory
.vs/

# Gradle cache directory
.gradle/

# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.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 reports
sysinfo.txt

# Builds
*.apk
*.aab
*.unitypackage

# Crashlytics generated file
crashlytics-build.properties

# Packed Addressables
/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*

# Temporary auto-generated Android Assets
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*

# Asset ignoring
*.asset
*.json
*.cs
ProjectVersion.txt
*.meta
*.asmdef

# Include
!Assets/**

# VRChat related folder to be ignored
Assets/Udon/
Assets/VRChat Examples/
Assets/VRCSDK

# Popular editor scripts to be ignored, do not make your udon scripts here
Assets/Samples/
Assets/Bakery/
Assets/Editor/
Assets/Magic Light Probes/
Assets/UdonSharp/
Assets/Gizmos/UdonSharp/
Assets/CyanTrigger
Assets/CyanTriggerExamples
Assets/VRWorldToolkit/
Assets/Udon Starter Kit
Assets/USK Resources
Assets/VRCBilliardsCE

you can get away with most files with regular git, but very large textures, substance files, and background audio should not be tracked with regular git

1 Like