Skip to main content
Before you write a single line of code, this page gets you from a blank machine to a compilable project. It lists every tool you need, the accounts that matter, what you should already know, and — just as importantly — what you do not need to know before you can start contributing.
Pre-production — SET: 3D Edition has no playable build yet. You will compile, run tests, and explore the architecture, but there is no shippable game to launch. Features marked Planned describe intended behaviour, not working code.

Why this page exists

New contributors often lose hours to a mismatched Unity version, a missing Git LFS install, or a fruitless attempt to test multiplayer without a running Nakama server. This checklist prevents all three. Work through it top to bottom exactly once, then never again.

Key responsibilities

This page owns three outcomes for every new contributor:

Required software

Rider’s Unity integration understands .asmdef assembly boundaries out of the box. VS 2022 needs the Game Development with Unity workload plus the Unity extension installed separately.

Required accounts

Ask the project lead to add your GitHub account to the repository before you proceed.
You don’t need to be an expert in every area, but the following will make your first week significantly smoother. Essential (you’ll need these immediately):
  • C# fundamentals — classes, interfaces, generics, async/await
  • Unity basics — GameObjects, MonoBehaviours, the Inspector, scene management
Helpful (you’ll hit these quickly):
  • Clean Architecture concepts — dependency inversion, layer separation, programming to interfaces rather than concrete types
  • Basic reactive programming — what an Observable<T> is and how Subscribe() works. The project uses R3 by Cysharp; prior UniRx experience transfers directly
Only needed for specific areas:
  • Nakama SDK — only relevant for Infrastructure layer work (multiplayer, leaderboards, cloud save)
  • VContainer — the project’s DI container. The VContainer docs are short and readable; skim them before touching Bootstrap

What you do NOT need to know to start

  • Nakama server administration or deployment
  • Android app signing and release workflows
  • CI/CD pipeline configuration
  • Google Play Games Services SDK internals
Domain and Application layer work requires nothing beyond C# and Unity’s test runner. Start there.

Setup steps

1

Install Unity Hub and Unity 2022.3 LTS

Download Unity Hub and install it. From Hub, install Unity 2022.3 LTS and make sure to tick the Android Build Support module (which includes the Android SDK, NDK, and JDK). Leave the iOS module unticked — iOS is out of scope for v1.0.
2

Install Git and Git LFS

Install Git for your platform, then install Git LFS and run the one-time install command:
This registers the LFS hooks globally. You only run it once per machine.
3

Clone the repository and pull LFS objects

The git lfs pull step downloads all binary assets (textures, audio, etc.) that are tracked by LFS. Without it, those files will be small stub pointers instead of real data, and Unity will log import errors.
4

Open the project in Unity Hub

In Unity Hub, click Open → Add project from disk and select the cloned folder. Unity will import all packages and compile the project. The first import takes a few minutes.If Unity warns about a version mismatch, do not proceed — install the exact 2022.3 LTS version listed in the project’s ProjectVersion.txt file (ProjectSettings/ProjectVersion.txt).
5

Load the Bootstrap scene and press Play

Open Assets/_Project/Scenes/Bootstrap.unity and press Play. The project will compile and run. Because SET: 3D Edition is pre-production, you may see stub scenes or an empty Bootstrap flow rather than a polished main menu — that is expected. Single-player and Pass & Play modes are planned to run fully locally without a Nakama server; online multiplayer will require one.If you see compile errors instead, check the Common mistakes section below.
6

(Optional) Run Nakama for multiplayer development

If you’re working on Infrastructure layer features (online matchmaking, leaderboards, cloud save), you need a local Nakama server:
Then configure the server address in Assets/_Project/Data/nakama_config.json. Leave this step out entirely if you’re working on Domain or Application logic.
Domain and Application layer work requires no Unity runtime and no Nakama. You can write and run unit tests for SetValidator, Board, Deck, and GameSession entirely through Unity’s EditMode test runner — or even from a plain .NET test project. If Nakama isn’t running, simply ignore multiplayer-related test failures.

Implementation checklist

Before you consider your environment ready, confirm every item below:
  • Unity Hub installed and Unity 2022.3 LTS listed under Installs with Android Build Support module enabled
  • git lfs install run at least once on this machine (check with git lfs version)
  • Repository cloned and git lfs pull completed without errors
  • Project opens in Unity without compile errors (first import may take several minutes)
  • Bootstrap scene (Assets/_Project/Scenes/Bootstrap.unity) loads without console errors
  • IDE configured with Unity plugin and .asmdef awareness (Rider recommended)
  • Docker installed if you plan to work on Infrastructure/multiplayer features

Common mistakes

Common setup mistakes to avoid:
  • Forgetting git lfs pull — Unity will log import errors for every texture and audio file tracked by LFS. Always run git lfs pull immediately after cloning or switching branches.
  • Using the wrong Unity version — even a minor patch mismatch (e.g., 2022.3.10 vs 2022.3.45) can cause project upgrade dialogs that corrupt local settings. Match the version in ProjectSettings/ProjectVersion.txt exactly.
  • Trying to test multiplayer without Nakama running — online multiplayer features are planned to require a running Nakama server. Single-player and Pass & Play are planned to run fully offline; don’t block Domain or Application layer work on Nakama being available.
  • Adding the Android Build Support module after the fact — if you installed Unity 2022.3 LTS without Android Build Support, add it through Unity Hub’s Installs → Add Modules before opening the project.

Repo Tour

A guided walkthrough of every folder and assembly in the project.

First Tasks

Concrete starter work in the Domain layer — no Unity runtime required.

Architecture Overview

The four-layer Clean Architecture model and how the pieces fit together.

Engineering Standards

Naming conventions, formatting rules, and the PR checklist.