mcpField
U
unity-gameobject

unity-gameobject

github.com/besty0728開発1.9k87 回インストール今日更新
リポジトリ

unity-gameobject について

unity-gameobjectは、Unityシーンのオブジェクトと階層を管理するスキルモジュールです。検索、作成、親子関係の設定、Transform編集、バッチ操作に対応し、識別子の解決方法やTransformの読み戻し情報も扱います。

主な機能

  1. 01名前や属性によるオブジェクト検索
  2. 02作成、複製、名前変更、削除
  3. 03親と兄弟順の設定
  4. 04Transformと有効状態の編集
  5. 05複数オブジェクトの一括操作
  6. 06階層とコンポーネント情報の確認

活用シーン

  1. 01シーン階層の構築や再編成
  2. 02シーンオブジェクトの生成と配置
  3. 03複数オブジェクトへの一貫した変更

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/besty0728/unity-skills --skill unity-gameobject

インストール後、Claude Code で/unity-gameobjectを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

reference/
gameobject_create_batch.md
gameobject_create.md
gameobject_delete_batch.md
gameobject_delete.md
gameobject_duplicate_batch.md
gameobject_duplicate.md
gameobject_find.md
gameobject_get_info.md
gameobject_rename_batch.md
gameobject_rename.md
gameobject_set_active_batch.md
gameobject_set_active.md
gameobject_set_layer_batch.md
gameobject_set_parent_batch.md
gameobject_set_parent.md
gameobject_set_sibling_index.md
gameobject_set_tag_batch.md
gameobject_set_transform_batch.md
gameobject_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_creategameobject_create_batch
gameobject_deletegameobject_delete_batch
gameobject_duplicate(兄弟オブジェクト <name>_Copy)gameobject_duplicate_batch
gameobject_renamegameobject_rename_batch
gameobject_set_transformgameobject_set_transform_batch
gameobject_set_activegameobject_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、...)については、エラーコードを参照してください。

コメント