with one click
unity-build-distribution
Unity Build & Distribution
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Unity Build & Distribution
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Unity ScriptableObject Architecture
Unity Shaders
Unity State Machines
Registers new C# files in resources/manifests/<system>.json (files array + tests.editmode/playmode list) and validates with just validate-registry. Use when creating any new script, adding a new game system, or fixing 'orphan file' CI failures. Trigger phrases: 'add to manifest', 'register file', 'new system', 'validate registry'. Key capabilities: exact JSON manifest format, ACTIVE/DEPRECATED/EXPERIMENTAL status, dependency declarations, test class name mapping for pre-push gating via resolve_module_tests.py. Do NOT use for modifying physics logic or editing game scripts unrelated to registration.
Unity Terrain & Track Creation for RC Racing
Unity Testing, Debugging & QA
| name | unity-build-distribution |
| description | Unity Build & Distribution |
Use this skill when configuring build settings, setting up IL2CPP/Mono backends, integrating with Steam, or building CI/CD pipelines for Unity game distribution.
| Mono | IL2CPP | |
|---|---|---|
| Build time | Fast | Slow (C++ compilation) |
| Runtime perf | Baseline | 1.5-3x faster |
| Binary size | Smaller | Larger |
| Decompilation | Easy (ILSpy) | Hard (native) |
| Console support | No | Required |
| Shipping? | Dev builds only | Mandatory for release |
Always ship IL2CPP. Use Mono only for fast iteration during development.
Set in Player Settings > Other Settings > C++ Compiler Configuration:
| Config | Use Case |
|---|---|
| Debug | Development builds with full debugging |
| Release | Shipping builds — optimized with crash diagnostics retained |
| Master | Maximum optimization — strips crash diagnostics, NOT recommended |
Use Release for shipping, not Master. Master removes diagnostic information needed to interpret crash reports. The performance difference is negligible.
Unity 6 replaces the old Build Settings with named Build Profile assets:
.asset files — commit them to version controlRecommended profiles:
| Profile | Purpose | Defines |
|---|---|---|
Demo.asset | Steam demo build | DEMO_BUILD |
Beta.asset | Beta testing | BETA_BUILD |
Release.asset | Full shipping build | (none — release is default) |
Switch profiles via BuildProfile.SetActiveBuildProfile() or command line.
new in Update, no LINQ in hot paths, no string concatenation in loops// Auto-configures via SentryOptions ScriptableObject in Resources/
// IL2CPP symbolication: upload symbols in CI post-build
Key features:
Upload symbols in CI:
sentry-cli debug-files upload --include-sources ./build/
persistentDataPath location — main game reads it on first launch#if DEMO_BUILD preprocessor directives for demo-specific limitsv1.2.3Tag — reads version from the latest git tag1.2.3+abc1234Use Steam branches (betas) for staged rollouts:
| Steam Branch | Purpose | Access |
|---|---|---|
nightly | Automated CI builds | Internal only (password) |
beta | Opt-in beta testing | Public beta signup |
public-beta | Wide beta before release | Public, visible in dropdown |
| (default) | Stable release | Everyone |
Promotion flow: nightly -> beta -> public-beta -> default
Rollback: Set a previous build live on any branch via Steamworks dashboard. Instant, no rebuild needed.
git checkout -b hotfix/1.2.1 v1.2.0nightly branch automaticallybeta — 30-minute smoke testdefault — monitor crash-free rate for 24 hoursgit tag v1.2.1 then merge hotfix branch into main