跳到正文
FunCoding

unity-importer

Configure asset import settings

Star
1,830
分类
其他
许可证
MIT
最近提交
2026年10月12日

SkillsForUnity/unity-skills~/skills/importer/SKILL.md

在 GitHub 上查看

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.

相似的 Skill

claude-handoff

MAmattpocock/skills288k近 7 天新增 10,178 个 star

agent-payment-x402

AFaffaan-m/ECC278k近 7 天新增 4,046 个 star

agent-self-evaluation

AFaffaan-m/ECC278k近 7 天新增 4,046 个 star

bengali-nlp

AFaffaan-m/ECC278k近 7 天新增 4,046 个 star

ponytail-gain

DIDietrichGebert/ponytail162k近 7 天新增 5,405 个 star

ponytail-debt

DIDietrichGebert/ponytail162k近 7 天新增 5,405 个 star