mcpField
U
unity-sample

unity-sample

github.com/besty0728テスト・品質1.9k79 回インストール今日更新
リポジトリ

unity-sample について

unity-sampleは、API接続テストやデモ向けのUnityスキルモジュールです。シーンの照会や基本的なオブジェクト操作を提供し、本番用途は想定していません。操作モードと機能表示の制限も記載されています。

主な機能

  1. 01現在のシーン情報の取得
  2. 02名前によるオブジェクト検索
  3. 03キューブと球体の作成
  4. 04オブジェクトの変換変更
  5. 05制限モードでのオブジェクト削除

活用シーン

  1. 01Unity REST接続のスモークテスト
  2. 02シーン照会の初回実行
  3. 03基本的なオブジェクト作成のデモ

MCP 対応

周辺のスキルシステムを通じてUnityスキルを提供します。READMEにはMCPとの関係が明記されていません。

インストール

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

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

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

詳細

このモジュールのスキルを呼び出す前に: 名前や説明から推測したパラメーターでスキルを呼び出そうとしている場合は、いったん停止し、まずこのファイルを読むか、GET /skills/recommend?includeSchema=true でスキーマを取得してください。recommend/schema からパラメーター定義をすでに取得している場合は、そのまま dryRun に進めます。

トリガー

  • REST サーバーに到達できるかのテスト
  • 接続のスモークテスト
  • 最初の呼び出しを試す
  • REST サービスの到達性テスト、接続のスモークテスト、最初の呼び出しの試行

サンプルスキル

API をテストするための基本的な例です。

ガードレール

動作モード(v1.9 の 3 層構成):

  • Approval(デフォルト):クエリスキル(get_scene_info、find_objects_by_name)はそのまま実行されます。作成・変更スキル(create_cube、create_sphere、set_object_position、set_object_rotation、set_object_scale)は FullAuto です。MODE_RESTRICTED の場合は、許可プロトコルを実行してください。
  • Auto/Bypass:SemiAuto と FullAuto はそのまま実行されます。
  • このモジュールで Auto が禁止されているもの:delete_object(SkillOperation.Delete)。これは Bypass、またはユーザーが管理する Allowlist エントリーを通じてのみ実行できます。許可フローは MODE_FORBIDDEN を返します。

サーフェスプロファイル:このモジュールの書き込みスキルは、別の名前で GameObject の作成・編集を行うものなので、guide と noSceneAuthoring の両プロファイルでは非表示になり、SURFACE_EXCLUDED が返されます。この除外はモードや Allowlist では回避できません。guide では、details.manualDoc が manual-gameobject を指し、同じプリミティブ/変換の手順を手動で行う方法を説明しています。クエリスキルはすべてのプロファイルで引き続き利用できます。

SURFACE_EXCLUDED が返される原因は、スキル名が非表示になることだけではありません。ペイロードを再生する、表示されているシェルスキル(batch モジュールの batch_execute/batch_retry_failed、workflow モジュールのワークフローの undo/redo/revert スキル)も、適用しようとしているペイロードが有効なプロファイルで除外されているカテゴリに該当する場合、実行時に同じコードを返します。シェルスキル自体が非表示になることはありません。

次の行為は禁止です(よくある誤った推測):

  • サンプルスキルは基本的なテスト/デモ用スキルです。本番作業には使用しないでください。
  • sample_create は gameobject_create の簡易版です。完全版の gameobject モジュールを優先してください。
  • sample_hello/sample_ping は接続テスト専用のスキルです。

ルーティング:

  • 実際の GameObject 操作 → gameobject モジュールを使用
  • サーバーのヘルスチェック → Python ヘルパーの unity_skills.health() を使用

スキル

create_cube

キューブのプリミティブを作成します。 パラメーター: x、y、z、name

create_sphere

球体のプリミティブを作成します。 パラメーター: x、y、z、name

delete_object

名前でオブジェクトを削除します。 パラメーター: objectName

find_objects_by_name

文字列を含むオブジェクトを検索します。 パラメーター: nameContains(互換性のためのエイリアスとして name も使用できます)

set_object_position

オブジェクトの位置を設定します。 パラメーター: objectName、x、y、z

set_object_rotation

オブジェクトの回転を設定します。 パラメーター: objectName、x、y、z

set_object_scale

オブジェクトのスケールを設定します。 パラメーター: objectName、x、y、z

get_scene_info

現在のシーン情報を取得します。 パラメーター: なし。


正確なシグネチャ

正確な名前、パラメーター、デフォルト値、戻り値は、このファイルではなく GET /skills/schema または unity_skills.get_skill_schema() で定義されています。

コメント