This feature merges textures and materials, then merges meshes that use the same material to reduce mesh count and material slot count.
The original avatar is disabled, and an optimized duplicate is created.
Because this feature is designed to optimize while preserving avatar features as much as possible, the amount of optimization may vary depending on the outfit and how the avatar was authored.
This feature works reliably with lilToon. Material merging may not work fully with other shaders.
Click KOBO-KITS → TextureColorKit from the Unity menu.
In the Optimization / Texture & Material Merge area, assign the avatar root GameObject. Active SkinnedMeshRenderer and MeshRenderer components under the root are analyzed automatically.

Auto resolution prioritizes placing as many textures as possible on the same page to improve material merging. Check the preview for page count, placed boxes, and standalone items.
You can adjust the generated Atlas texture size and count by setting the maximum texture size per material and the output resolution.
Standalone items are kept out of the Atlas for safety or compatibility. This can happen when a material is swapped by animation, uses a different UV mode, or uses a separate UV transform such as decal. The reason is shown below the preview.
.png)
Check the output folder and prefix, then run Atlas Bake. Generated textures are saved under Texture_atlas, materials under Material_atlas, and rebuilt meshes under Mesh_atlas.
After applying the Atlas, check merge candidates in the Mesh Merge area. SkinnedMeshRenderer objects with matching renderer settings, bone structure, and probe settings are grouped together.
When you run a mergeable group, a new Merged_* object and merged mesh are created, and the original renderer objects are disabled.
.png)