sprite-editor について
Unity のスプライトを扱うエージェント向けのスキルです。接続した Editor で C# を実行し、データ破損を防ぐための機能チェックを行います。
主な機能
- 01Editor で C# のステートメントを実行
- 02スプライト名、矩形、ボーダー、ピボットの編集
- 03スプライトの追加、削除、スライス
- 04スプライトのアウトライン設定
- 05機能チェックによる操作の保護
活用シーン
- 01スプライトインポーターのメタデータ調整
- 02スプライトのアウトラインやピボット設定
- 03Unity でのスプライト追加やスライス
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ unity-technologies/ unity-agent-plugin --skill sprite-editorインストール後、Claude Code で/sprite-editorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
SECURITY.mdreferences/api_reference.mdbackground.mdtemplates.mdscripts/AutomaticSliceTexture.csGenerateNewSpriteRects.csGetTextureSourceImageSize.csGetTextureToSlice.csGridSliceTexture.csIsometricSliceTexture.csREADME.mdSetPivotExample.csSpriteToPng.cs詳細
スプライトエディター
スプライトのメタデータ(矩形、境界線、ピボット、アウトライン)は、編集可能なファイルではなくインポーター内にあります。アクセスするには、実行中のエディターを通じて C# を実行する必要があります。
unity-cli スキルが、そこへ到達するための手順を担います — CLI のインストール、接続済みエディターの確認、プロジェクトへの com.unity.pipeline パッケージの追加、エディターが本当に存在しない場合とセーフモードで停止している場合の見分け方、エディターのコマンドカタログの確認です。まずこの手順に従ってください。ここで同じ内容を再度導き出す必要はありません。
このスキルでは判断できないことが2つあります。
- 到達可能なエディターがあるだけではなく、特に
script evalが必要です。 コマンドカタログに表示されることを確認してください。これは CLI ではなく、Pipeline パッケージのバージョンによって利用できるかどうかが決まります。 - スプライトのメタデータを変更するために、
.metaファイルを手動で編集してはいけません。 このデータはインポーターが管理しており、破損を防ぐために以下の機能チェックが用意されています。そのため、エディターに接続できない場合は作業を中止してください。独自の方法で対応する指示ではありません。
接続済みエディターを通じて、script eval コマンドで C# を実行します。パラメーターの形式は決めつけずに unity command --format json で確認してください。インライン形式は unity command script eval --caller plugin --skill sprite-editor --code '<snippet>' です。また、Pipeline の一部のバージョンでは、ファイルからスニペットを実行する script eval_file も登録されています。script eval_file を使う前に、必ずコマンドカタログを確認してください。これは登録されていないことがよくあります。 unity command のタイムアウトはデフォルトで30秒です。
ISpriteEditorDataProvider を使用して Unity のスプライトを操作する C# エディタースクリプトを生成します。TextureImporter、PSBImporter、カスタムインポーターに対応しています。
script eval に C# を渡す
script eval がコンパイルするのはファイルではなく、ステートメントブロックです。これにより、どちらも警告ではなくコンパイルエラーになる問題が2つ発生します。
usingディレクティブは使えません。 コンパイラーはusing UnityEngine;をリソース破棄ステートメントとして読み取り、拒否します(CS0210)。- 型名は完全修飾する必要があります。
AssetDatabaseやVolumeだけでは解決できず(CS0246/CS0103)、Objectだけではobjectと曖昧になります(CS0104)。
以下のスニペットがファイルとして記述されている場合(可読性のために using を含む場合や、プロジェクトに保存することを想定している場合)は、script eval に渡す前に型名を完全修飾してください。
ワークフロー
生成するすべてのスクリプトは、references/templates.md に記載されているセーフコアパターンに従う必要があります。このパターンには必須の機能チェックが含まれています。機能チェックに失敗した場合は、操作を絶対に実行しないでください。これによりデータの破損を防ぎます。実行後は、Unity コンソールと Project ウィンドウで結果を確認してください。
一般的な操作
名前/矩形/境界線/ピボットの変更: 対応する SpriteRect フィールドを更新します(ピボットの例については scripts/SetPivotExample.cs を参照してください)
- 必要な機能:
EditSpriteName、EditSpriteRect、EditBorder、またはEditPivot
追加/削除/スライス: SpriteRect 配列を作成またはフィルタリングします(Unity 2021.2 以降の要件については references/background.md を参照してください)
- 必要な機能:
CreateAndDeleteSprite
アウトラインの設定: ISpriteOutlineDataProvider を取得 → GUID と Vector2 配列を指定して SetOutlines() を呼び出します
重要な注意事項
- AssetPostprocessor や MenuItem のパターンは使用しないでください
- 単独で実行できるスニペットのみを生成してください —
AssetPostprocessorもMenuItemも使用しないでください - 列挙型の代入: 必ず列挙型の値を使用し、数値型にキャストしてください。数値を直接指定してはいけません。
- ✅ 正しい例:
(int)SpriteAlignment.Center - ❌ 誤った例:
1(マジックナンバー)
- ✅ 正しい例: