UnitySkills is a REST API-based automation engine that lets AI coding agents control Unity Editor projects, including scenes and other editor operations. It is for developers using Unity with supported coding agents and IDEs. The catalogue skills and commands provide the agent workflows used to operate Unity projects through the engine.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Besty0728/Unity-Skills --skill componentgit clone --depth 1 https://github.com/Besty0728/Unity-SkillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/besty0728/unity-skills/component)<a href="https://agentmods.dev/skills/besty0728/unity-skills/component"><img src="https://agentmods.dev/badge/skills/besty0728/unity-skills/component/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/besty0728/unity-skills/component"><img src="https://agentmods.dev/badge/skills/besty0728/unity-skills/component.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00007 | $0.01548 |
| Opus 5.5 | $0.00003 | $0.00619 |
| Sonnet 5.5 | $0.00001 | $0.00310 |
| Haiku 4.5 | $0.00001 | $0.00155 |
Grade A, and why
unity-component scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 65 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Triggers
- Attaching or removing components
- Copying components between objects
- Toggling components
- Reading/writing serialized fields
- 挂载或移除组件、在对象间复制组件、开关组件、读写序列化字段
Unity Component Skills
Add, remove, copy, toggle and edit components. Parameters come from the schema (recommend includeSchema=true or /skills/schema?names=), which notes the non-obvious ones — never from a skill's name. Execution, dryRun and verification rules: root SKILL.md.
Operating Mode
component_list, component_get_methods, component_get_methods_batch, component_get_properties, component_get_serialized_properties are SemiAuto (read-only); every writer is FullAuto. component_remove / component_remove_batch (Operation.Delete) and component_invoke_method* (high risk) are NeverInSemi: MODE_FORBIDDEN under Approval/Auto, run only under Bypass or an Allowlist hit → operating mode.
Shared rules
- Targets: single-object skills take
name,instanceIdorpath(plusentityId, resolved to the path), matched like GameObjects: an ambiguous fuzzy name returnsTARGET_NOT_FOUNDwithcandidates, non-exact matches are listed inresolutionNotes. Batch items take onlyname/instanceId/path: anentityIditem key is ignored (named inwarnings), so the item finds no target.component_copy*usesource*/target*identifiers. componentType(required): the class name —Rigidbody,BoxCollider,Namespace.ClassNamefor custom scripts. Unity, UI, TextMeshPro, Cinemachine and Input System namespaces are searched first, then a case-insensitive scan that takes the first matching type; the response'scomponent/fullTypeNameshow what was resolved.- Two naming schemes:
component_set_property/component_get_propertiesuse C# member names (mass,isKinematic; matched case-insensitively, private fields writable too).component_get_serialized_properties/component_set_serialized_propertyuse SerializedProperty paths (m_Mass,items.Array.data[0]; a baremassis retried asm_Mass). To convert, dropm_and lowercase the first letter; anm_name sent tocomponent_set_propertyfails with "Property/field not found" and lists the writable members. - Value source (
component_set_property, its batch,batch_preview_set_property): exactly one ofassetPath(project asset) >referencePath(scene object by path) /referenceName(by name, first match) >value, checked in that order; a lower one sent alongside is silently ignored. Sending none writes the type's default (0 / false / null). valueencoding: numbers and bools (true/false,1/0,yes/no,on/off; others rejected) as JSON or strings; enums by member name, case-insensitive; vectors, Quaternion (3 values = euler, 4 = xyzw), Rect (x,y,w,h) and Bounds (cx,cy,cz,sx,sy,sz) as comma strings ("1,2,3"); colours as"r,g,b[,a]"(0–1),#RRGGBB[AA]or a name (red, green, blue, white, black, yellow, cyan, magenta, gray/grey, clear); LayerMask as a layer name or an integer mask. The JSON object form ({"x":1,"y":2,"z":3},{"r":1,"g":0,"b":0}) works only for Vector2/3/4 and Color/Color32, with every component required (colouradefaults to 1; an explicitnullcounts as missing); partial objects, unknown keys and non-numbers are rejected naming the expected keys.- Read-back:
component_set_propertyreturnsvalueSetread from the component after the write, plusvalueRequestedonly when the setter clamped or normalised it;component_set_serialized_propertyre-reads after applying. No follow-up read needed. - Property/add/remove batches: all-or-nothing — one failed item reverts the whole call (
rolledBack:true, other itemsreverted:true); unknown item keys are named inwarnings.
What ships with it
18 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- reference/component_add_batch.md 1.3 KB
- reference/component_add.md 1.2 KB
- reference/component_copy_exact.md 1.0 KB
- reference/component_copy.md 1.0 KB
- reference/component_get_methods_batch.md 599 B
- reference/component_get_methods.md 1.0 KB
- reference/component_get_properties.md 1007 B
- reference/component_get_serialized_properties.md 975 B
- reference/component_invoke_method_batch.md 1019 B
- reference/component_invoke_method.md 3.6 KB
- reference/component_list.md 757 B
- reference/component_remove_batch.md 1.1 KB
- reference/component_remove.md 1.0 KB
- reference/component_set_enabled.md 921 B
- reference/component_set_property_batch.md 1.1 KB
- reference/component_set_property.md 2.9 KB
- reference/component_set_serialized_property_batch.md 758 B
- reference/component_set_serialized_property.md 2.2 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday Changed ab218c450bf8
- 14d ago Changed · -327 lines 3b3967cdb9ad
- 1mo ago First seen · 392 lines · 7 tokens per session scan A fe510ca34cfc
unity-component is a skill published in the GitHub repository Besty0728/Unity-Skills (1,864 stars, last pushed today), licensed MIT. It adds 7 tokens to every session and 1,548 once invoked, about $0.0000 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
pufferlib
Version-aware guidance for PufferLib reinforcement-learning environments, vectorization, policies, PuffeRL training, evaluation, and safe checkpoint review. Covers the native 5.0 build and environment API, published 3.0.0 Gymnasium/PettingZoo adaptation, and a pinned historical 4.0 profile.
dotcraft-unity
Use when dotcraft-unity MCP, CLI, or unityexecutecsharp is available, or when the user asks to inspect, automate, capture, or debug Unity Editor state, scenes, assets, Console logs, or GameView output. Provides background-first Unity Editor automation through MCP or CLI.
unity
Inspect, automate, and debug a running Unity Editor. Use for Unity scenes, assets, project state, Console logs, and Editor C# execution.
immersive-vibration-response
Provide autonomous, low-power haptic feedback and a playful, opinionated interaction style for players through the local ESP32 vibration bridge. Use for interactive games, embodied-agent play, roleplay, simulations, live narratives, and long-running creative or coding tasks whenever game events, decisions, task…
2dimg2motion
Use when a user provides one baseline image and requests game animation frames, sprite sequences, attack/walk/idle/hit/death/casting motion, transparent PNG frames, a spritesheet, keyframe prompts, or consistent whole-character pose animation.
img2mo-learn
Learn reusable 2D motion-generation knowledge from user-specified action resources with /img2mo-learn . Use when the user provides videos, extracted frame sequences, spritesheets, Spine assets, generated outputs, failed attempts, or reference motion folders and wants to summarize animation timing, pose beats, style…