Communitygithub.com

Unity Agentic Tools

Un CLI pour lire et modifier des scènes, prefabs et assets Unity avec une conception orientée utilisation minimale de jetons, en interaction avec un Éditeur Unity en direct.

Qu'est-ce que Unity Agentic Tools ?

Unity Agentic Tools est un CLI conçu pour les agents IA (comme Claude Code, Cursor ou Codex) afin d'interagir avec un Éditeur Unity en direct sans avoir à analyser ni muter manuellement les fichiers sérialisés complexes d'Unity. Ce skill fournit un ensemble de commandes pour découvrir et exécuter des opérations Unity via un pont (bridge) WebSocket, que ce soit en utilisant des alias intégrés, des méthodes statiques publiques brutes ou des commandes de projet personnalisées marquées avec `[AgenticCommand]`. Il prend en charge la lecture de la hiérarchie de scène, des instantanés UI, ainsi que la modification de GameObjects, de transformations et de lots de propriétés, tout en offrant des retours en temps réel via le streaming d'événements de la console. Son design privilégie une utilisation minimale de jetons en produisant par défaut du JSON compact sur une seule ligne, et en proposant un mode `--brief` pour la découverte des commandes. Le flux de travail typique commence par un `status` pour vérifier la connectivité, suivi d'un `list` pour découvrir les commandes disponibles, puis un `run` pour exécuter les actions, et enfin une vérification via des requêtes, des instantanés ou le streaming console.

Compatible avec~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add taconotsandwich/unity-agentic-tools

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait Unity Agentic Tools ?

Utilisez ce skill pour la configuration du CLI Unity Agentic Tools, la découverte de commandes, l'exécution de commandes, les workflows du pont Editor en direct et l'automatisation de haut niveau des projets.

CRITIQUE : Utilisez le lanceur de commandes CLI pour les opérations Unity. Ne modifiez pas manuellement les fichiers sérialisés Unity (.unity, .prefab, .asset, .mat, .anim, .controller, .meta, ProjectSettings/) sauf si l'utilisateur demande explicitement un travail sur fichier brut.

Surface de commandes

CommandeCe qu'elle fait
list [query]Découvre les alias intégrés, les commandes de projet attribuées et les API statiques brutes optionnelles. --brief omet les détails par argument ; --raw ajoute les statiques brutes
run <target> [args...]Exécute un alias de commande ou une méthode/propriété statique publique C# brute via le pont Unity
stream [topic]Regarde les événements du pont en temps réel via WebSocket
installInstalle le package du pont Unity
uninstallSupprime le package du pont Unity
cleanupSupprime les états obsolètes du pont ou les caches .unity-agentic reconstructibles
statusVérifie la joignabilité du lanceur de commandes et du pont, plus un bloc readiness indiquant ce que l'Éditeur est en train de faire

Par défaut, les commandes émettent du JSON compact sur une seule ligne ; passez --pretty pour une sortie indentée. Préférez list <query> --brief pour la découverte.

Par défaut, install écrit l'URL du package GitHub. Pour le développement local du package du pont, utilisez install --local [path] ; les dépendances file: existantes sont conservées sauf si install --remote est passé.

Chemin par défaut

  1. unity-agentic-tools status -p <project>
  2. unity-agentic-tools list <query> --brief -p <project>
  3. Inspectez l'état actuel avec query.*, scene.hierarchy, ui.snapshot ou des captures d'écran.
  4. unity-agentic-tools run <target> ... -p <project>
  5. Vérifiez avec la requête, la capture d'écran, les tests ou le flux de la console correspondants.

Exemples

unity-agentic-tools list scene --brief -p <project>
unity-agentic-tools run project.refresh -p <project>
unity-agentic-tools run query.scene Assets/Scenes/Main.unity -p <project>
unity-agentic-tools run create.gameobject Assets/Scenes/Main.unity EnemyRoot Gameplay -p <project>
unity-agentic-tools run update.transform Assets/Scenes/Main.unity Player 1,2,3 0,90,0 1,1,1 -p <project>
unity-agentic-tools stream console --type Error -p <project>
unity-agentic-tools cleanup --cache -p <project>

Passez un argument structuré de manière positionnelle entre guillemets simples — le CLI encode lui-même le tableau JSON externe, donc aucune échappement n'est nécessaire. Réservez --args '<json array>' pour les arguments commençant par -. Voir reference/troubleshooting.md "Arguments JSON".

unity-agentic-tools run update.batch Assets/Scenes/Main.unity '[{"gameObjectPath":"Player","propertyPath":"m_Name","value":"Hero"}]' -p <project>

Les API statiques publiques brutes peuvent être appelées directement lorsqu'aucun alias ou wrapper [AgenticCommand] n'existe.

unity-agentic-tools run UnityEditor.AssetDatabase.Refresh -p <project>
unity-agentic-tools run UnityEditor.EditorApplication.ExecuteMenuItem "File/Save" -p <project>

Commandes de projet

N'ajoutez pas une nouvelle commande CLI pour chaque opération Unity. Exposez le comportement spécifique au projet en ajoutant [AgenticCommand] aux méthodes/propriétés statiques publiques dans le code C# de l'Éditeur Unity :

using UnityAgenticTools.Commands;

public static class BuildCommands
{
    [AgenticCommand("build.addressables", "Construire le contenu Addressables.")]
    public static object BuildAddressables(string profile)
    {
        return new { success = true, profile };
    }
}

Utilisez ensuite :

unity-agentic-tools list build --brief -p <project>
unity-agentic-tools run build.addressables Production -p <project>

Références

  • reference/live-editor-workflows.md : workflows de l'Éditeur en direct, mutation, UI et lots
  • reference/command-reference.md : référence des alias générée avec les indications d'arguments (<requis> [optionnel])
  • reference/troubleshooting.md : pont, timeouts, références, arguments JSON et vérification

Dépannage

Les détails complets se trouvent dans reference/troubleshooting.md. Conseils rapides :

  • Le pont ne se connecte pas : voir "Pont non joignable" (installer, ouvrir Unity, attendre la compilation, status, cleanup). reachable: true avec is_stable: false signifie occupé, pas cassé.
  • Les longues constructions expirent : run par défaut à 60s ; voir "Commandes longues" (--timeout 1200000, --no-wait).
  • Le mode Play semble incorrect juste après play.enter : la réponse rapporte l'état actuel, pas celui demandé. Interrogez play.state ; voir "Transitions du mode Play" dans reference/live-editor-workflows.md.
  • Les lectures sont lentes pendant une transition : attendu. Les lectures attendent un rechargement de domaine jusqu'à 30s au lieu d'échouer ; voir "Rechargements de domaine" dans "Commandes longues".
  • Références @hN/@uN obsolètes : réexécutez scene.hierarchy ou ui.snapshot ; voir "Références obsolètes".
  • Besoin de journaux console : unity-agentic-tools stream console --duration 5000 -p <project>.
  • Besoin d'API brutes : unity-agentic-tools list <type-or-namespace> --raw -p <project>.

Skills associés