A set of useful editor extensions for Unity and VRChat.
Documentation: https://kxn4t.github.io/kanameliser-editor-plus/en/
Displays mesh information for selected objects and their children in the top-left corner of the Scene view. You can check polygon count, material count, material slot count, and mesh count.
When the selection contains particle systems or Trail/Line renderers, a separate section below the mesh counts shows the particle system count and the material slots these renderers consume. They count toward VRChat’s Material Slots performance stat but are not included in the mesh-based counts above.
When NDMF preview is active, you can check optimization results from AAO/TTT/Meshia and adjust accordingly.
Toggle: Tools > Kanameliser Editor Plus > [Settings] > Show Mesh Info Display
Particle info toggle: Tools > Kanameliser Editor Plus > [Settings] > Show Particle Info Display
Quickly toggle between GameObject active state and EditorOnly tag.
Shortcut: Ctrl+G
Lists all components on selected objects and their children.
Access: Tools > Kanameliser Editor Plus > Component Manager
Copy & paste materials from multiple selected GameObjects to GameObjects with matching names.
Copy MaterialsPaste MaterialsMaterials are applied to objects with matching names (e.g., Head → Head, Body → body).
Source and target objects are automatically matched in the following priority order. Only objects with a Renderer are considered.
Outfit/Jacket → Outfit/JacketOutfit_A/Outer/Accessories/Earing (depth 3) → Outfit_B/Inner/Accessories/Earing (depth 3)Outfit/Outer/Jacket (depth 3) → Jacket (depth 1)earing → EaringBody_01 ≈ Body_02) or sharing a common base name (e.g., Ribbon_blue ≈ Ribbon_red), ranked by a composite score
Ribbon_blue → Ribbon_red, Hair.001 → Hair.002When multiple candidates remain at the same priority, hierarchy path similarity (comparing parent folders from the leaf upward), ancestor context matching, depth proximity, and Levenshtein distance are used for selection.
This matching specification is also shared by MA Material Helper.
When automatic matching does not produce the expected result, enable verbose logging to see full match decision details in the Unity console. This toggle also applies to MA Material Helper matching.
Toggle: Tools > Kanameliser Editor Plus > [Settings] > Verbose Matching Logs
Access: Right-click in Hierarchy Kanameliser Editor Plus > Copy/Paste Materials
Copy & paste FBX import settings between FBX assets in the Project window. Useful when importing multiple FBX files that should share the same import setup (e.g. outfits supporting multiple avatars).
Copy FBX SettingsPaste FBX SettingsRemapped Materials are applied only where the target has a material with the same name; unmatched entries are left untouched. Animation clip definitions and Humanoid bone mappings (Avatar Configuration) are not copied, as they are specific to each file.
Note: Import settings changes cannot be undone with Ctrl+Z.
Access: Right-click an FBX in the Project window Kanameliser Editor Plus > Copy FBX Settings / Paste FBX Settings
Automatically generates color change menus using Modular Avatar’s material control components. Create color change menus from color variation prefabs in just a few clicks, with support for simultaneous generation from multiple prefabs.
Requirement: Modular Avatar 1.13.0 or higher
Copy Color Variants (multiple selection supported)Create Color Menu (this item appears after copying)If you are unsure of the steps, open [How to Create Color Menu] from the right-click menu at any time to review the workflow and see a list of the currently copied objects.
A “Color Menu” with numbered color variations (Color1, Color2, etc.) is automatically created. Create Color Menu generates Modular Avatar Material Setter components per slot, which works for most cases.
For special cases, the Advanced submenu offers alternative generation modes:
Create Material Setter (All Slots) — Create setters for all slots (may affect performance, recommended only when you need to customize manually)Create Material Swap — Set materials by replacement rulesCreate Material Swap (Per Object) — Create individual swaps per objectMaterial Setter (used by Create Color Menu) is recommended for most use cases.
Use Material Setter (most cases):
Use Material Swap:
Material Swap cannot handle cases like:
Mesh A:
Slot 0: Material X → want to change to Material Y
Slot 1: Material X → want to change to Material Z
Material Swap can only replace “Material X” with one material, so both slots end up with the same result. Material Setter can specify per slot, allowing each to change to a different material.
When an outfit is converted to fit another avatar (e.g. with auto-fitting tools), a renderer’s material slot order can change, so an index-based color setup ends up on the wrong slots. Add a remapping component to the converted outfit and point it at the original outfit to fix this:
Add Material Slot RemappingReference Prefab → click Generate MappingCopy Color Variants / Create Color Menu as usual — generation follows the mapping so colors land on the correct slotsThe mapping is generated from material references, so generate it before changing the converted outfit’s materials (i.e. right after conversion).
After generation, only the slot correspondence (indices) is stored, so changing the outfit’s materials afterwards does not break the mapping.
When the same material (or an empty slot) occurs more than once, the slot order cannot be determined uniquely. A confirmation dialog and warnings identify these cases; review the estimated mapping and adjust it manually in the Inspector when needed.
Material Setter / Material Swap generate material replacement animations at build time, so meshes targeted by a color change menu are excluded from automatic mesh merging by AAO: Avatar Optimizer’s Trace and Optimize and cost extra draw calls. When you can spare the effort, merge the target meshes with Merge Skinned Mesh (Color Menu Safe) to reduce the load without breaking the color change menu.
Access: Right-click in Hierarchy Kanameliser Editor Plus > Copy Color Variants / Create Color Menu / Advanced / [How to Create Color Menu] / Add Material Slot Remapping
Creates a Merge Skinned Mesh of AAO: Avatar Optimizer without breaking color change menus driven by Material Setter / Material Swap. AAO’s Trace and Optimize currently never merges meshes targeted by material replacement animations automatically, and a naive manual merge can leak a color change into other meshes sharing the same material — this command analyzes the color change setup and excludes only the unsafe materials from material slot merging.
Requirement: AAO: Avatar Optimizer 1.8.0 or higher, Modular Avatar 1.13.0 or higher
Create Merge Skinned Mesh (Color Menu Safe)A Merge Skinned Mesh object covering the selected meshes is created under their common parent, with unsafe materials pre-registered with their “Merge” checkbox turned off. Excluded materials are listed in the console log. The created object can be renamed and moved freely within the avatar; note that after moving it inherits its parents’ ON/OFF state.
Two variants are available for MA Object Toggle setups: Create Merge Skinned Mesh (Exclude Object Toggle) merges the selection excluding meshes targeted by any MA Object Toggle, and Create Merge Skinned Mesh (From Object Toggle) (shown when right-clicking an object with an MA Object Toggle) merges the toggle’s target meshes per ON/OFF state and adds the merged object to the toggle when needed.
Recommended workflow: build your color menus and toggles first, then select the always-visible meshes and run (Exclude Object Toggle), and right-click each MA Object Toggle object and run (From Object Toggle). The analysis reflects the setup at the time the command runs, so re-create the merged objects after changing menus or toggles.
A material is excluded when any Material Setter / Material Swap changes only some of the slots sharing it, or changes them to different materials. When every component changes all of its slots in the same way (or none), the material stays merged for maximum draw call reduction.
| Color change setup (A and B share material Gray) | Result |
|---|---|
| One setter changes Gray on both A and B to White | Merged (no exclusion) |
| Gray on A → White, Gray on B → Blue | Gray excluded |
| Only Gray on A is changed (B untouched) | Gray excluded |
| Material Swap with empty Root (whole avatar) | Merged (no exclusion) |
| Material Swap whose Root covers only Mesh A | Gray excluded |
Access: Right-click in Hierarchy Kanameliser Editor Plus > Create Merge Skinned Mesh (Color Menu Safe) / (From Object Toggle) / (Exclude Object Toggle)
Batch configure Anchor Override, Root Bone, and Bounds for multiple meshes. Useful for outfit creation and avatar setup.
Click on object name, Anchor Override, or Root Bone labels to quickly select that object in the Hierarchy.
Access: Tools > Kanameliser Editor Plus > AO Bounds Setter
Feel free to submit an Issue or Pull Request.
MIT License — see the LICENSE file for details.
If you have any questions or feedback, please open an issue on GitHub or contact me on X.
net.kanameliser.editor-plus
Undefined
1.0.1 (Changelog)
2022.3 or later
No dependencies
No dependencies
No legacy packages