Skip to content
unity-importer logo

Unity Importer Skills

unity-importer

Asset import settings — texture/audio/model importers, sprite settings, per-platform overrides, and reimport. Exact signatures via GET /skills/schema.

SKILL.md

Full skill instructions

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

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/Sprite/EditorGUI/Cursor/Cookie/Lightmap/SingleChannel)
texture_set_platform_settingsOverride per-platform settingsassetPath, platform (Standalone/iPhone/Android/WebGL), maxSize?, format?, compressionQuality?, overridden?
texture_get_platform_settingsRead per-platform overrideassetPath, platform
texture_set_sprite_settingsSprite-specific knobs (PPU, mode)assetPath, pixelsPerUnit?, spriteMode? (Single/Multiple/Polygon)
sprite_set_import_settingsSprite importer bridge (PPU, packingTag, pivot)assetPath, spriteMode?, pixelsPerUnit?, packingTag?, pivotX?, pivotY?

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/Humanoid), avatarSetup?

Common model decisions:

  • Characters -> animationType="Humanoid" 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.