sprite-editor について
Unity プロジェクト向けのスキルで、接続中の Editor で C# を実行し、公開 API を使ってスプライトのメタデータを編集します。機能チェックを必須とし、テクスチャ、PSB、カスタムインポーターに対応します。
主な機能
- 01Editor eval で C# を実行
- 02名前、矩形、境界線、ピボットの編集
- 03スプライトの追加、削除、スライス
- 04スプライトのアウトライン設定
- 05変更前の機能チェック
活用シーン
- 01スプライトの領域やピボットの調整
- 02スプライトのスライスの追加や削除
- 03アウトラインデータの更新
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ unity-technologies/ skills --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 つあります。
- 単にエディターに接続できるだけではなく、特に
evalが必要です。 カタログに表示されることを確認してください。利用できるかどうかは CLI ではなく、Pipeline パッケージのバージョンによって決まります。 - スプライトのメタデータを変更するために、
.metaファイルを直接編集してはいけません。 データはインポーターが管理しています。データの破損を防ぐため、以下の機能チェックを実施します。エディターに接続できない場合は作業を中止してください。独自に対処しようとしないでください。
接続済みエディターで eval コマンドを使って C# を実行します。パラメーターの形式は、決めつけずに unity command --format json で確認してください。インライン形式は unity command eval --code '<snippet>' です。また、Pipeline のバージョンによっては、ファイル内のスニペットを実行する eval_file が登録されていることもあります。eval_file を使う前に、カタログを確認してください。これは利用できない場合がよくあります。 unity command のタイムアウトは、既定で 30 秒です。
ISpriteEditorDataProvider を使って Unity のスプライトを操作する C# エディタースクリプトを生成します。TextureImporter、PSBImporter、カスタムインポーターで動作します。
eval に渡す C# の記述方法
eval がコンパイルするのはファイルではなくステートメントブロックです。これにより、警告ではなくコンパイルエラーになる次の 2 つの問題が生じます。
usingディレクティブは使えません。 コンパイラーはusing UnityEngine;をリソース破棄のステートメントとして読み取り、拒否します(CS0210)。- 型名は完全修飾する必要があります。
AssetDatabaseやVolumeのような型名だけでは解決できず(CS0246/CS0103)、Objectだけではobjectと曖昧になります(CS0104)。
以下のスニペットが、読みやすさのため、またはプロジェクトへの保存を想定して、using を含むファイル形式で記述されている場合は、eval に渡す前に型名を修飾してください。
ワークフロー
生成するスクリプトはすべて、references/templates.md に記載されている Safe Core Pattern に従う必要があります。このパターンには必須の機能チェックが含まれています。機能チェックに失敗した場合は、操作を絶対に実行しないでください。これはデータの破損を防ぐためです。実行後は、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(マジックナンバー)
- ✅ 正しい例: