# Garrack Gaming Studios: Getting started

Welcome to the studio. This file sets up a complete working environment on a Windows PC.
It is written so that Claude Code (or another coding agent) can read it and walk you
through every step in the terminal. You can also follow it by hand.

How to use it: open PowerShell in your developer folder, start Claude Code on the studio's
standard model and reasoning setting, and say the sentence below.

    claude --model claude-opus-5-5 --effort medium
    Read GettingStarted.md and walk me through it step by step.

Before you start you need: a Windows 10 or 11 PC (64-bit), your invitation to the
studio Google Workspace (an @garrackgaming.com address), and a Claude account with the
Pro plan for Claude Code. That plan is 20 US dollars a month and is the only cost to get
started; every other tool in this file is free to start using. Sign up at
https://claude.ai if you do not have one yet.

---

## Instructions for the agent

You are helping a new studio member set up their PC. Follow these rules for the whole session.

1. Work through the steps **in order**. Before each step, say in one or two plain sentences what it does and why, then run it.
2. **Check before you install.** Every step has a check command. If the check passes, say so and skip the install.
3. Ask before anything that costs money, opens an account, or needs an administrator window. Never ask the person to type passwords, codes or keys into the chat.
4. Use PowerShell commands the person can copy. Prefer `winget` for installs. Do not install anything not listed here without asking.
5. If a command fails, read the **If you get stuck** notes for that step, try the fix once, and if it still fails tell the person exactly what happened and move on to the next step that does not depend on it. Keep a list of skipped steps for the end.
6. Several installs change PATH. When a new tool is "not recognized", tell the person to **close PowerShell, open a new one, and start `claude` again**, then continue from the current step. The step numbers make that easy.
7. Write plainly. No em dashes or double dashes. Short sentences.
8. At the end, run the final checklist in step 12 and show the person the result table and anything that was skipped.

The developer folder is called **Dev** in this file. If the person wants another name, use theirs everywhere.

---

## Step 0. Where we are

Check:

    $PSVersionTable.PSVersion
    (Get-CimInstance Win32_OperatingSystem).Caption, (Get-CimInstance Win32_OperatingSystem).Version
    Get-Location
    Get-PSDrive -PSProvider FileSystem | Select-Object Name, @{n="FreeGB";e={[math]::Round($_.Free/1GB)}}

What we want:

- Windows 10 build 19045 or newer, or Windows 11. Older builds should run Windows Update first (step 1).
- About 60 GB free on the drive that will hold the Dev folder (Unity alone is 15 to 25 GB).
- A home for everything. Every tool and project in this guide, and all future agent work, lives in one developer folder. Pick a drive with plenty of free space. Any name works; we suggest Dev to keep it simple. If the current folder is not that folder yet, create it and move there:

      New-Item -ItemType Directory -Force D:\Dev | Out-Null
      Set-Location D:\Dev

  Use `C:\Dev` if there is no D: drive. Never put the Dev folder inside OneDrive, Documents or Desktop. Those folders sync and lock files, which breaks Git and Unity.

If you get stuck: if PowerShell shows version 5.x that is fine for now, step 2 installs PowerShell 7. If the drive is nearly full, stop and tell the person before installing Unity.

---

## Step 1. Windows Update, winget and developer settings

Check:

    winget --version
    Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" | Select-Object DisplayVersion, CurrentBuild

Do:

1. Open Windows Update and install everything, including optional driver updates, and reboot if it asks. The command below opens the settings page; the person clicks **Check for updates**.

       Start-Process ms-settings:windowsupdate

2. Make sure App Installer (which provides `winget`) is current:

       Start-Process ms-windows-store://pdp/?productid=9NBLGGH4NNS1

   Click **Update** if offered. Then in a new PowerShell confirm `winget --version` prints a version.

3. Turn on long paths, which Unity projects and Git both need. This needs an administrator PowerShell, so ask first:

       Start-Process powershell -Verb RunAs -ArgumentList '-NoProfile -Command "New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name LongPathsEnabled -Value 1 -PropertyType DWord -Force; Write-Host done; Start-Sleep 2"'

4. Update everything winget already manages (safe, can take a few minutes):

       winget upgrade --all --accept-source-agreements --accept-package-agreements

If you get stuck: `winget` not recognized means App Installer is missing or old. Install it from the Microsoft Store link above, or download it from https://aka.ms/getwinget and double-click. If Windows Update keeps failing, note it and continue; nothing below strictly needs the newest build except Claude Code, which needs Windows 10 version 1809 or newer.

---

## Step 2. PowerShell 7 and Windows Terminal

Check:

    pwsh --version
    Get-Command wt -ErrorAction SilentlyContinue

Install:

    winget install --id Microsoft.PowerShell --source winget --accept-package-agreements
    winget install --id Microsoft.WindowsTerminal --source winget --accept-package-agreements

Then: close this window, open **Windows Terminal** from the Start menu, and it will use PowerShell 7 by default (the prompt shows `PS` and `pwsh --version` prints 7.x). Start `claude` again from the Dev folder and continue at step 3.

If you get stuck: if Windows Terminal is already installed from the Store, winget may say "already installed" and that is fine. If `pwsh` is still not found after reopening, sign out of Windows and back in.

---

## Step 3. Git and Git LFS

Check:

    git --version
    git lfs version

Install:

    winget install --id Git.Git --source winget --accept-package-agreements
    winget install --id GitHub.GitLFS --source winget --accept-package-agreements

Then, in a new PowerShell window, set the identity Git will sign commits with. Use the studio address:

    git config --global user.name "First Last"
    git config --global user.email "you@garrackgaming.com"
    git config --global init.defaultBranch main
    git config --global core.longpaths true
    git config --global core.autocrlf true
    git lfs install

Ask the person for the exact name and address before running those; do not guess.

If you get stuck: if `git lfs` says "not a git command", reopen the terminal. If winget cannot find `GitHub.GitLFS`, Git for Windows 2.40 and newer already bundle LFS, so `git lfs version` may pass without it.

---

## Step 4. GitHub account and the GitHub CLI

Check:

    gh --version
    gh auth status

Install:

    winget install --id GitHub.cli --source winget --accept-package-agreements

Account:

1. If the person has no GitHub account, open https://github.com/signup in the browser. They can use their personal or studio email; the username is what matters to us. Turn on two-factor authentication in GitHub settings; the org requires it.
2. Sign the CLI in (opens the browser, person completes it there):

       gh auth login --hostname github.com --git-protocol https --web

3. Print the username and ask the person to send it to support@garrackgaming.com so they can be invited to the GarrackGamingStudios organization:

       gh api user -q .login

4. The invitation arrives by email and also shows at https://github.com/orgs/GarrackGamingStudios/invitation. Once accepted, this should list the org:

       gh org list

We do not clone the studio game repo in this guide. That happens later, when the person takes their first task; the task scripts in the repo handle it.

If you get stuck: if the browser login loops, run `gh auth login` again and choose "Paste an authentication token" only if we have given one (we normally have not). If `gh org list` does not show the org yet, the invite has not been accepted or not been sent; continue and check later.

---

## Step 5. Python, uv and Node.js

The studio scripts use Python, the Blender and Unity agent bridges run through uv, and Mr. Mak Workspace and the Codex CLI use Node.js.

Check:

    python --version
    uv --version
    node --version
    npm --version

Install:

    winget install --id Python.Python.3.13 --source winget --accept-package-agreements
    winget install --id astral-sh.uv --source winget --accept-package-agreements
    winget install --id OpenJS.NodeJS.LTS --source winget --accept-package-agreements

Reopen the terminal afterwards. Python should print 3.13.x, uv any version, and Node 22.20 or newer (Mr. Mak needs at least 22.20).

If you get stuck: if `python` opens the Microsoft Store instead of printing a version, turn off the two "python" entries under Settings, Apps, Advanced app settings, App execution aliases, then reopen the terminal. If Node is older than 22.20, run `winget upgrade --id OpenJS.NodeJS.LTS`. If `uv` is not found after reopening, install it with `irm https://astral.sh/uv/install.ps1 | iex` and reopen once more.

---

## Step 6. Claude Code (already running) and the Codex CLI

Claude Code is what is reading this file, so it is installed. Confirm it is current:

    claude --version
    claude update

The studio standard is Opus 5.5 on medium reasoning. Starting Claude with `claude --model claude-opus-5-5 --effort medium` sets both for the session. To keep that choice for later sessions, type `/model` inside Claude and pick Opus 5.5; the effort flag can be left in a shortcut or typed each time.

Codex is the second agent the studio uses. It is optional on day one, but Mr. Mak's voice features need it. It signs in with a ChatGPT account.

Check:

    codex --version

Install:

    npm install -g @openai/codex
    codex login

The login opens a browser. If the person does not have a ChatGPT account they can skip Codex for now; note it as skipped.

If you get stuck: if `claude` ever disappears after a PATH change, reinstall with `irm https://claude.ai/install.ps1 | iex` in a new PowerShell. If `npm install -g` fails with EACCES or a path error, run `npm config get prefix` and make sure that folder is on PATH after reopening the terminal.

---

## Step 7. Google Workspace sign-in and Drive

The person should already have accepted the invite to their @garrackgaming.com account. In the browser:

1. Sign in at https://workspace.google.com/dashboard with the studio address. Set a strong password and turn on 2-Step Verification when prompted (the studio requires it).
2. Open https://chat.google.com and say hello in the **Garrack Studio** space. That is the team chat. If it is not listed, use Browse spaces and join it.
3. Open https://calendar.google.com. The **Garrack Studio** calendar is shared with everyone in the Workspace; planning sessions and playtests are on it. Tick it under Other calendars if it is hidden.
4. Install Google Drive for desktop and mount the shared drive as W:. Everyone on the team uses W: so paths in docs and chat match:

       winget install --id Google.GoogleDrive --source winget --accept-package-agreements

   Start Google Drive and sign in with the studio account. Then click the Drive icon in the system tray, the gear, Preferences, the Google Drive tab, choose Stream files, and under Drive letter pick W. Save. W: appears in File Explorer and the team drive is at W:\Shared drives\Studio Main.
5. Open W:\Shared drives\Studio Main\README.md and read how the folders are organized. Then make a folder with the person's name inside 09_Team_Folders.

Check:

    Test-Path "W:\Shared drives\Studio Main\README.md"

Keep the Dev folder and every Unity or Blender project out of Drive.

If you get stuck: if the invite email cannot be found, search the inbox for "garrackgaming.com" or ask support@garrackgaming.com to resend it. If W is already taken by another drive on the PC, pick V instead and say so in chat. If Drive for desktop mounted as G: before the letter was changed, quit Drive from the tray icon and start it again. If 2-Step Verification asks for a phone and the person prefers not to use one, an authenticator app works.

---

## Step 8. Mr. Mak Workspace

Mr. Mak is the desktop app the studio uses to run several agent chats side by side, with a visual Workspace and phone access. It is a GitHub template: each person gets their own copy.

Check:

    Test-Path "$HOME\AppData\Local\Programs\Mr. Mak Workspace"
    Test-Path D:\Dev\mr-mak-workspace\workspace\workspace.json

Do:

1. Create the person's own repository from the template and clone it next to the Dev folder's other projects. Use their GitHub username; keep it private:

       gh repo create mr-mak-workspace --template witnesstodark/mr-mak-workspace --private --clone
       Set-Location mr-mak-workspace
       npm ci

2. Install the desktop app for the current user from the latest release (Windows x64 installer). This downloads the setup file into the Downloads folder and starts it:

       gh release download --repo witnesstodark/mr-mak-workspace --pattern "*windows-x64-setup.exe" --dir $HOME\Downloads --clobber
       Start-Process (Get-ChildItem $HOME\Downloads\Mr-Mak-Workspace-*windows-x64-setup.exe | Sort-Object LastWriteTime | Select-Object -Last 1).FullName

   Follow the installer. It installs for the current Windows user and adds WebView2 if missing. No administrator window needed.

3. Start the app from the cloned folder so it remembers the repository:

       Start-Process "D:\Dev\mr-mak-workspace\Start Mr. Mak.cmd"

   Two windows open: **Chats** and **Workspace**. In Chats press **+**, choose Claude Code, give the chat a title, and pick the mr-mak-workspace folder as the working folder. The person is now running Claude from inside Mr. Mak with the same account.

4. Phone access (optional, later): install Tailscale on the PC and the phone with the same account, then use the phone button in Chats to pair. The repository's `docs/mobile-access.md` has the details.

If you get stuck: if `gh repo create --template` says the name exists, pick another name or clone the existing one with `gh repo clone <user>/mr-mak-workspace`. If `npm ci` fails on Node version, go back to step 5. If the app opens but shows an empty Workspace, open its folder picker and choose the folder that contains `workspace\workspace.json`.

---

## Step 9. Blender and the Blender agent bridge

Blender is required for artists and animators. Developers install it too if they have the disk space, because the agent bridge below lets Claude build and inspect scenes for them.

Check:

    winget list --id BlenderFoundation.Blender
    claude mcp list

Install:

    winget install --id BlenderFoundation.Blender --source winget --accept-package-agreements

Any current 4.x LTS is fine; the studio will pin an exact version once the shared project exists. Set Blender's unit scale to meters so exports match Unity (Scene properties, Units, Unit Scale 1.0, Length Meters).

Blender agent bridge (MCP for Blender). This lets Claude Code talk to a running Blender: create objects, apply materials, inspect the scene. Needs uv from step 5.

1. Install the Blender add-on from PowerShell (uv downloads the bridge on first run):

       uvx mcp-for-blender install-addon

2. Open Blender. Edit, Preferences, Add-ons, search for **MCP for Blender** and tick it to enable.
3. In the 3D viewport press **N** to open the sidebar, open the **MCP for Blender** tab, and click **Start MCP Server**. Leave that Blender window open whenever you want Claude to use it.
4. Register the bridge with Claude Code (one time, from any folder):

       claude mcp add blender -- uvx mcp-for-blender

5. Confirm: `claude mcp list` shows `blender`. In a Claude chat, ask "what is in my Blender scene" with the default cube open; it should describe the cube.

If you get stuck: if Blender will not start, update the GPU driver through the maker's tool (GeForce Experience, AMD Software, Intel Arc Control) and try again. If `install-addon` cannot find Blender, download `addon.py` from https://github.com/ahujasid/blender-mcp and use Install in the Add-ons preferences. If Claude says the bridge is not connected, check that **Start MCP Server** is running in Blender and that only one MCP client (Claude Code, not also Claude Desktop) is using it.

---

## Step 10. Unity Hub and Unity 6.3 LTS (developers)

We build in **Unity 6.3 LTS** (versions look like 6000.3.x). The shared studio project arrives in Phase 2; until then everyone works in a personal sandbox.

Check:

    Test-Path "C:\Program Files\Unity Hub\Unity Hub.exe"
    Get-ChildItem "C:\Program Files\Unity\Hub\Editor" -ErrorAction SilentlyContinue | Select-Object Name

Install the Hub:

    winget install --id Unity.UnityHub --source winget --accept-package-agreements

Then in the Hub (this part is clicking, guide the person through it):

1. Sign in with a Unity ID (create one at the prompt). Choose the free **Personal** license.
2. **Installs**, **Install Editor**, pick the newest **Unity 6.3 LTS** (6000.3.x).
3. Modules to tick: **Microsoft Visual Studio Community 2022** (unless they already have a C# editor), **Windows Build Support (IL2CPP)**, **Linux Dedicated Server Build Support**. Documentation optional. Let it install; this takes a while.
4. If they use VS Code instead of Visual Studio: `winget install --id Microsoft.VisualStudioCode --source winget`, install the C# Dev Kit extension, and set it under Edit, Preferences, External Tools in Unity.

Once installed, tell the person to write the exact editor version (for example 6000.3.4f1) in the team chat.

If you get stuck: the Hub can be slow to show the LTS list; use the **Archive** tab link to the Unity download archive and choose 6000.3 from there. If the editor install fails on disk space, free the drive or install the editor to another drive from the Hub's Installs, Locations setting.

---

## Step 11. Your Unity sandbox project

Create a personal project to learn in and to build your own ideas while the studio's design is being planned.

In the Hub: **Projects**, **New project**, template **Universal 3D**, name it after yourself or your idea, location the Dev folder (for example `D:\Dev\my-sandbox`). Create.

Then put it in Git from day one. In PowerShell, inside the project folder:

    Set-Location D:\Dev\my-sandbox
    git init -b main
    git lfs install
    Invoke-WebRequest https://raw.githubusercontent.com/github/gitignore/main/Unity.gitignore -OutFile .gitignore
    git add .gitignore
    git commit -m "Unity sandbox"

In Unity: Edit, Project Settings, Editor: **Asset Serialization: Force Text** and **Version Control: Visible Meta Files**. Optionally push to the person's own GitHub:

    gh repo create my-sandbox --private --source . --push

Unity agent bridge (MCP for Unity). This lets Claude Code read the scene, edit scripts, run tests and press Play in the editor. Needs uv from step 5 and Git on PATH from step 3.

1. In Unity: Window, Package Manager, the **+** button, **Add package from git URL**, paste:

       https://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity#main

2. A setup wizard opens after import. Let it install what it asks for, then open Window, **MCP for Unity**. Use **Configure All Detected Clients** so it registers itself with Claude Code, and start the server from that window if it is not already running. The status panel should read **Connected**.
3. Confirm from PowerShell: `claude mcp list` shows the Unity entry. If the wizard did not register it, add it by hand:

       claude mcp add --transport http unityMCP http://localhost:8080/mcp

4. Optional command line for the same bridge: the package ships a `unity-mcp` CLI. From the project folder, find the package's `Server` folder under `Library\PackageCache` (its name starts with `com.coplaydev.unity-mcp`), open PowerShell there and run `uv pip install -e .`. Then `unity-mcp status` reports the connection and `unity-mcp gameobject find "Main Camera"` finds objects while the editor is open.

Each new Unity project needs the package added again; the Claude registration is global.

Good first things to build: a character that runs and jumps on a greybox level, a capture point that fills when a player stands on it, a simple lobby. Unity Learn's free Essentials and Junior Programmer paths are solid. When ready for multiplayer, add **Netcode for GameObjects** and **Multiplayer Play Mode** from the Package Manager; the studio builds dedicated-server, server-authoritative games.

---

## Step 12. Final checklist

Run this and show the person the table. Anything marked missing that was intentionally skipped is fine; list it under "Skipped".

    $checks = [ordered]@{
      "PowerShell 7" = { pwsh --version }
      "Git"          = { git --version }
      "Git LFS"      = { git lfs version }
      "GitHub CLI"   = { gh --version | Select-Object -First 1 }
      "GitHub login" = { gh api user -q .login }
      "Python"       = { python --version }
      "uv"           = { uv --version }
      "Node.js"      = { node --version }
      "Claude Code"  = { claude --version }
      "Codex CLI"    = { codex --version }
      "Drive W:"     = { if (Test-Path "W:\Shared drives\Studio Main\README.md") { "mounted" } else { throw } }
      "Mr. Mak repo" = { if (Test-Path D:\Dev\mr-mak-workspace\workspace\workspace.json) { "cloned" } else { throw } }
      "Unity Hub"    = { if (Test-Path "C:\Program Files\Unity Hub\Unity Hub.exe") { "installed" } else { throw } }
      "Blender"      = { (winget list --id BlenderFoundation.Blender | Select-String Blender) -ne $null }
      "Blender MCP"  = { (claude mcp list | Select-String blender) -ne $null }
      "Unity MCP"    = { (claude mcp list | Select-String -Pattern "unity" -CaseSensitive:$false) -ne $null }
    }
    foreach ($k in $checks.Keys) {
      try { $v = & $checks[$k] 2>$null; if (-not $v) { throw }; "{0,-14} ok   {1}" -f $k, ($v | Out-String).Trim() }
      catch { "{0,-14} missing" -f $k }
    }

Then point the person at the studio:

- The board at https://studio.garrackgaming.com/board (sign in with the studio Google account) is where tasks, plans and comments will live. Right now it is a shell while the project scope is planned; have a look around, no action needed.
- The team Getting started page at https://studio.garrackgaming.com/team/getting-started.html has the same material as this file in web form.
- The Projects and People pages on the team board show every project, and a profile for each member with points, titles and the two documents to sign. Your own profile is under People once you have been added.
- Questions go to the team chat or support@garrackgaming.com.
- From now on, open Mr. Mak Workspace agents with the Dev folder as the working folder. Start a test game of your own in the personal sandbox to learn the tools while the first planning sessions are scheduled.

Welcome aboard.
