unity-importer について
unity-importerは、Unityにある既存のテクスチャ、オーディオ、モデルのインポート設定を確認・変更するスキルモジュールです。一括設定、テクスチャのプラットフォーム別設定、アセットの再インポートにも対応します。
主な機能
- 01テクスチャ、オーディオ、モデル設定の確認
- 02個別または一括でのインポート設定変更
- 03テクスチャのプラットフォーム別設定
- 04スプライト、オーディオ、リグ、アニメーションの設定
- 05変更後のアセット再インポート
活用シーン
- 01プロジェクト内アセットのテクスチャ圧縮を設定する
- 02プラットフォーム別のテクスチャ設定を適用する
- 03オーディオの読み込みと圧縮を設定する
- 04モデルのリグやアニメーションの読み込みを調整する
MCP 対応
MCPクライアント向けにUnityのアセットインポータースキルを公開し、テクスチャ、オーディオ、モデル設定の照会・変更と再インポートを提供します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ besty0728/ unity-skills --skill unity-importerインストール後、Claude Code で/unity-importerを入力して読み込まれたか確認します。
同梱ファイルIMPORT_REFERENCE.md
詳細
このモジュールのスキルを呼び出す前に: 名前や説明から推測したパラメーターを使ってスキルを呼び出そうとしている場合は、STOP — まずこのファイルを読むか、
GET /skills/recommend?includeSchema=trueでスキーマを取得してください。recommend/schema からすでにパラメーター定義を取得している場合は、そのまま dryRun に進めます。
トリガー
- アセットのインポート方法を調整する
- テクスチャの圧縮や Sprite モードを設定する
- プラットフォームごとのオーバーライドを適用する
- アセットのインポート方法を調整し、テクスチャの圧縮や Sprite モードを設定し、プラットフォームごとのオーバーライドを適用する
Unity インポーターのスキル
このモジュールを使用して、プロジェクトにすでに存在するテクスチャ、オーディオ、モデルのインポート 設定 を変更します。
バッチ優先:同じカテゴリのアセットを
2+個設定する場合は、バッチセッターを優先してください。
ガードレール
動作モード(v1.9 の3段階):
- Approval(デフォルト):クエリー/ゲッタースキル(
texture_get_settings、texture_get_info、texture_find_assets、texture_find_by_size、texture_get_platform_settings、texture_get_import_settings、audio_get_settings、audio_get_clip_info、audio_find_clips、audio_find_sources_in_scene、audio_get_source_info、audio_get_import_settings、model_get_settings、model_find_assets、model_get_mesh_info、model_get_materials_info、model_get_animations_info、model_get_rig_info、model_get_import_settings、asset_get_labels)はそのまま実行します。セッター/再インポートは FullAuto です。MODE_RESTRICTEDの場合は、grant プロトコルを実行してください。 - Auto/Bypass:SemiAuto と FullAuto はそのまま実行します。
- このモジュールには Delete/PlayMode/Reload/
RiskLevel="high"のスキルはありません。自動的に禁止対象に分類されるものはありません。Approval モードでは、grant を通じてインポーターの変更を実行できます。 - 設定の変更は、必ずしもメモリ内に即時反映されるとは限りません。Unity でアセットを完全に更新する必要がある場合は、
asset_reimport/asset_reimport_batchを呼び出してください。
禁止事項(よくある誤り):
importer_importは存在しません。ファイルをプロジェクトに取り込むには、assetモジュールのasset_importを使用してください。importer_set_formatは存在しません。テクスチャ/オーディオ/モデルごとの専用セッターを使用してください。importer_get_settingsは存在しません。カテゴリごとのゲッターを使用してください。- 設定の変更は、必ずしもメモリ内に即時反映されるとは限りません。再インポートが必要な場合があります。
ルーティング:
- ファイルのインポートまたは更新 →
asset - テクスチャ設定 →
texture_* - オーディオ設定 →
audio_* - モデル設定 →
model_* - 代替のインポーターブリッジスキル →
texture_set_import_settings、audio_set_import_settings、model_set_import_settings - インポーターの強制更新 →
asset_reimportまたはasset_reimport_batch
スキル
テクスチャルート
インポート設定:
| スキル | 用途 | 主なパラメーター |
|---|---|---|
texture_get_settings | テクスチャインポーター設定を読み取る | assetPath |
texture_set_settings | テクスチャインポーター設定を設定する | assetPath、textureType?、maxSize?、filterMode?、compression?、mipmapEnabled?、sRGB?、readable?、wrapMode? |
texture_set_settings_batch | テクスチャ設定を一括処理する | items |
texture_get_import_settings | 最小限のインポーター設定(type/maxSize/compression/filter/srgb/readable/mipmap)を読み取る | assetPath |
texture_set_import_settings | テクスチャインポート用の代替ブリッジ | 同様のテクスチャフィールド |
compressionの語彙。TextureImporterCompressionの CLR メンバー名(Uncompressed、Compressed、CompressedHQ、CompressedLQ)を渡してください。これらはゲッターから返される値でもあります。Inspector の表記もエイリアスとして受け付けます:None→Uncompressed、NormalおよびNormalQuality→Compressed、LowQuality→CompressedLQ、HighQuality→CompressedHQ。先にスペースが削除されるため、"Low Quality"と"High Quality"も機能します。texture_set_settingsとtexture_set_import_settingsはこの同じ語彙を共有します。以前は異なっていましたが、現在は一方で機能する値はもう一方でも機能します。プラットフォームごとのcompressionQualityは、これとは別の0-100の整数です。フィールド一覧の全文 → IMPORT_REFERENCE.md。
検索とランタイム情報:
| スキル | 用途 | 主なパラメーター |
|---|---|---|
texture_find_assets | AssetDatabase フィルターで Texture2D アセットを検索する | filter?、limit?(デフォルトは 50) |
texture_get_info | 寸法、フォーマット、ランタイムメモリサイズを調べる | assetPath |
texture_find_by_size | 寸法の範囲(ピクセル)でテクスチャを検索する | minSize?(0)、maxSize?(99999)、limit?(50) |
型指定/プラットフォームごとのオーバーライド:
| スキル | 用途 | 主なパラメーター |
|---|---|---|
texture_set_type | テクスチャタイプを切り替える | assetPath、textureType(Default/NormalMap/GUI/Sprite/Cursor/Cookie/Lightmap/SingleChannel/Shadowmask/DirectionalLightmap。EditorGUI は GUI のエイリアスです。また、"Normal Map" のような Inspector のラベルもそのまま使用できます) |
texture_set_platform_settings | プラットフォームごとの設定をオーバーライドする | assetPath、platform(Standalone/iPhone/Android/WebGL)、maxSize?、format?(受け付ける値はエディターバージョンによって異なります。拒否された場合は validValues の値を使用してください)、compressionQuality?、overridden? |
texture_get_platform_settings | プラットフォームごとのオーバーライドを読み取る | assetPath、platform |
texture_set_sprite_settings | スプライト固有の設定(PPU、モード) | assetPath、pixelsPerUnit?、spriteMode?(None/Single/Multiple/Polygon) |
sprite_set_import_settings | スプライトインポーターのブリッジ(PPU、packingTag、pivot) | assetPath、spriteMode?(同じ4つの値)、pixelsPerUnit?、packingTag?、pivotX?、pivotY? |
spriteModeはSpriteImportModeのそのままの語彙で、Noneを含む4つのメンバーすべてを使用します。 2つのスキルでは、それに伴う処理が異なります:sprite_set_import_settingsはSingle/Multiple/Polygonの場合にtextureTypeをSpriteに設定し、Noneの場合はテクスチャタイプを意図的に変更しません(スプライトがない Sprite 型のテクスチャは使用できません)。また、結果のtextureTypeを返します。texture_set_sprite_settingsはモードとピクセル単位の設定のみを書き込みます。
一般的なテクスチャ設定の判断:
- UI スプライト ->
textureType="Sprite"。通常はmipmapEnabled=false - ピクセルアート ->
filterMode="Point" - ランタイムでの CPU 読み取り -> 必要な場合に限り
readable=true - プラットフォームに合わせて調整したビルド -> グローバルな
texture_set_settingsよりtexture_set_platform_settingsを優先
Audio Route
インポート設定:
| スキル | 用途 | 主なパラメーター |
|---|---|---|
audio_get_settings | オーディオインポーターの設定を読み取る | assetPath |
audio_set_settings | オーディオインポーターの設定を行う | assetPath、forceToMono?、loadInBackground?、loadType?、compressionFormat?、quality? |
audio_set_settings_batch | オーディオ設定を一括で行う | items |
audio_get_import_settings | インポーターの最小限のデフォルト設定(loadType/format/quality/forceToMono/loadInBackground)を読み取る | assetPath |
audio_set_import_settings | オーディオインポートの代替ブリッジ | 類似のオーディオフィールド |
クリップの検索と情報:
| スキル | 用途 | 主なパラメーター |
|---|---|---|
audio_find_clips | フィルターで AudioClip アセットを検索する | filter?、limit?(デフォルトは50) |
audio_get_clip_info | クリップの長さ/チャンネル数/周波数/サンプル数を調べる | assetPath |
シーンのランタイム(AudioSource/AudioMixer):
| スキル | 用途 | 主なパラメーター |
|---|---|---|
audio_add_source | GameObject に AudioSource を追加する | ターゲット(name/instanceId/path)、clipPath?、playOnAwake?(false)、loop?(false)、volume?(1) |
audio_get_source_info | AudioSource の設定を読み取る | ターゲット |
audio_set_source_properties | AudioSource のフィールドを更新する | ターゲット、clipPath?、volume?、pitch?、loop?、playOnAwake?、mute?、spatialBlend?、priority? |
audio_find_sources_in_scene | アクティブなシーン内のすべての AudioSource を一覧表示する | limit?(デフォルトは50) |
audio_create_mixer | 新しい AudioMixer アセットを作成する | mixerName?(デフォルトは NewAudioMixer)、folder?(デフォルトは Assets) |
一般的なオーディオ設定の判断:
- 長いBGM →
loadType="Streaming" - 短い効果音 →
loadType="DecompressOnLoad" - メモリに配慮が必要な効果音ライブラリ →
forceToMono=trueを検討します - シーン側の AudioSource の調整 → コンポーネントを手動で編集するより、
audio_set_source_propertiesを優先します
モデルルート
インポート設定:
| スキル | 用途 | 主なパラメーター |
|---|---|---|
model_get_settings | モデルインポーターの設定を読み取ります | assetPath |
model_set_settings | モデルインポーターの設定を行います | assetPath、globalScale?、meshCompression?、isReadable?、generateSecondaryUV?、animationType?、importAnimation?、importCameras?、importLights?、materialImportMode? |
model_set_settings_batch | モデル設定を一括で行います | items |
model_get_import_settings | インポーターの最小限の既定値(scale/compression/animationType/importAnimation/materialImportMode)を読み取ります | assetPath |
model_set_import_settings | モデルインポートの代替ブリッジ | 同様のモデルフィールド |
検索と情報:
| スキル | 用途 | 主なパラメーター |
|---|---|---|
model_find_assets | フィルターでモデルアセットを検索します | filter?、limit?(既定値は50) |
model_get_mesh_info | メッシュの頂点数/三角形数/サブメッシュ数の統計情報を取得します | 対象(name/instanceId/path)または assetPath |
model_get_materials_info | モデルに埋め込まれたサブアセットのマテリアルを調べます | assetPath |
model_get_animations_info | モデル上のアニメーションクリップとフレームレートを一覧表示します | assetPath |
model_get_rig_info | animationType、アバター、スケルトンのバインド情報を読み取ります | assetPath |
アニメーションとリグ:
| スキル | 用途 | 主なパラメーター |
|---|---|---|
model_set_animation_clips | アニメーションクリップの分割を設定します | assetPath、clips({name, firstFrame, lastFrame, loop}のJSON配列) |
model_set_rig | リグ/スケルトンモードを切り替えます | assetPath、animationType(None/Legacy/Generic/Human)、avatarSetup? |
animationTypeのリグモード:CLR列挙型メンバーはHumanです。Humanoidはインスペクター上のラベルで、別名として受け付けられるため、どちらの表記も使用できます。model_get_rig_infoはCLR名(Human)を返し、isHumanも返します。
モデルに関する一般的な判断:
- キャラクター → リターゲティングが必要な場合は
animationType="Human"(またはHumanoidの別名)にします - 静的な小道具 → 使用しないカメラ/ライト/アニメーションのインポートを無効にします
- ベイク済みライティング用メッシュ → 適切な場合はセカンダリーUVを有効にします
model_set_rigまたはmodel_set_animation_clipsの実行後 →asset_reimportを呼び出してクリップとアバターを更新します
再インポートのルール
インポーターの変更後、Unityでアセットを完全に更新する必要がある場合は、再インポートを使用します。
| スキル | 用途 |
|---|---|
asset_reimport | 1つのアセットを再インポートします |
asset_reimport_batch | 検索範囲に一致するアセットを再インポートします |
最小限の例
import unity_skills
unity_skills.call_skill("texture_set_settings_batch", items=[
{"assetPath": "Assets/UI/icon_play.png", "textureType": "Sprite", "mipmapEnabled": False},
{"assetPath": "Assets/UI/icon_pause.png", "textureType": "Sprite", "mipmapEnabled": False}
])
unity_skills.call_skill("audio_set_settings",
assetPath="Assets/Audio/bgm.mp3",
loadType="Streaming",
compressionFormat="Vorbis",
quality=0.7
)
unity_skills.call_skill("asset_reimport", assetPath="Assets/Audio/bgm.mp3")
正確なシグネチャ
正確な名前、パラメーター、既定値、戻り値は、このファイルではなくGET /skills/schemaまたはunity_skills.get_skill_schema()で定義されています。
拡張アセット検索/クエリヘルパー、プラットフォームのオーバーライド、リグ/アニメーションの詳細、インポーター側のベストプラクティスについては、IMPORT_REFERENCE.mdを読み込んでください。