unity-behavior

Inspect, create, and wire Unity Behavior graphs and blackboard variables on agents.

Updated Oct 13, 2025
One-click install
npx skills add https://github.com/Darth-Carrotpie/ProxyCore --skill unity-behavior-darth-carrotpie
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: unity-behavior
Source: https://github.com/Darth-Carrotpie/ProxyCore/tree/main/.agents/skills/unity-skills/skills/behavior
Command: npx skills add https://github.com/Darth-Carrotpie/ProxyCore --skill unity-behavior-darth-carrotpie

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Wiring Unity Behavior (com.unity.behavior) graphs to NPCs and managing blackboard variables normally requires manual editor work and deep knowledge of the package's two-object asset structure. This Skill lets an agent discover graph assets, create empty graphs, attach and bind BehaviorGraphAgent components, and read or write blackboard variables programmatically, with structured errors when the package is missing or its API has changed. ## Core Features & Use Cases - Graph discovery and inspection: List behavior graph assets with node counts and runtime-graph state, and get per-graph structure summaries including the full blackboard variable contract. - Agent wiring: Add a BehaviorGraphAgent to a GameObject and bind a graph in one validated call, with idempotent behavior and rejection of uncompiled graphs. - Blackboard read/write: Read asset defaults or per-agent overrides, and set variables with type-aware value parsing for scalars, enums, vectors, colors, and object references. - Use Case: You are building NPC AI for a scene. Run behavior_status to confirm the package, list existing graphs, attach a BehaviorGraphAgent to each NPC with the correct graph bound, then set per-agent blackboard overrides like patrol speed or target, and verify the whole scene's wiring with behavior_agent_list. ## Quick Start Check whether the Unity Behavior package is installed and list all behavior graph assets in the project, then attach a BehaviorGraphAgent bound to one of those graphs to my NPC GameObject.

Frequently Asked Questions about unity-behavior

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I attach a Unity Behavior graph to an NPC GameObject?▼

Use behavior_agent_add with the GameObject name, instanceId, or path plus the graphAssetPath. The graph is resolved and validated before the component is added, and an existing agent is reused idempotently instead of duplicated.

How do I set blackboard variables on a Unity Behavior graph?▼

Call behavior_blackboard_list first to get exact case-sensitive variable names and declared types, then use behavior_blackboard_set. Pass a GameObject locator for an agent-level override or graphAssetPath to change the shared asset default.

Does this work if the com.unity.behavior package is not installed?▼

The package is optional and accessed entirely through reflection. When absent, every skill returns a structured PACKAGE_NOT_INSTALLED response, and behavior_status still reports installation state so you can install via package_install first.

Can I add or connect nodes inside a behavior graph programmatically?▼

No, node-level graph editing is deliberately unsupported because the authoring graph uses versioned SerializeReference polymorphic data requiring the package's command pipeline. Author nodes in the Behavior editor window, then use these skills to inspect and wire the graph.

Why does behavior_blackboard_set behave differently in play mode?▼

BehaviorGraphAgent instantiates a private graph copy on Init, which only happens in play mode. Edit-mode writes become agent-level overrides, while play-mode writes go directly to the running graph instance for that agent only.

What happens when the installed Behavior package version differs?▼

Authoring types are internal and reached by name, so a package upgrade can move them. Every lookup is null-checked and returns API_MISMATCH instead of throwing; behavior_status shows exactly which types resolved.