L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

unity-importer

unity-importer

Configure asset import settings

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: unity-importer description: Configure asset import settings

Before calling any skill in this module: if you are about to call a skill with parameters guessed from its name or description, STOP — read this file (or fetch its schema via GET /skills/recommend?includeSchema=true) first. If you already have the parameter definitions from recommend/schema, you may proceed straight to dryRun.

Triggers

  • Adjusting how assets import
  • Setting texture compression or sprite modes
  • Applying per-platform overrides
  • 调整资源导入方式、设置贴图压缩或 Sprite 模式、应用分平台覆盖

Unity Importer Skills

Use this module to change import settings for textures, audio, and models that already exist in the project.

Batch-first: Prefer the batch setters when configuring 2+ assets of the same category.

Guardrails

Operating Mode (v1.9 three-tier):

  • Approval (default): query/getter skills (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) run directly. Setters / reimport are FullAuto — on MODE_RESTRICTED, run the grant protocol.
  • Auto / Bypass: SemiAuto and FullAuto run directly.
  • This module contains no Delete / PlayMode / Reload / RiskLevel="high" skills — nothing auto-classifies as forbidden. Importer mutations are reachable via grant in Approval mode.
  • Setting changes do not always apply in memory immediately; call asset_reimport / asset_reimport_batch when Unity needs to fully refresh the asset.

DO NOT (common hallucinations):

  • importer_import does not exist -> use asset_import in the asset module to bring files into the project
  • importer_set_format does not exist -> use the specific texture/audio/model setters
  • importer_get_settings does not exist -> use the category-specific getters
  • Settings changes do not always apply instantly in memory. Reimport may still be required

Routing:

  • File import or refresh -> asset
  • Texture settings -> texture_*
  • Audio settings -> audio_*
  • Model settings -> model_*
  • Alternative importer bridge skills -> texture_set_import_settings, audio_set_import_settings, model_set_import_settings
  • Force importer refresh -> asset_reimport or asset_reimport_batch

Skills

Texture Route

Import settings:

SkillUseKey parameters
texture_get_settingsRead texture importer settingsassetPath
texture_set_settingsSet texture importer settingsassetPath, textureType?, maxSize?, filterMode?, compression?, mipmapEnabled?, sRGB?, readable?, wrapMode?
texture_set_settings_batchBatch texture settingsitems
texture_get_import_settingsRead minimal importer settings (type/maxSize/compression/filter/srgb/readable/mipmap)assetPath
texture_set_import_settingsAlternative texture import bridgesimilar texture fields

compression vocabulary. Pass the CLR member names of TextureImporterCompression — Uncompressed, Compressed, CompressedHQ, CompressedLQ — which are also what the getters echo back. The Inspector's wording is accepted as aliases: None → Uncompressed, Normal and NormalQuality → Compressed, LowQuality → CompressedLQ, HighQuality → CompressedHQ; spaces are stripped first, so "Low Quality" and "High Quality" also work. texture_set_settings and texture_set_import_settings share this one vocabulary — they used to disagree, so a value that works on one now works on the other. Per-platform compressionQuality is a separate 0-100 integer, not this enum. Full field list → IMPORT_REFERENCE.md.

Query and runtime info:

SkillUseKey parameters
texture_find_assetsSearch Texture2D assets by AssetDatabase filterfilter?, limit? (default 50)
texture_get_infoInspect dimensions, format, and runtime memory sizeassetPath
texture_find_by_sizeFind textures in a dimension range (pixels)minSize? (0), maxSize? (99999), limit? (50)

Typed / platform overrides:

SkillUseKey parameters
texture_set_typeSwitch texture typeassetPath, textureType (Default/NormalMap/GUI/Sprite/Cursor/Cookie/Lightmap/SingleChannel/Shadowmask/DirectionalLightmap; EditorGUI aliases GUI, and Inspector labels like "Normal Map" work as-is)
texture_set_platform_settingsOverride per-platform settingsassetPath, platform (Standalone/iPhone/Android/WebGL), maxSize?, format? (accepted set is editor-version dependent — take it from validValues on a rejection), compressionQuality?, overridden?
texture_get_platform_settingsRead per-platform overrideassetPath, platform
texture_set_sprite_settingsSprite-specific knobs (PPU, mode)assetPath, pixelsPerUnit?, spriteMode? (None/Single/Multiple/Polygon)
sprite_set_import_settingsSprite importer bridge (PPU, packingTag, pivot)assetPath, spriteMode? (same four values), pixelsPerUnit?, packingTag?, pivotX?, pivotY?

spriteMode is the plain SpriteImportMode vocabulary — all four members, None included. The two skills differ in what they do around it: sprite_set_import_settings forces textureType to Sprite for Single/Multiple/Polygon and deliberately leaves the texture type alone for None (a Sprite-typed texture with no sprite is unusable), and it echoes the resulting textureType back. texture_set_sprite_settings only writes the mode and pixels-per-unit.

Common texture decisions:

  • UI sprites -> textureType="Sprite", usually mipmapEnabled=false
  • Pixel art -> filterMode="Point"
  • Runtime CPU reads -> readable=true only when necessary
  • Platform-tuned builds -> prefer texture_set_platform_settings over global texture_set_settings

Audio Route

Import settings:

SkillUseKey parameters
audio_get_settingsRead audio importer settingsassetPath
audio_set_settingsSet audio importer settingsassetPath, forceToMono?, loadInBackground?, loadType?, compressionFormat?, quality?
audio_set_settings_batchBatch audio settingsitems
audio_get_import_settingsRead minimal importer defaults (loadType/format/quality/forceToMono/loadInBackground)assetPath
audio_set_import_settingsAlternative audio import bridgesimilar audio fields

Clip query and info:

SkillUseKey parameters
audio_find_clipsSearch AudioClip assets by filterfilter?, limit? (default 50)
audio_get_clip_infoInspect length/channels/frequency/samples of a clipassetPath

Scene runtime (AudioSource / AudioMixer):

SkillUseKey parameters
audio_add_sourceAdd an AudioSource to a GameObjecttarget (name/instanceId/path), clipPath?, playOnAwake? (false), loop? (false), volume? (1)
audio_get_source_infoRead the AudioSource configurationtarget
audio_set_source_propertiesUpdate AudioSource fieldstarget, clipPath?, volume?, pitch?, loop?, playOnAwake?, mute?, spatialBlend?, priority?
audio_find_sources_in_sceneList all AudioSources in the active scenelimit? (default 50)
audio_create_mixerCreate a new AudioMixer assetmixerName? (default NewAudioMixer), folder? (default Assets)

Common audio decisions:

  • Long BGM -> loadType="Streaming"
  • Short SFX -> loadType="DecompressOnLoad"
  • Memory-sensitive SFX libraries -> consider forceToMono=true
  • Scene-side AudioSource tuning -> prefer audio_set_source_properties over manual component edits

Model Route

Import settings:

SkillUseKey parameters
model_get_settingsRead model importer settingsassetPath
model_set_settingsSet model importer settingsassetPath, globalScale?, meshCompression?, isReadable?, generateSecondaryUV?, animationType?, importAnimation?, importCameras?, importLights?, materialImportMode?
model_set_settings_batchBatch model settingsitems
model_get_import_settingsRead minimal importer defaults (scale/compression/animationType/importAnimation/materialImportMode)assetPath
model_set_import_settingsAlternative model import bridgesimilar model fields

Query and info:

SkillUseKey parameters
model_find_assetsSearch model assets by filterfilter?, limit? (default 50)
model_get_mesh_infoMesh vertex / triangle / submesh statstarget (name/instanceId/path) or assetPath
model_get_materials_infoInspect sub-asset materials embedded in the modelassetPath
model_get_animations_infoList animation clips and framerates on the modelassetPath
model_get_rig_infoRead animationType, avatar, skeleton binding infoassetPath

Animation and rig:

SkillUseKey parameters
model_set_animation_clipsConfigure animation clip splitsassetPath, clips (JSON array of {name, firstFrame, lastFrame, loop})
model_set_rigSwitch rig/skeleton modeassetPath, animationType (None/Legacy/Generic/Human), avatarSetup?

animationType rig mode: the CLR enum member is Human — Humanoid is the Inspector's label for it and is accepted as an alias, so either spelling works. model_get_rig_info echoes the CLR name (Human) and also returns isHuman.

Common model decisions:

  • Characters -> animationType="Human" (or the Humanoid alias) when retargeting is required
  • Static props -> disable cameras/lights/animation imports when unused
  • Baked-lighting meshes -> enable secondary UVs when appropriate
  • After model_set_rig or model_set_animation_clips -> call asset_reimport to refresh clips and avatar

Reimport Rule

After importer changes, use reimport when you need Unity to fully refresh the asset:

SkillUse
asset_reimportReimport one asset
asset_reimport_batchReimport assets matching a search scope

Minimal Example

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")

Exact Signatures

Exact names, parameters, defaults, and returns are defined by GET /skills/schema or unity_skills.get_skill_schema(), not by this file. Load IMPORT_REFERENCE.md for extended asset search/query helpers, platform overrides, rig/animation details, and importer-side best practices.

Skills enregistrées