agentleFS
batihandevbatihandev/unity-mcp-skills/skills/gameobject/SKILL.md

unity-gameobject

Skill7 starsChanged 7 months agoMITView on GitHub

Use when users want to create, delete, move, rotate, scale, or parent GameObjects.

The file

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Create a new GameObject (primitive or empty).

    line 51
  2. Distinctive:

    Create multiple GameObjects in one call.

    line 179
  3. Very specific:

    Delete multiple GameObjects.

    line 186

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Unity GameObject Skills

Overview

BATCH-FIRST: Use *_batch skills when operating on 2+ objects to reduce API calls from N to 1.

Common Mistakes

DO NOT (common hallucinations):

  • gameobject_move / gameobject_rotate / gameobject_set_scale do not exist → use gameobject_set_transform (handles position, rotation, and scale together)
  • gameobject_set_position does not exist → use gameobject_set_transform with posX/posY/posZ
  • gameobject_add_component does not exist → use component_add (component module)
  • gameobject_get_transform does not exist → use gameobject_get_info (returns position/rotation/scale)

Routing:

  • To add/remove components → use component module
  • To set material/color → use material module
  • To search objects by name/tag/component → gameobject_find (this module) or scene_find_objects (scene module, Semi-Auto)

Object Targeting: All single-object skills accept three identifiers: name (string), instanceId (int, preferred for precision), path (string, hierarchy path like "Parent/Child"). Provide at least one. When only name is shown in a parameter table, instanceId and path are also accepted.

Skills Overview

Single ObjectBatch VersionUse Batch When
gameobject_creategameobject_create_batchCreating 2+ objects
gameobject_deletegameobject_delete_batchDeleting 2+ objects
gameobject_duplicategameobject_duplicate_batchDuplicating 2+ objects
gameobject_renamegameobject_rename_batchRenaming 2+ objects
gameobject_set_transformgameobject_set_transform_batchMoving 2+ objects
gameobject_set_activegameobject_set_active_batchToggling 2+ objects
gameobject_set_parentgameobject_set_parent_batchParenting 2+ objects
-gameobject_set_layer_batchSetting layer on 2+ objects
-gameobject_set_tag_batchSetting tag on 2+ objects

Query Skills (no batch needed):

  • gameobject_find - Find objects by name/tag/layer/component
  • gameobject_get_info - Get detailed object information

Single-Object Skills

gameobject_create

Create a new GameObject (primitive or empty).

ParameterTypeRequiredDefaultDescription
namestringYes-Object name
primitiveTypestringNonullCube/Sphere/Capsule/Cylinder/Plane/Quad (null=Empty)
x, y, zfloatNo0Local position (relative to parent if set)
parentNamestringNonullParent object name
parentInstanceIdintNo0Parent instance ID
parentPathstringNonullParent hierarchy path

Returns: {success, name, instanceId, path, parent, position}

gameobject_delete

Delete a GameObject.

ParameterTypeRequiredDescription
namestringNo*Object name
instanceIdintNo*Instance ID (preferred)
pathstringNo*Hierarchy path

*At least one identifier required

gameobject_duplicate

Duplicate a GameObject.

ParameterTypeRequiredDescription
namestringNo*Object name
instanceIdintNo*Instance ID
pathstringNo*Hierarchy path

Returns: {originalName, copyName, copyInstanceId, copyPath}

gameobject_rename

Rename a GameObject.

ParameterTypeRequiredDescription
namestringNo*Current object name
instanceIdintNo*Instance ID (preferred)
newNamestringYesNew name

Returns: {success, oldName, newName, instanceId}

gameobject_find

Find GameObjects matching criteria.

ParameterTypeRequiredDefaultDescription
namestringNonullName filter
tagstringNonullTag filter
layerstringNonullLayer filter
componentstringNonullComponent type filter
useRegexboolNofalseUse regex for name
limitintNo50Max results

Returns: {count, objects: [{name, instanceId, path, tag, layer}]}

gameobject_get_info

Get detailed GameObject information.

ParameterTypeRequiredDescription
namestringNo*Object name
instanceIdintNo*Instance ID
pathstringNo*Hierarchy path

Returns: {name, instanceId, path, tag, layer, isActive, position, rotation, scale, parent, parentPath, childCount, components, children}

gameobject_set_transform

Set position, rotation, scale, and/or RectTransform properties. All transform params are optional — only supplied fields are applied.

ParameterTypeRequiredDescription
namestringNo*Object name
instanceIdintNo*Instance ID (preferred)
pathstringNo*Hierarchy path
posX/posY/posZfloat?NoWorld position
rotX/rotY/rotZfloat?NoRotation (euler)
scaleX/scaleY/scaleZfloat?NoLocal scale
localPosX/localPosY/localPosZfloat?NoLocal position (3D and UI)
anchoredPosX/anchoredPosYfloat?NoAnchored position (UI only)
anchorMinX/anchorMinYfloat?NoAnchor min (UI only)
anchorMaxX/anchorMaxYfloat?NoAnchor max (UI only)
pivotX/pivotYfloat?NoPivot (UI only)
sizeDeltaX/sizeDeltaYfloat?NoSize delta (UI only)
width/heightfloat?NoSize shortcut via SetSizeWithCurrentAnchors (UI only)

*At least one identifier required

Returns (3D): {success, name, instanceId, isUI: false, position, localPosition, rotation, scale} Returns (UI): {success, name, instanceId, isUI: true, anchoredPosition, anchorMin, anchorMax, pivot, sizeDelta, rect, localPosition}

gameobject_set_parent

Set parent-child relationship.

ParameterTypeRequiredDescription
childNamestringNo*Child object name
childInstanceIdintNo*Child Instance ID (preferred)
childPathstringNo*Child hierarchy path
parentNamestringNo*Parent object name (empty string = unparent)
parentInstanceIdintNo*Parent Instance ID
parentPathstringNo*Parent hierarchy path

*At least one child identifier and one parent identifier required

gameobject_set_active

Enable or disable a GameObject.

ParameterTypeRequiredDescription
namestringNo*Object name
instanceIdintNo*Instance ID (preferred)
pathstringNo*Hierarchy path
activeboolYesEnable state

*At least one identifier required


Recipe path rule: ../../recipes/gameobject/<command>.md

Batch Skills

gameobject_create_batch

Create multiple GameObjects in one call.

Item properties: name, primitiveType, x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, parentName, parentInstanceId, parentPath

Returns: {success, totalItems, successCount, failCount, results: [{success, name, instanceId, path, position}]}

gameobject_delete_batch

Delete multiple GameObjects. items accepts an array of strings (names) or objects {name, instanceId, path}.

Returns: {success, totalItems, successCount, failCount, results: [{success, target}]}

gameobject_duplicate_batch

Duplicate multiple GameObjects.

Returns: {success, totalItems, successCount, failCount, results: [{success, originalName, copyName, copyInstanceId, copyPath}]}

gameobject_rename_batch

Rename multiple GameObjects.

Returns: {success, totalItems, successCount, failCount, results: [{success, oldName, newName, instanceId}]}

gameobject_set_transform_batch

Set transforms for multiple objects. Each item accepts the same fields as gameobject_set_transform plus name/instanceId/path.

Returns: {success, totalItems, successCount, failCount, results: [{success, name, pos: {x,y,z}}]}

gameobject_set_active_batch

Toggle multiple objects. Each item: {name, instanceId, path, active}.

Returns: {success, totalItems, successCount, failCount, results: [{success, target, active}]}

gameobject_set_parent_batch

Parent multiple objects. Each item supports childName/childInstanceId/childPath and parentName/parentInstanceId/parentPath.

Returns: {success, totalItems, successCount, failCount, results: [{success, target, parent}]}

gameobject_set_layer_batch

Set layer for multiple objects. Each item: {name, instanceId, path, layer, recursive}. Set recursive: true to apply to all children.

Returns: {success, totalItems, successCount, failCount, results: [{success, target, layer}]}

gameobject_set_tag_batch

Set tag for multiple objects. Each item: {name, instanceId, path, tag}.

Returns: {success, totalItems, successCount, failCount, results: [{success, target, tag}]}


Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.