Unity Setup

In short

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

  1. 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.
  2. Git and Git LFS, then clone and git lfs install:
    git clone https://github.com/gonzalezdan0315-sys/HomeRunDerby.git
    cd HomeRunDerby
    git lfs install
    .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.
  3. UnityYAMLMerge (recommended). .gitattributes marks *.unity, *.prefab, *.asset, *.mat, *.anim, *.controller and *.physicMaterial as merge=unityyamlmerge. Tell Git where the tool is, once:
    git config --global merge.unityyamlmerge.name "Unity SmartMerge"
    git config --global merge.unityyamlmerge.driver "'C:/Program Files/Unity/Hub/Editor/6000.6.6f1/Editor/Data/Tools/UnityYAMLMerge.exe' merge -p %O %B %A %A"
    The tool doesn’t depend on the exact editor version; any installed one works as the path.
  4. Unity Hub → Add → Add project from disk, pick the folder, open it, press Play.

Project settings that matter

SettingValue on mainWhy
Render pipelineURP (com.unity.render-pipelines.universal 17.6.0), assets in Assets/_Project/Settings/ (HomeRunDerby_URP.asset, HomeRunDerby_Renderer.asset)Tools → Home Run Derby → Set Up URP re-creates and assigns them and converts Built-in Standard materials to URP Lit. See Rendering.
Active Input HandlingBoth (activeInputHandler: 2), Input System 1.19.0SwingInput uses the new Input System for timestamped presses; menus still use the old Input class. See Controls.
Scripting define (Standalone)HOMERUNDERBY_STEAMCompiles SteamTransport. Tools → Home Run Derby → Steam → Enable Steam / Disable Steam adds or removes it. See Transports.
Steam pluginsAssets/Plugins/Steamworks/ (Facepunch.Steamworks.Win64.dll, steam_api64.dll, via LFS)Enable Steam checks they exist and writes steam_appid.txt (480, Spacewar test app). Steam must be running to use it.
Player versionbundleVersion: 1.0Also the “build version” in the co-op Hello; see Protocol Versions.

Gotchas

  • 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.