# 2. Create Workspace — Plastic vs Gluon Part of [[UVCS]]. Previous: [[1. Dashboard Org and Editor Connect]]. Next: [[3. Checkin Pending Changes and ignore.conf]]. **Docs:** [Set up a workspace](https://docs.unity.com/en-us/unity-version-control/workflow/create-workspace) · [How to get started](https://unity.com/how-to/redeem/version-control) · Gluon workflow index: https://docs.unity.com/en-us/unity-version-control/gluon/work-version-control ## 2.1 Repository vs workspace | | Repository | Workspace | |---|---|---| | Where | Cloud / server (org-scoped) | Your machine | | Contains | History, branches, changesets | Working files you edit | | Analogy (rough) | Git remote + full history service | Git working tree (+ UVCS metadata) | Multiple workspaces can target one repository (different branches, different machines, artist vs engineer layouts). Hub docs explicitly cover "different workspaces for different projects in the same repository." ## 2.2 Create workspace from the Editor (typical first path) From Unity's how-to: 1. Open the **Unity Version Control** window after sign-in / org setup. 2. Click **Create workspace**. 3. UVCS suggests names for: - **Repository** — shared files and history - **Workspace** — local copy 4. To attach an **existing** repository instead, use the **⋮** next to the repo name and pick from the list. 5. Choose workspace **type** (see next section). 6. Confirm creation — UVCS creates local workspace metadata and prepares Pending changes. Desktop GUI alternative ([create workspace](https://docs.unity.com/en-us/unity-version-control/workflow/create-workspace)): 1. Repository dropdown → **Open or create other workspace** 2. **Create a new workspace** 3. Select repository, name workspace, choose disk location → **Create** CLI sketch (same doc; server/repo names are examples from Unity's page — replace with yours): ```bash cm workspace create MyGame_wk "D:\Workspaces\MyGame" --repository=MyGame@your-server cd /d "D:\Workspaces\MyGame" cm status cm status --head cm update ``` > [!warning] Unverified on Enceladus > `cm` CLI paths, installer location, and cloud server DNS were **not** run here. Install the UVCS desktop client first; `cm` comes with it. ## 2.3 Plastic vs Gluon — same repo, different clients Unity designed UVCS so **one repository** can serve two workflows ([how-to](https://unity.com/how-to/redeem/version-control)): | Workspace / client | Aimed at | Strengths | |---|---|---| | **Plastic** (distributed-style) | Programmers | Full branch / merge / push-pull style workflows, Branch Explorer, deep history tools | | **Gluon** (centralized-style) | Artists | Partial download, lock-centric edit, simpler submit loop | Both talk to the same UVCS backend. Engineers are not "banned" from Gluon and artists are not banned from Plastic — pick the **UX** that matches the day's work. See also [[5. Clients and UVCS Comparison]]. **Practical teaching default** - Marshall / code-heavy class projects evaluating UVCS → start on **Plastic** workspace so branch demos match part 4. - Guest artist week / heavy FBX churn → create a **Gluon** workspace against the same repo and teach checkout + lock + checkin. ## 2.4 Dynamic workspaces (Windows, large trees) UVCS docs note that on Windows with huge file counts you may enable **dynamic workspaces** so you are not forced to download every file up front ([create workspace](https://docs.unity.com/en-us/unity-version-control/workflow/create-workspace)). Treat this as an advanced toggle — profile disk / VPN reality before requiring it for students. ## 2.5 Hub + nested projects If teammates were invited to a repo that is **not** a Unity project at the root (no `ProjectSettings/ProjectVersion.txt`): 1. Install UVCS desktop client. 2. Download / update the workspace there. 3. Hub → **Add > Add project from disk** pointing at the nested Unity project folder. Encrypted repositories likewise require the desktop client + encryption key before Hub **Add project from disk** ([Hub docs](https://docs.unity.com/en-us/unity-version-control/get-started-vcs-hub)). ## 2.6 Do not mix "two sources of truth" If the project is already a healthy Git + GitHub repo ([[Version Control]]), do **not** casually initialize UVCS on the same working copy as a second primary remote without a migration plan. UVCS↔Git bridges exist for migration ([Migrating from Git](https://docs.unity.com/en-us/unity-version-control/migrating-from-git) — linked from part 5 of the Git series) but they are projects, not toggles. Pick one primary VCS for the semester. ## Next [[3. Checkin Pending Changes and ignore.conf]] — first Changeset and the ignore list Unity recommends.