Kanameliser Editor Plus
Kanameliser Editor Plus
A small set of useful Unity & VRChat editor extensions.
🚩 Installation
Via VRChat Creator Companion (Recommended)
- Visit https://kxn4t.github.io/vpm-repos/
- Click the "Add to VCC" button to add the "Kanameliser VPM Packages" repository to your VCC or ALCOM
- Add "Kanameliser Editor Plus" to your project from the package list in Manage Project
Manual Installation
If you prefer manual installation:
- Download the latest release from GitHub Releases
- Import the package into your Unity project
📌 Features
🔍 Mesh Info Display
- Displays detailed mesh information for selected objects and their children
- Shows polygon count, material count, material slots, and mesh count
- Appears in the top-left corner of the Scene view
- Toggle visibility via
Tools > Kanameliser Editor Plus > Show Mesh Info Display
🔮 NDMF Preview Support
- Build-time Statistics: Shows preview mesh data when NDMF preview is active
- Optimization Visualization: Displays both original and optimized mesh counts side-by-side with visual diff indicators
- Preview Detection: Automatically detects NDMF proxy meshes and shows clear green dot indicator during preview
🔄 Toggle Objects Active
- Quickly toggle between GameObject active state and EditorOnly tag
- Shortcuts:
Ctrl+G
🧩 Component Manager
- List all components on selected objects and their children
- Search for specific objects or component types
- Instantly see which components are attached to which objects
- Select multiple objects simultaneously for batch editing
- Easily remove unwanted components
- Access via
Tools > Kanameliser Editor Plus > Component Manager
🎨 Material Copier
- Copy & paste materials from multiple selected GameObjects to GameObjects with matching names
- Perfect for instant FBX setup and outfit color variations
- Supports both MeshRenderer and SkinnedMeshRenderer components
- Access via right-click context menu in Hierarchy:
Kanameliser Editor Plus > Copy/Paste Materials
🔄 MA Material Helper
Automatic color change menu creation tools using Modular Avatar's material control components.
Material Setter (Recommended for most use cases)
- Automatically create color change menus using Modular Avatar's Material Setter components
- Generate menus that directly set materials from color variation prefabs
- Operates differently from Material Swap by directly replacing materials on each material slot of meshes
- Allows changing from the same source material to different materials within the same mesh by specifying per-slot
- More accurately reproduces the material layout of the source prefab compared to Material Swap
- Two creation modes:
- Standard Mode: Only creates setters for material slots that differ from the current materials
- All Slots Mode: Creates setters for all material slots regardless of whether they differ from current materials
Material Swap
- Automatically create color change menus using Modular Avatar's Material Swap components
- Generate menu items from color variation prefabs with just a few clicks
- Support for multiple color variation prefabs to create menus simultaneously
- Two creation modes: unified and per-object Material Swap components
Common Specifications:
- Requires Modular Avatar 1.13.0 or higher to be installed
- Access via right-click context menu in Hierarchy:
Kanameliser Editor Plus > Copy Material Setup / Create Material Setter / Create Material Swap
🎯 AO Bounds Setter
- Batch configuration of Anchor Override, Root Bone, and Bounds for multiple meshes
- Access via
Tools > Kanameliser Editor Plus > AO Bounds Setter
😀 Missing BlendShape Inserter
- Automatically detects and fixes missing BlendShape keys across animation files
- Prevents facial expression glitches and broken animations
- Supports batch processing of multiple animation files
- Access via
Tools > Kanameliser Editor Plus > Missing BlendShape Inserter - This functionality is also integrated with Zatools for expanded workflow options
- For more detailed information, please refer to Zatools/missing-blendshape-inserter
🔧 Usage Tips
Material Copier
Perfect for managing materials across multiple similar objects:
- Copy: Select source GameObjects (e.g., Avatar_A, Avatar_B) → Right-click →
Copy Materials - Paste: Select target GameObjects (e.g., Avatar_C, Avatar_D) → Right-click →
Paste Materials - Matching: Materials are applied to objects with matching names (e.g., "Head" → "Head", "Body" → "body")
Common use cases:
- Copying outfit materials between different avatar variants
MA Material Helper
Perfect for creating avatar color change menus from existing color variations:
- Copy: Select color variation prefabs → Right-click →
Copy Material SetupTips: Works with multiple color variation prefabs selected simultaneously - Create: Select target outfit → Right-click → Choose one of the following:
Create Material Setter- Standard Material Setter mode (recommended for most use cases)[Optional] Create Material Setter (All Slots)- Material Setter mode (all slots)Create Material Swap- Standard Material Swap mode[Optional] Create Material Swap (Per Object)- Per-object Material Swap mode
- Menu Generation: Automatically creates "Color Menu" with numbered color variations (Color1, Color2, etc.)
Material Setter Modes:
- Standard Mode (recommended): Only sets material slots that differ from current materials
- All Slots Mode: Sets all material slots regardless of whether they differ from current materials
- May affect performance, recommended only when you need to customize manually
- Directly replaces materials by creating Material Setter components for each object
Material Swap Modes:
- Standard Mode: Creates unified Material Swap components
- Per-Object Mode: Creates individual Material Swap components for each object (useful for complex setups)
Choosing Between Material Swap and Material Setter:
When deciding which mode to use, consider the following:
Use Material Swap when:
- All material slots within the same mesh use the same material, both before and after the change
- Your material setup is simple
Use Material Setter when:
- Different slots in the same mesh use the same material but need to change to different materials
- You want to more accurately reproduce the material layout from the source prefab
- Material Swap produces unintended behavior
Material Swap Limitation
Mesh A:
Slot 0: Material X → want to change to Material Y
Slot 1: Material X → want to change to Material Z
In this case, Material Swap can only replace "Material X" with one material, so both slots will end up with the same material.
Material Setter can specify per-slot, allowing each to change to different materials.
Matching Specifications:
The matching between source and target objects follows this priority order:
-
Priority 1: Exact relative path match (without root name) + Renderer present
- Example: Source
Outfit/Jacket→ TargetOutfit/Jacket - Example: Source
Accessories/Earing/Left→ TargetAccessories/Earing/Left
- Example: Source
-
Priority 2: Same hierarchy depth + exact name match + Renderer present
- Example: Source
Outfit_A/Outer/Accessories/Earing(depth=3) → TargetOutfit_B/Inner/Accessories/Earing(depth=3) - Both objects are named
Earingand at the same depth, even though parent names differ - Applies hierarchy filtering if multiple candidates exist at the same depth
- Example: Source
-
Priority 3: Exact name match + Renderer present
- Example: Source
Outfit/Outer/Jacket(depth=3) → TargetJacket(depth=1) - Selects by closest depth if multiple
Jacketobjects exist - If source is depth 3 and targets are depth 1, 2, 4: prefers depth 2 or 4 (difference=1)
- Applies hierarchy filtering if multiple candidates exist
- Example: Source
-
Priority 4: Case-insensitive name match + Renderer present
- Example: Source
earing→ TargetEaring - Example: Source
JACKET→ TargetJacket - Selects by closest depth and applies hierarchy filtering
- Example: Source
Advanced Matching:
When multiple candidates remain after priority matching:
- Parent hierarchy filtering: Matches parent names from bottom to top
- Example: Looking for
Outfit/Outer/Jacket- Candidates:
Outfit/Outer/Jacket,Costume/Outer/Jacket,Outfit/Inner/Jacket - Filters by immediate parent: prefers candidates under
Outer→ 2 candidates remain - Filters by grandparent: prefers candidates under
Outfit→Outfit/Outer/Jacketselected
- Candidates:
- Example: Looking for
- Similarity scoring: Uses Levenshtein distance for final selection
- Example: Pasting to
Outfit_Cwith candidates fromOutfit_AandOutfit_C- Compares root names:
Outfit_CvsOutfit_AandOutfit_CvsOutfit_C - Prefers
Outfit_Csource (distance=0) overOutfit_Asource (distance=2)
- Compares root names:
- Example: Pasting to
Common use cases:
- Creating color change menus for avatar outfits
- Batch creation of color change menus from existing color variation prefabs
AO Bounds Setter
Perfect for batch configuration during outfit creation or avatar setup:
- Open Window:
Tools > Kanameliser Editor Plus > AO Bounds Setter - Select Root Object: Drag an object from the Hierarchy to the Root Object field
- Configure Settings:
- Anchor Override: Set the object to use as the anchor point
- Use the dropdown to search and select from objects under the root object
- Root Bone (SkinnedMeshRenderer only): Set the root bone for skinned meshes
- Use the dropdown to search and select from objects under the root object
- Bounds (SkinnedMeshRenderer only): Configure bounds
- Anchor Override: Set the object to use as the anchor point
- Select Meshes: Use checkboxes to select which meshes to apply settings to
- Apply: Click "Apply to Selected Meshes" to batch apply settings
Tips:
- Click on object name, Anchor Override, or Root Bone labels to quickly select that object in the Hierarchy
- Use the dropdown search function to quickly find bones/anchors
- Settings only apply to checked meshes
Missing BlendShape Inserter
A tool that standardizes BlendShape targets across multiple AnimationClips. It's primarily used when:
- You've modified your avatar's facial BlendShapes but kept the original animations
- Your facial expressions break or glitch when switching between animations
- You need to ensure consistent BlendShape manipulation across all animation files
The tool works by updating Animation files to operate on the same BlendShapes across all animations, preventing facial distortions and ensuring smooth transitions between different expression states.
📋 Requirements
- Unity 2022.3.22f1 or higher
- Optional: NDMF (Non-Destructive Modular Framework) for enhanced build preview support
- Optional: Modular Avatar 1.13.0 or higher for Material Swap Helper feature
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📄 License
MIT License - see the LICENSE file for details.
👋 Contact
If you have any questions or feedback, please open an issue on GitHub or contact me on X
Keywords
No keywords found.Install via VCC
Package ID
net.kanameliser.editor-plusUnity Version
2022.3Unity Release
undefinedVRChat Version
undefined