Open the project with Unity 6000.6.6f1 exactly (the version in ProjectSettings/ProjectVersion.txt); another
version rewrites project files and makes noisy diffs for everyone. Install Git LFS before cloning, set up the
UnityYAMLMerge driver once, then open any scene (even an empty one) and press Play: GameBootstrap builds the
whole game from code.
Steps
Unity 6000.6.6f1 through Unity Hub. Before opening, compare ProjectSettings/ProjectVersion.txt
(m_EditorVersion: 6000.6.6f1) with what you have installed. If you must open with a near version for a quick
look, never commit the ProjectVersion.txt change or the re-serialized assets.
.gitattributes sends images, models, audio, fonts and .dlls through LFS (*.png, *.fbx, *.blend, *.wav,
*.ttf, *.dll and more). Without LFS you get pointer files instead of assets.
UnityYAMLMerge (recommended). .gitattributes marks *.unity, *.prefab, *.asset, *.mat, *.anim,
*.controller and *.physicMaterial as merge=unityyamlmerge. Tell Git where the tool is, once:
Close the Editor before running anything headless (Testing): two Unity instances can’t open one project folder. Separate worktrees (the dev folder, HomeRunDerby-main, HomeRunDerby-batting, see Git and PRs) are separate project folders, each with its own Library/, so each can be open in its own Editor; the first open of a fresh worktree imports every asset.
Some Editor-only churn should never be committed (for example a re-saved demo material or ProjectVersion.txt from a
different editor). Check git status after opening the project and revert what you didn’t mean to change.
Library/, Temp/, Logs/, UserSettings/, Builds/ and IDE project files are git-ignored. .meta files must
always be committed with their asset.
The SteamSetup code comment says the Facepunch DLLs are not committed; on main they are, under
Assets/Plugins/Steamworks/ through LFS, and the define is already on.
Skybox/Procedural is added to Always Included Shaders on Editor load (SkyShaderInclude), which edits
ProjectSettings/GraphicsSettings.asset the first time.