Ship Unity games on the Gully stack
One template, one SDK: Unity 6 LTS with Git LFS, Smart Merge and GameCI, plus the Gully Game SDK for Gully ID sign-in, Gully Chain reads, Gully Quests and Gully Pay. Five steps from a private repo to your first CI build.
Create a private repo from the template
Every Gully Studio game starts from gully-studio-unity-template and stays private: Asset Store content may ship inside a build but never as source (Unity Asset Store EULA). The hygiene CI fails a public repo.
gh repo create gully-labs/<game> --private --template gully-labs/gully-studio-unity-template --cloneNot on the gully-labs org yet? Email your GitHub username and you are added (open to every studio developer; the repo is private only because of the Asset Store EULA). Details: Getting started (opens in a new tab).
Git LFS and UnityYAMLMerge
Binaries (textures, models, audio, video) go to Git LFS; scenes and prefabs merge with Unity's Smart Merge. Run once per clone:
git lfs install && git lfs pull./Tools~/setup-merge-tool.sh # Windows: pwsh Tools~/setup-merge-tool.ps1Never commit Library/, Temp/, Obj/, Build/, Logs/ or UserSettings/; the template's .gitignore already excludes them.
Open with Unity 6 LTS
Unity Hub opens the editor pinned in ProjectSettings/ProjectVersion.txt (6000.0.58f1 today). Force Text serialization and Visible Meta Files are already set. On first open Unity generates the rest of ProjectSettings/ and Packages/packages-lock.json: commit both.
git add ProjectSettings Packages/packages-lock.json && git commit -m "Unity first open"Then set the product name and the bundle id xyz.gullystudio.<game> in Project Settings › Player.
Gully Game SDK (UPM)
The template already references the SDK. In another project, Package Manager › Add package from git URL, or pin it in Packages/manifest.json:
"xyz.gullylabs.gamesdk": "https://github.com/gully-labs/gully-game-sdk.git#v0.1.0"using GullyLabs.GameSdk;
// Gully Chain reads: public testnet RPC, or your Gully RPC key in production
var rpc = new JsonRpcClient();
long block = await rpc.BlockNumberAsync(); // chain 485590Turn on GameCI builds
Add the Unity licence secrets to the repo (never to files), then switch the Unity workflow on. Builds: Windows, Linux dedicated server, Android, WebGL.
gh secret set UNITY_EMAIL -R gully-labs/<game>
gh secret set UNITY_PASSWORD -R gully-labs/<game>
gh secret set UNITY_SERIAL -R gully-labs/<game> # or UNITY_LICENSE for a Personal .ulf
gh variable set UNITY_CI --body true -R gully-labs/<game>Next: Release and CI (opens in a new tab) and Store policy (opens in a new tab).
Where to go next
SDK and versions
Install by git URL, pick a tag, see CI runs of the package.
Projects & keys
The keys a game uses and where each one is issued.
Samples
Arcade quickstart, Sign in with Gully, pay per call, the template.
Docs
Multiplayer, offerwall, store policy, Asset Store licence rules.
(opens in a new tab)