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