Skip to content
FunCoding

unity-component

Manage GameObject components

Star
1,830
License
MIT
Last commit
Oct 12, 2026

SkillsForUnity/unity-skills~/skills/component/SKILL.md

View 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_properties, component_get_serialized_properties are SemiAuto (read-only); every writer is FullAuto. component_remove / component_remove_batch (Operation.Delete) 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, instanceId or path (plus entityId, resolved to the path), matched like GameObjects: an ambiguous fuzzy name returns TARGET_NOT_FOUND with candidates, non-exact matches are listed in resolutionNotes. Batch items take only name / instanceId / path: an entityId item key is ignored (named in warnings), so the item finds no target. component_copy* use source* / target* identifiers.
  • componentType (required): the class name — Rigidbody, BoxCollider, Namespace.ClassName for 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's component / fullTypeName show what was resolved.
  • Two naming schemes: component_set_property / component_get_properties use C# member names (mass, isKinematic; matched case-insensitively, private fields writable too). component_get_serialized_properties / component_set_serialized_property use SerializedProperty paths (m_Mass, items.Array.data[0]; a bare mass is retried as m_Mass). To convert, drop m_ and lowercase the first letter; an m_ name sent to component_set_property fails with "Property/field not found" and lists the writable members.
  • Value source (component_set_property, its batch, batch_preview_set_property): exactly one of assetPath (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).
  • value encoding: 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 (colour a defaults to 1; an explicit null counts as missing); partial objects, unknown keys and non-numbers are rejected naming the expected keys.
  • Read-back: component_set_property returns valueSet read from the component after the write, plus valueRequested only when the setter clamped or normalised it; component_set_serialized_property re-reads after applying. No follow-up read needed.
  • Batches: all-or-nothing — one failed item reverts the whole call (rolledBack:true, other items reverted:true); unknown item keys are named in warnings.

Skills Overview

Use a *_batch skill for 2+ objects or several properties (one call instead of N).

SingleBatch
component_addcomponent_add_batch
component_removecomponent_remove_batch
component_set_propertycomponent_set_property_batch
component_set_serialized_propertycomponent_set_serialized_property_batch

No batch: component_list (types and enabled state), component_get_properties (C# members and values), component_get_serialized_properties (Inspector paths), component_copy, component_copy_exact (verifies every serialized field), component_set_enabled (Behaviour/Renderer/Collider on or off — not component_set_property).

Per-skill tables, item fields and return shapes: reference/<skill_name>.md — rarely needed, the schema notes the parameters.

DO NOT (common hallucinations):

  • component_create / component_get do not exist → use component_add (add) and component_get_properties (read)
  • component_find does not exist → use component_list to list components on an object

Elsewhere: a new C# component → script_create, wait for compilation, then component_add.

Exact Signatures

Names, parameters, defaults and required flags come from GET /skills/schema?category=Component (or ?names=a,b), not this file.

Common Errors

ErrorTrigger → fix
TARGET_NOT_FOUNDObject, component type, component on the object, member or asset missing → component_list, component_get_properties, asset_find, gameobject_find.
MISSING_PARAMe.g. componentType, propertyName, propertyPath → supply it; the error (or a dryRun) lists all parameters.
SEMANTIC_INVALIDA value the target type rejects, componentIndex out of range, a component another one still requires (requiredBy: remove those first), or a failed batch item → fix per the message / results.
SKILL_ERRORRead-only property → pick a writable member.

Transport codes (COMPILING, RATE_LIMIT, ...) → error codes.

Similar Skills

prototype

MAmattpocock/skills288k10,178 new stars in the last 7 days

angular-developer

AFaffaan-m/ECC278k4,046 new stars in the last 7 days

Official

firecrawl-build-scrape

FIfirecrawl/firecrawl191k2,010 new stars in the last 7 days

Featured

frontend-design

Set visual direction and typography for UI, avoiding templated defaults.

ANanthropics/skills181k1,119 new stars in the last 7 days

Official

brand-guidelines

ANanthropics/skills181k1,119 new stars in the last 7 days

Featured

web-artifacts-builder

Build complex HTML artifacts with React, Tailwind CSS, state management and routing.

ANanthropics/skills181k1,119 new stars in the last 7 days