unity-sample について
unity-sampleは、API接続テストやデモ向けのUnityスキルモジュールです。シーンの照会や基本的なオブジェクト操作を提供し、本番用途は想定していません。操作モードと機能表示の制限も記載されています。
主な機能
- 01現在のシーン情報の取得
- 02名前によるオブジェクト検索
- 03キューブと球体の作成
- 04オブジェクトの変換変更
- 05制限モードでのオブジェクト削除
活用シーン
- 01Unity REST接続のスモークテスト
- 02シーン照会の初回実行
- 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() で定義されています。