unity-gameobject について
unity-gameobjectは、Unityシーンのオブジェクトと階層を管理するスキルモジュールです。検索、作成、親子関係の設定、Transform編集、バッチ操作に対応し、識別子の解決方法やTransformの読み戻し情報も扱います。
主な機能
- 01名前や属性によるオブジェクト検索
- 02作成、複製、名前変更、削除
- 03親と兄弟順の設定
- 04Transformと有効状態の編集
- 05複数オブジェクトの一括操作
- 06階層とコンポーネント情報の確認
活用シーン
- 01シーン階層の構築や再編成
- 02シーンオブジェクトの生成と配置
- 03複数オブジェクトへの一貫した変更
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ besty0728/ unity-skills --skill unity-gameobjectインストール後、Claude Code で/unity-gameobjectを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
reference/gameobject_create_batch.mdgameobject_create.mdgameobject_delete_batch.mdgameobject_delete.mdgameobject_duplicate_batch.mdgameobject_duplicate.mdgameobject_find.mdgameobject_get_info.mdgameobject_rename_batch.mdgameobject_rename.mdgameobject_set_active_batch.mdgameobject_set_active.mdgameobject_set_layer_batch.mdgameobject_set_parent_batch.mdgameobject_set_parent.mdgameobject_set_sibling_index.mdgameobject_set_tag_batch.mdgameobject_set_transform_batch.mdgameobject_set_transform.md詳細
トリガー
- シーン階層の構築または再構成
- オブジェクトの生成または削除
- Transform の調整
- シーン階層の構築や調整、オブジェクトの新規作成または削除、Transform の変更
Unity GameObject スキル
シーンオブジェクトを作成、検索、親子付け、変形します。パラメーターはスキーマから取得してください(includeSchema=true または /skills/schema?names= を推奨)。スキーマには、分かりにくいパラメーターが記載されています。スキル名から推測しないでください。実行、dryRun、検証のルールについては、ルートの SKILL.md を参照してください。
動作モード
gameobject_find / gameobject_get_info は SemiAuto(読み取り専用)で、その他のスキルはすべて FullAuto です。gameobject_delete / gameobject_delete_batch(Operation.Delete)は NeverInSemi です。Approval/Auto では MODE_FORBIDDEN となり、Bypass または Allowlist に該当する場合にのみ実行できます → 動作モード。
共通ルール
- 識別子:
entityId(文字列。Unity 6000.4 以降ではinstanceIdの値が0になります)、instanceId(整数。旧バージョンの Unity)、path("Parent/Child"。大文字と小文字を区別せず、シーン名のプレフィックスは省略可能)、nameのいずれかです。少なくとも 1 つ指定してください。優先順位はentityId > instanceId > path > nameです。古くなった ID や見つからないパスの場合は、次に指定された識別子にフォールバックします。 - 名前の照合:完全一致する名前があれば優先されます(同じ名前が複数ある場合は、階層順で最初のもの)。完全一致しない場合、単語全体または部分文字列で一致する対象が 1 つだけあれば使用されます。あいまいな一致が複数ある場合は推測せず、
candidates(それぞれにpathとentityId)を含むTARGET_NOT_FOUNDを返します。完全一致以外で解決された場合は、トップレベルのresolutionNotesに記載されます。 - 座標空間:
gameobject_createのx/y/zとrotX/Y/Zは、space:"world"の場合(親子付け後に適用)を除き、親に対するローカル座標です。gameobject_set_transformのposX/Y/ZとrotX/Y/Zはワールド座標、localPosX/Y/Zはローカル座標です。この処理では、ワールド位置、ローカル位置、回転、スケールの順に適用されます。そのため、同じ軸を指定した場合はローカル値が優先され、省略された軸は現在の値を保持します。scaleX/Y/Zは常にlocalScaleです。RectTransform のフィールド(anchor*、pivot*、sizeDelta*、width/height)は UI 専用です。 - 適用結果の読み戻し:create、set_transform、およびそれらのバッチは、読み戻した Transform(
position(ワールド座標)、localPosition、rotation(ワールドのオイラー角、0~360)、scale(ローカル座標))を返します。これはgameobject_get_infoが報告する内容と同じです。後続の読み取りは不要です。 - バッチ(
items= JSON 配列):全件成功または全件失敗です。1 件でも失敗すると呼び出し全体がロールバックされ(rolledBack:true、ほかの項目はreverted:true、エラーはSEMANTIC_INVALID)、失敗した項目を修正して全項目を再送してください。不明な項目キーは無視され、warningsに記載されます。各項目には単一スキルと同じ識別子とフィールドを指定します。gameobject_create_batchの項目は、同じ呼び出し内で先に作成された項目を親にできます。
スキルの概要
2 個以上のオブジェクトには *_batch を使用してください(N 回ではなく 1 回の呼び出しで済みます)。
| 単体 | バッチ |
|---|---|
gameobject_create | gameobject_create_batch |
gameobject_delete | gameobject_delete_batch |
gameobject_duplicate(兄弟オブジェクト <name>_Copy) | gameobject_duplicate_batch |
gameobject_rename | gameobject_rename_batch |
gameobject_set_transform | gameobject_set_transform_batch |
gameobject_set_active | gameobject_set_active_batch |
gameobject_set_parent(親 ID を指定しないと親子関係を解除) | gameobject_set_parent_batch |
| - | gameobject_set_layer_batch |
| - | gameobject_set_tag_batch |
gameobject_set_sibling_index(インデックスは範囲内に調整されます) | - |
クエリ(バッチなし):gameobject_find(名前の部分一致または正規表現、タグ、レイヤー、コンポーネント)、gameobject_get_info(トランスフォーム、親、子、コンポーネント)。
スキルごとのテーブル、項目フィールド、戻り値の形式については reference/<skill_name>.md を参照してください。パラメーターはスキーマに記載されているため、参照が必要になることはほとんどありません。
次の操作は避けてください(よくある誤った推測):
gameobject_move/gameobject_rotate/gameobject_set_scale/gameobject_set_positionは存在しません →gameobject_set_transformを使用してくださいgameobject_add_componentは存在しません →component_addを使用してくださいgameobject_get_transformは存在しません →gameobject_get_infoを使用してください
その他:コンポーネントには component_* スキル、マテリアルや色には material_* スキルを使用してください。scene_find_objects(SemiAuto)でもオブジェクトを検索できます。
正確なシグネチャ
名前、パラメーター、デフォルト値、必須フラグは、このファイルではなく GET /skills/schema?category=GameObject(または ?names=a,b)から取得してください。
よくあるエラー
| エラー | 対処方法 |
|---|---|
TARGET_NOT_FOUND(オブジェクト、親、子、レイヤー) | candidates エントリの path / entityId を使って再試行するか、gameobject_find / scene_get_hierarchy で検索してください。 |
MISSING_PARAM | パラメーター(例:newName、items)を指定してください。エラーまたは dryRun にすべてのパラメーターが一覧表示されます。 |
SEMANTIC_INVALID | メッセージに記載された使用可能な値(primitiveType、space の local/world、登録済みのタグ)を使うか、失敗した results の項目を修正してください。 |
トランスポートコード(COMPILING、RATE_LIMIT、...)については、エラーコードを参照してください。