10 Optimization
Rina edited this page 2026-08-04 14:29:52 +00:00

Optimization

The Optimization panel provides tools for reducing your model's complexity and improving performance. It's a container with sub-panels grouped by what they act on:

  • Materials - combine materials, convert textures to PNG
  • Mesh Cleanup - join, separate, remove doubles, normals, transforms
  • Shape Keys - remove unused, repair, optimize static
  • Bones & Weights - merge bones and weights, delete unused bones/groups
  • Atlas Generation - combine textures into a single atlas (being removed, see below)

📝 These panels were recently reorganized. Material Operations is now Materials (mesh work moved out of it), Mesh & Bone Cleanup is now Bones & Weights, and the old nested Mesh Tools panel was split into Mesh Cleanup and Shape Keys. Atlas Generation moved to the bottom of the list.

Table of Contents


Materials

Tools for optimizing the materials and textures on your model.

Combine Materials

Merges multiple materials into fewer materials:

  • Reduces draw calls
  • Improves performance
  • Maintains texture assignments
  • Preserves UV maps
  • Ideal for objects sharing similar materials

How to use:

  1. Select your model
  2. Click Combine Materials
  3. Materials with the same properties will be merged

Convert All to PNG

Converts all textures in your model to PNG format:

  • Ensures maximum compatibility across platforms
  • Maintains alpha channels
  • Helps prevent texture issues in-game
  • Standard format for VRChat

How to use:

  1. Select your model
  2. Click Convert All to PNG
  3. All textures will be converted and saved

Mesh Cleanup

Everything that reshapes or tidies up mesh objects.

Join Meshes

All:

  • Combines all meshes into one object
  • Maintains material assignments
  • Preserves vertex groups and weights
  • Ideal for final optimization

Selected:

  • Merges only chosen meshes
  • Perfect for partial optimization
  • Keeps other meshes separate
  • Useful for selective optimization

How to use:

  1. Select meshes (for Selected)
  2. Click the appropriate join button
  3. Meshes will be combined

Separate By

Split a mesh into multiple objects.

  • Materials - one object per material. Good for organizing complex models or optimizing specific sections.
  • Loose Parts - one object per disconnected piece. Useful for finding stray/hidden geometry.
  • Shapes - creates separate meshes from shape keys (advanced; useful for editing or analysis).

⚠ Separation isn't always easy to undo, save first.

Remove Doubles

Eliminates duplicate vertices in your mesh:

  • Adjustable threshold for precise control
  • Reduces vertex count
  • Fixes common mesh issues
  • Improves performance

How to use:

  1. Select your mesh
  2. Set the merge distance threshold
  3. Click Remove Doubles
  4. Duplicate vertices within the threshold will be merged

Normals

  • Recalculate - fixes inside-out faces and shading issues by making face directions consistent. This is the one you usually want (after mesh edits, boolean ops, or import shading problems).
  • Flip - inverts all normals. Only use this if the entire mesh is inside-out.

Transforms

Apply Transformations bakes an object's position, rotation and scale into the mesh and resets the transform to defaults. Important before merging models and before creating shape keys, and after scaling.

The small button beside it applies transforms to all objects at once.

⚠ Applying transforms can't be easily undone, save first.

When to Use Each Feature

  • Join Meshes: For final optimization before export
  • Separate By: When you need to isolate part of a model
  • Remove Doubles: When a mesh has overlapping or duplicate vertices
  • Recalculate Normals: When shading looks wrong
  • Apply Transformations: Before merging models or creating shape keys

Important: These operations are permanent. Always save your work before using these tools. Consider keeping a backup of your original files.


Shape Keys

  • Remove Unused Shapekeys - removes shape keys that don't actually deform the mesh, reducing file size.
  • Repair Broken Shapekeys - undoes a bogus offset that some Blender operations bake into every shape key at once. See below.
  • Optimize Static Shapekeys - keeps only the vertices a shape key actually moves, significantly reducing file size. Safe and recommended before export.

Repair Broken Shapekeys, in detail

Certain Blender operations leave every non-basis shape key displaced by the same wrong amount, so the mesh jumps to a strange pose the moment any key is dialled above zero.

The tool works out that common offset by comparing all the non-basis keys vertex by vertex and taking the position most of them agree on, then subtracts it from each key. Keys carrying a genuine expression on top of the corruption keep that expression, they only lose the shared error.

Use it when: every shape key is wrong in the same way. That's the shape of damage it's built for.

Not a general repair button. If only one or two keys are broken, or each is broken differently, there is no majority to find and the result will be wrong. Fix those by hand.

💡 It needs at least one non-basis shape key to compare against. On a mesh with only a Basis it does nothing and says so.

Preparing for VRChat upload

  1. Remove Unused Shapekeys
  2. Optimize Static Shapekeys
  3. Recalculate Normals (see Mesh Cleanup)
  4. Proceed to export

Bones & Weights

The Bones & Weights sub-panel (formerly "Mesh & Bone Cleanup", and "Bone Merging" before that) provides advanced tools for optimizing your avatar's armature and reducing bone count.

Merge Bones

Merge Options

Merge Mesh:

  • Available when multiple meshes are present
  • Combines meshes before bone operations
  • Preserves weight assignments

Merge Bone:

  • Controls which bones to merge
  • Smart selection based on bone influence
  • Preserves important bones automatically

Merge Ratio:

  • Sets the merging threshold (0.0 to 1.0)
  • Higher values merge more aggressively
  • Lower values are more conservative
  • Recommended: Start with 0.5 and adjust

Primary Actions

Refresh Root:

  • Updates root bone references
  • Fixes hierarchy issues
  • Ensures proper bone relations
  • Use after making changes to armature

Bone Merge:

  • Executes the merging process
  • Combines selected bones based on settings
  • Redistributes weights intelligently
  • Reduces overall bone count

Merge Weights

To Parents:

  • Combines all weight groups
  • Optimizes weight distribution
  • Reduces overall weight count
  • Good for final optimization

To Active:

  • Transfers weights to active object
  • Ideal for specific mesh optimization
  • Maintains weight influence
  • Use for selective optimization

Additional Options

Keep Merged Bones:

  • Retains merged bones as backup
  • Allows for reverting changes
  • Useful for testing results
  • Disable for maximum optimization

Merge Visible Meshes Only:

  • Processes only visible objects
  • Helps with selective optimization
  • Maintains hidden backups
  • Good for iterative workflow

Delete

Zero Weight Bones:

  • Deletes bones with no weight influence
  • Reduces armature complexity
  • Improves performance
  • Safe to use in most cases

Constraints:

  • Clears bone constraints
  • Simplifies armature behavior
  • Reduces computation needs
  • Use if constraints aren't needed

Zero Weight Vertex Groups:

  • Cleans empty vertex groups
  • Reduces file size
  • Improves viewport performance
  • Safe cleanup operation

Keep Twist Bones Option:

  • Preserves important animation bones
  • Maintains smooth deformations
  • Prevents animation issues
  • Enable for better animation quality

Keep Empty Parent Bones:

  • Retains parent bones even without weights
  • Maintains hierarchy integrity
  • Prevents structural issues
  • Enable for complex rigs

Skip Hidden Bones:

  • Ignores hidden bones during cleanup
  • Preserves specific rig setups
  • Ensures hidden bones remain unaffected
  • Use when you have helper bones

Bone Tools

Duplicate Bones:

  • Creates copies of selected bones
  • Useful for custom rigging
  • Maintains original structure
  • Advanced feature for custom rigs

Connect Bones:

  • Points each bone's tail at its child, so a limb reads as one continuous chain instead of a row of floating bones
  • Connects a bone to its parent only where the parent has a single child, which is where the bone's head already sits on the parent's tail
  • Deliberately leaves branching joints alone (shoulders and hips off the spine, finger bases off the wrist)
  • Runs the same operation as the Connect Bones checkbox in Fix MMD Model's ⚙ Model Settings, so you don't need both

⚠ Connecting a bone is not cosmetic. Blender snaps the bone's head onto its parent's tail, which moves the bone. That is why Cats only connects the cases where nothing has to move, connecting everything would drag both arms and both legs into the middle of the spine.

The digitigrade-leg and twist-bone generation tools are not here, they have their own Bone Tools panel.

Best Practices

  1. Always start with a backup - Bone merging significantly modifies your armature
  2. Test merge ratios - Try different values on a copy first
  3. Check animations after merging - Ensure movements still work correctly
  4. Use cleanup tools last - Do all modifications before cleanup
  5. Keep twist bones - Unless you're absolutely sure you don't need them
  6. Refresh root after changes - Keep bone hierarchy up to date

Workflow Example

  1. Start with Merge Ratio at 0.5
  2. Enable Keep Merged Bones for safety
  3. Click Bone Merge
  4. Check the result
  5. If satisfactory, run Zero Weight Bones
  6. Then Zero Weight Vertex Groups
  7. Finally Constraints if not needed

Warning: These operations significantly modify your armature structure. Always keep a backup of your original file before proceeding. Test on a copy first if you're unsure.


Atlas Generation

The Atlas tab helps you combine multiple textures into a single texture atlas, reducing draw calls and improving avatar performance.

Material Combiner is deprecated and will be removed in Cats 5.2.4.0. The external Material Combiner (used for atlasing) is no longer maintained by its author. A built-in atlas tool will replace it, it is not shipped yet. Until then, the current integration still works as described below.

What is an Atlas?

A texture atlas combines multiple textures into one larger texture, which:

  • Reduces draw calls significantly
  • Improves avatar performance
  • Helps meet platform texture limitations
  • Simplifies material management

Requirements

The Atlas feature requires the Shotariya Material Combiner (SMC) extension to be installed.

Installation States

The Atlas tab will show different interfaces depending on SMC status:

When SMC is NOT installed:

  • Shows installation instructions
  • Provides direct download link
  • Explains why SMC is needed

When SMC is disabled:

  • Shows quick enable button
  • No restart required
  • Instant access after enabling

When SMC is outdated:

  • Shows version compatibility information
  • Provides link to compatible version

When SMC is properly installed:

  • Full access to atlas creation tools
  • Material combining options available

How to Use Material Combiner

  1. Select your model's armature or meshes
  2. Open the Atlas Generation tab in the Optimization panel
  3. Review the list of materials
  4. Check/uncheck boxes to include/exclude materials
    • Use Select All/Deselect All for quick selection
  5. Configure atlas settings:
    • Set atlas size (texture resolution)
    • Set size for materials without images (default: 32px)
  6. Click 'Save atlas to...' and choose save location
  7. Wait for the atlas to be created

Important Notes

📝 For PBR/Normal maps: Use Tuxedo Blender Plugin instead. Material Combiner in Cats is primarily for diffuse textures.

📝 Material Combiner (Atlas) is not developed by us. Please report any issues on their GitHub.

Version Compatibility: Our Material Combiner fork is for Blender 5.1+. If you're using Blender 5.0 or older, use the original Material Combiner instead.

Troubleshooting: If materials don't merge properly or textures are missing from the atlas, check the Material Combiner troubleshooting guide.

Benefits of Using Atlas

  • Reduces draw calls from multiple materials to one
  • Significant performance improvement
  • Helps meet platform mesh/material limits
  • Easier to manage single material vs. many

Optimization Workflow

  1. Mesh Cleanup:

    • Apply transformations
    • Join meshes if needed
    • Remove doubles
    • Recalculate normals if shading looks wrong
  2. Shape Keys:

    • Remove unused and optimize static shape keys
  3. Materials:

    • Combine materials
  4. Atlas Generation:

    • Create texture atlas
    • Reduce material count
  5. Bones & Weights:

    • Merge bones
    • Clean up unused bones and weights
  6. Final Check:

    • Test animations
    • Verify materials
    • Check vertex counts

Performance Tips

  • Atlasing gives the biggest performance boost
  • Bone merging helps with platform limits
  • Material combining reduces draw calls
  • Remove doubles reduces vertex count

Related Pages:


Last Updated: August 4, 2026 | Plugin Version: 5.2.3.1 | Blender: 5.1 & 5.2 (5.2 LTS recommended)