mcpField
U
unity-importer

unity-importer

github.com/besty0728開発1.9k83 回インストール今日更新
リポジトリ

unity-importer について

unity-importerは、Unityにある既存のテクスチャ、オーディオ、モデルのインポート設定を確認・変更するスキルモジュールです。一括設定、テクスチャのプラットフォーム別設定、アセットの再インポートにも対応します。

主な機能

  1. 01テクスチャ、オーディオ、モデル設定の確認
  2. 02個別または一括でのインポート設定変更
  3. 03テクスチャのプラットフォーム別設定
  4. 04スプライト、オーディオ、リグ、アニメーションの設定
  5. 05変更後のアセット再インポート

活用シーン

  1. 01プロジェクト内アセットのテクスチャ圧縮を設定する
  2. 02プラットフォーム別のテクスチャ設定を適用する
  3. 03オーディオの読み込みと圧縮を設定する
  4. 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_assetsAssetDatabase フィルターで 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_sourceGameObject に AudioSource を追加するターゲット(name/instanceId/path)、clipPath?、playOnAwake?(false)、loop?(false)、volume?(1)
audio_get_source_infoAudioSource の設定を読み取るターゲット
audio_set_source_propertiesAudioSource のフィールドを更新するターゲット、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_infoanimationType、アバター、スケルトンのバインド情報を読み取ります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_reimport1つのアセットを再インポートします
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を読み込んでください。

コメント