Agent skill
Unity Build & CI/CD Configurator
Configure le pipeline de build Unity, CI/CD, et deployment. Triggers: /build-config, /ci, /deploy, 'configurer build', 'github actions unity', 'gitlab ci unity', 'gitignore unity', 'build automation'. Scanne le projet, genere les scripts de build C#, les workflows CI/CD, et les fichiers Git optimises.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/unity-build-config
SKILL.md
Unity Build & CI/CD Configurator
Ce que fait cette skill
Configure l'ensemble du pipeline de build Unity : scripts de build C# automatises, workflows CI/CD (GitHub Actions ou GitLab CI), fichiers .gitignore et .gitattributes optimises avec Git LFS, et checklist pre-release par plateforme. Scanne le projet existant pour adapter la configuration.
Prerequis
- Un projet Unity existant avec
ProjectSettings/etAssets/ - Un repository Git (ou pret a etre initialise)
- Pour CI/CD : une licence Unity (Personal, Plus, Pro) stockee en secret
Arbre de decision
Que configurer ?
|
+-- Build automatise seulement ?
| +-- --> Etape 3 (script C# BuildAutomation)
|
+-- CI/CD complet ?
| +-- GitHub ? --> Etape 4 Option A (GitHub Actions + game-ci)
| +-- GitLab ? --> Etape 4 Option B (GitLab CI)
|
+-- Git setup (nouveau projet) ?
| +-- --> Etape 5 (.gitignore + .gitattributes + LFS)
|
+-- Build Profiles (Unity 6+) ?
+-- --> Section Build Profiles (etape 2)
Demarrage rapide
- L'utilisateur demande une configuration de build (ex: "configure CI/CD pour Windows et WebGL")
- Le skill scanne le projet (scenes, packages, settings)
- Le skill genere les fichiers de configuration adaptes
Guide etape par etape
Etape 1 : Identifier les plateformes cibles
Si l'utilisateur ne precise pas, demander les plateformes parmi :
- Desktop : StandaloneWindows64, StandaloneOSX, StandaloneLinux64
- Mobile : Android, iOS
- Web : WebGL
- Console : PS5, XboxSeriesX, Switch (necessite SDK proprietaire)
Etape 2 : Scanner le projet existant
Collecter les informations du projet avec les outils Claude Code :
Glob "Assets/**/*.unity" → lister les scenes
Glob "ProjectSettings/*" → verifier les settings existants
Read "Packages/manifest.json" → packages et version Unity
Read "ProjectSettings/ProjectSettings.asset" → scripting backend, company name
Grep "com.unity.render-pipelines" → pipeline de rendu
Glob ".gitignore" → verifier si existant
Glob ".gitattributes" → verifier si LFS configure
Build Profiles (Unity 6+)
Unity 6 remplace les Build Settings par des Build Profiles (assets .buildprofile configurables par plateforme). Permet plusieurs configs independantes, switchables sans reconfigurer manuellement. En CLI, utiliser -activeBuildProfile au lieu de -buildTarget.
Voir les details et exemples de code dans references/build-templates.md section "Build Profiles".
Etape 3 : Generer le script de build C#
Creer Assets/Editor/BuildAutomation.cs avec une classe statique contenant : helper GetEnabledScenes(), methode generique ExecuteBuild(), et une methode par plateforme cible avec [MenuItem]. Inclure un entrypoint BuildFromCommandLine() pour le CI.
Voir le template complet dans references/build-templates.md section "BuildAutomation.cs".
Etape 4 : Generer la configuration CI/CD
Option A : GitHub Actions (recommande) -- Utilise game-ci avec jobs test (EditMode + PlayMode) puis build en matrice multi-plateforme. Cache du dossier Library/ et upload des artifacts.
Option B : GitLab CI -- Image unityci/editor, stages test puis build. Dupliquer le job build par plateforme cible.
Voir les templates YAML complets dans references/build-templates.md sections "GitHub Actions" et "GitLab CI".
Etape 5 : Generer .gitignore et .gitattributes
Generer un .gitignore excluant Library/, Temp/, obj/, Builds/, IDE files, et keystores. Generer un .gitattributes configurant le YAML merge Unity et Git LFS pour les binaires (3D, textures, audio, video, packages).
Voir les templates complets dans references/build-templates.md sections ".gitignore" et ".gitattributes".
Etape 6 : Pre-build checks
Ajouter une methode PreBuildCheck() dans BuildAutomation.cs qui valide : scenes presentes dans Build Settings, pas d'erreurs de compilation. Verifier aussi les references manquantes et les tests EditMode.
Voir le code dans references/build-templates.md section "Pre-build Checks".
Checklist pre-release par plateforme disponible dans references/build-templates.md section "Checklist pre-release".
Regles strictes
- TOUJOURS scanner le projet existant avant de generer des configs
- TOUJOURS utiliser IL2CPP pour les builds release (pas Mono)
- TOUJOURS configurer Git LFS avant le premier commit d'assets binaires
- TOUJOURS mettre les secrets (licence Unity, keystore) dans les variables CI, jamais dans les fichiers
- TOUJOURS inclure un job de tests avant le job de build dans le CI
- JAMAIS hardcoder de licence Unity ou credentials dans les fichiers CI
- JAMAIS inclure
Library/,Temp/, ouobj/dans le version control - JAMAIS committer de fichiers
.keystore(saufdebug.keystore) - PREFERER GitHub Actions avec game-ci comme solution CI par defaut
- PREFERER le cache du dossier
Library/pour accelerer les builds CI
Skills connexes
- Le script BuildAutomation necessite un editor tool plus avance ? Utiliser
/unity-editor-tools(Unity Editor Tools) - Generer un script de build custom ? Utiliser
/unity-code-gen(Unity Code Gen) pour le code C# Editor - Shader custom a builder ? Utiliser
/shader(Unity Shader Generator)
Troubleshooting
| Probleme | Solution |
|---|---|
| Build CI echoue "No valid Unity license" | Configurer UNITY_LICENSE en secret. Generer via unity-editor -createManualActivationFile puis activer sur license.unity3d.com |
| Cache Library/ invalide | Changer la cle de cache ou la supprimer. Le cache depend de la version Unity |
| Build tres lent en CI | Activer le cache Library/, utiliser il2CppCodeGeneration: OptimizeSize pour les builds CI non-release |
| Erreur LFS "smudge filter" | Verifier que Git LFS est installe sur le runner CI (git lfs install) |
| WebGL build out of memory | Augmenter PlayerSettings.WebGL.memorySize, reduire les assets, activer le streaming |
| Android keystore introuvable | Utiliser un path relatif au projet ou une variable d'environnement pour le chemin du keystore |
| iOS signing echoue en CI | Utiliser fastlane match ou configurer les certificats via le Keychain du runner macOS |
| Scenes manquantes dans le build | Verifier EditorBuildSettings.scenes dans le script ou ajouter les scenes manuellement via le menu Build Settings |
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?