<< All versions

Skill v1.0.3

Automated scan100/100
besty0728/unity-skills/optimization

~1 modified

──Details
PublishedAugust 18, 2026 at 07:39 PM
Content Hashsha256:7d85333a031ca763...
Git SHAa1ee16e0d432
Bump Typepatch
Compare with v1.0.2
──Files
Files (1 file, 7.2 KB)
SKILL.md7.2 KBactive
SKILL.md · 150 lines · 7.2 KB

version: "1.0.3" name: unity-optimization description: Optimize project assets and scenes


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

  • Reducing build size
  • Batch-compressing assets
  • Analyzing scene poly/material usage
  • 缩减包体、批量压缩资源、分析场景面数与材质用量

Optimization Skills

Optimize project assets (Textures, Models).

Operating Mode

  • Approval: 只读分析类 skill(optimize_analyze_scene / optimize_find_large_assets / optimize_get_static_flags / optimize_find_duplicate_materials / optimize_analyze_overdraw,标 SkillMode.SemiAuto)直接执行;写型 skill(optimize_textures / optimize_mesh_compression / optimize_audio_compression / optimize_set_static_flags / optimize_set_lod_group,默认 SkillMode.FullAuto)需用户 grant,grant 后一步执行返结果。
  • Auto / Bypass: 直接执行。
  • 本模块不含 Delete / PlayMode / Reload / RiskLevel=high 类 skill —— 写型 skill 改的是 Importer / 组件设置,会重新导入资源,但不会触发 Domain Reload,也不会被 IsForbiddenInSemi 拦截。批量操作前务必检查筛选范围(filter / assetType),改完无 dry-run 回滚。

DO NOT (common hallucinations):

  • optimize_scene / optimization_run do not exist → use specific skills: optimize_analyze_scene, optimize_find_large_assets, optimize_find_duplicate_materials, etc.
  • optimize_compress / optimize_compress_textures / optimize_compress_meshes / optimize_compress_audio do not exist → use optimize_textures (textures), optimize_mesh_compression (meshes), optimize_audio_compression (audio)
  • optimize_set_lod / optimize_setup_lod do not exist → use optimize_set_lod_group
  • Optimization skills are analysis + action tools — always review results before applying batch changes

Routing:

  • For profiler metrics → use profiler module
  • For static batching flags → optimize_set_static_flags (this module)
  • For performance review guidance → load performance advisory module

Skills

optimize_textures

Optimize texture settings (maxSize, compression). Returns list of modified textures.

ParameterTypeRequiredDefaultDescription
maxTextureSizeintNo2048Max texture size
enableCrunchboolNotrueEnable crunch compression
compressionQualityintNo50Compression quality 0-100
filterstringNo""Asset filter

Returns: { success, count, message, modified }

optimize_mesh_compression

Set mesh compression for 3D models.

ParameterTypeRequiredDefaultDescription
compressionLevelstringNo"Medium"Compression level: Off/Low/Medium/High
filterstringNo""Asset filter

Returns: { success, count, compression, modified }

optimize_analyze_scene

Analyze scene for performance bottlenecks (high-poly meshes, excessive materials).

ParameterTypeRequiredDefaultDescription
polyThresholdintNo10000Triangle count threshold for high-poly warning
materialThresholdintNo5Material slot count threshold for excessive materials warning

Returns: { success, totalRenderers, totalTriangles, totalMaterialSlots, issueCount, issues }

optimize_find_large_assets

Find assets exceeding a size threshold (in KB).

ParameterTypeRequiredDefaultDescription
thresholdKBintNo1024Size threshold in KB
assetTypestringNo""Asset type filter (e.g. Texture2D, AudioClip)
limitintNo50Maximum number of results

Returns: { success, threshold, count, assets }

optimize_set_static_flags

Set static flags on GameObjects. flags: Everything/Nothing/BatchingStatic/OccludeeStatic/OccluderStatic/NavigationStatic/ReflectionProbeStatic

ParameterTypeRequiredDefaultDescription
namestringNonullGameObject name
instanceIdintNo0GameObject instance ID
pathstringNonullGameObject hierarchy path
flagsstringNo"Everything"Static flags to set
includeChildrenboolNofalseApply to all children recursively

Returns: { success, gameObject, flags, affectedCount }

optimize_get_static_flags

Get static flags of a GameObject.

ParameterTypeRequiredDefaultDescription
namestringNonullGameObject name
instanceIdintNo0GameObject instance ID
pathstringNonullGameObject hierarchy path

Returns: { success, gameObject, flags, isStatic }

optimize_audio_compression

Batch set audio compression. compressionFormat: PCM/Vorbis/ADPCM. loadType: DecompressOnLoad/CompressedInMemory/Streaming

ParameterTypeRequiredDefaultDescription
compressionFormatstringNo"Vorbis"Audio compression format: PCM/Vorbis/ADPCM
loadTypestringNo"CompressedInMemory"Audio load type: DecompressOnLoad/CompressedInMemory/Streaming
qualityfloatNo0.5Compression quality 0.0-1.0
filterstringNo""Asset filter

Returns: { success, count, compressionFormat, loadType, modified }

optimize_find_duplicate_materials

Find materials with identical shader and properties.

ParameterTypeRequiredDefaultDescription
limitintNo50Maximum number of duplicate groups to return

Returns: { success, duplicateGroups, groups }

optimize_analyze_overdraw

Analyze transparent objects that may cause overdraw.

ParameterTypeRequiredDefaultDescription
limitintNo50Maximum number of results

Returns: { success, transparentObjectCount, objects }

optimize_set_lod_group

Add or configure LOD Group. lodDistances: comma-separated screen-relative heights (e.g. '0.6,0.3,0.1')

ParameterTypeRequiredDefaultDescription
namestringNonullGameObject name
instanceIdintNo0GameObject instance ID
pathstringNonullGameObject hierarchy path
lodDistancesstringNo"0.6,0.3,0.1"Comma-separated screen-relative transition heights

Returns: { success, gameObject, lodLevels, distances }


Exact Signatures

Exact names, parameters, defaults, and returns are defined by GET /skills/schema or unity_skills.get_skill_schema(), not by this file.

← v1.0.2All versionsv1.0.4 →