SimpleStaticMeshMerger User Guide
Complete product user guide for SimpleStaticMeshMerger
This guide provides detailed instructions on how to use the SimpleStaticMeshMerger plugin to merge static mesh instances in Unreal Engine and optimize scene performance.
Compatibility
Section titled “Compatibility”- Unreal Engine 5.2–5.8
- Version 1.1.0 (Version 2)
🛠️ Opening the Tool Window
Section titled “🛠️ Opening the Tool Window”After enabling the plugin, find the tool entry in the editor menu:
Steps:
Section titled “Steps:”- Open Unreal Engine Editor
- Click top menu
Window > Static Mesh Merger - The tool window will open as a dockable panel
🎨 Interface Overview
Section titled “🎨 Interface Overview”The tool window consists of three main areas:
1. Toolbar (Top)
Section titled “1. Toolbar (Top)”- Break Level Instances: Recursively breaks all LevelInstances in the scene (including nested ones)
- Refresh: Manually refresh the merge preview
- Type Dropdown: Select merge type (HISM or ISM, default HISM)
- Merge Selected: Execute merge operation on selected groups
2. Configuration Options (Below Toolbar)
Section titled “2. Configuration Options (Below Toolbar)”Mobility Filter (Filter)
Section titled “Mobility Filter (Filter)”- ☑ Static: Include static objects
- ☑ Stationary: Include stationary objects
- ☐ Movable: Include movable objects
- Default: Static + Stationary checked
Min Instance Count
Section titled “Min Instance Count”- Range: 0 - 1000
- Default: 2 (only show groups with at least 2 instances, at least 2 checkable instances required for merge)
- Purpose: Filter out groups with too few instances where optimization benefits are minimal
3. Dual-Panel Layout
Section titled “3. Dual-Panel Layout”Left Panel: Merge Groups Preview
Section titled “Left Panel: Merge Groups Preview”Displays all qualifying merge groups, each containing:
- ☑ Checkbox: Select groups to participate in merge
- Group Name: Uses the first non-excluded instance’s name (dynamically updated)
- Instance Details: Shows “Instance Count • Type • Mobility” (e.g.,
5 Instances • HISM • Static)
Top features:
- Search Box: Fuzzy search by instance name (tokenized + sequential matching)
- Select All: Batch check/uncheck currently displayed groups
Right Panel: Included Actors
Section titled “Right Panel: Included Actors”Displays all instances in the selected left panel group:
- ☑ Checkbox: Check to include in merge, uncheck to exclude instance
- Actor Name: Instance label in the scene
- [⊙] Locate Button: Click to jump to the Actor in scene and select in Outliner
Top features:
- Toggle All: Batch check/uncheck all instances
🔍 Search Functionality
Section titled “🔍 Search Functionality”Search Rules
Section titled “Search Rules”Supports tokenized fuzzy search where keywords must appear in order:
Example: Search SM 02
- ✅ Match:
SM_Rock_02(“SM” before “02”) - ✅ Match:
SM_000002(“SM” before “02”) - ❌ No match:
02_SM_Rock(wrong order) - ❌ No match:
Rock_02(missing “SM”)
Search Behavior
Section titled “Search Behavior”- Display Only: Doesn’t modify data, clearing search box restores all groups
- Group-Level Filter: If any instance in a group matches, the entire group is shown (with all instances)
- Merge Limitation: Only merges currently displayed and checked groups
⚙️ Grouping Rules
Section titled “⚙️ Grouping Rules”The plugin automatically groups Actors with identical properties into the same group, including:
- Static Mesh: The static mesh asset used
- Mobility: Mobility type (Static/Stationary/Movable)
- Full Collision Settings:
- Collision enabled type (NoCollision/QueryOnly/PhysicsOnly, etc.)
- Collision profile name
- Collision object type
- Responses for all 32 collision channels
- Materials: Material list
Only Actors with all identical properties will be merged into one group.
🚀 Usage Workflow
Section titled “🚀 Usage Workflow”Basic Merge Workflow
Section titled “Basic Merge Workflow”- Open Tool:
Window > Static Mesh Merger - (Optional) Break LevelInstances: Click
Break Level Instancesbutton - Configure Filter:
- Check desired mobility types
- Set min instance count threshold
- View Preview: Left panel displays all merge groups
- (Optional) Filter with Search: Enter keywords in search box
- Check Groups:
- Click
Select Allto batch check - Or manually check groups to merge
- Click
- (Optional) Exclude Instances:
- Click group in left panel to view instance list on right
- Uncheck instances you don’t want to merge
- Execute Merge: Click
Merge Selectedbutton - View Results: After merge completes, automatically selects newly created ISM/HISM Actors
Advanced Tips
Section titled “Advanced Tips”Precisely Control Merge Objects
Section titled “Precisely Control Merge Objects”- Use search box to narrow scope (e.g., search
Treeto only show tree-related groups) - Uncheck unwanted groups
- Enter right panel to exclude individual instances
- Click merge to only process currently displayed and checked groups
Locate Scene Objects
Section titled “Locate Scene Objects”- Click
[⊙]button in right instance list - Editor viewport jumps to that Actor
- Outliner synchronizes selection
Auto Uncheck
Section titled “Auto Uncheck”When excluding instances causes checkable count < min instance count, the group automatically unchecks
📊 Instance Count Rules
Section titled “📊 Instance Count Rules”Display Rule
Section titled “Display Rule”- Total Actor count >= Min instance count
Checkable Rule
Section titled “Checkable Rule”- Checkable Actor count >= Min instance count
Merge Execution
Section titled “Merge Execution”- Actual participating Actor count >= Min instance count
Example (Min instance count = 2):
- Group has 5 instances
- Uncheck 3 instances
- 2 checkable instances remain
- Can merge (2 >= 2)
🏗️ Breaking LevelInstances
Section titled “🏗️ Breaking LevelInstances”Functionality
Section titled “Functionality”Clicking Break Level Instances recursively breaks all LevelInstances in the scene:
- ✅ Automatically handles nested LevelInstances
- ✅ Smart deduplication (duplicate instances with same path are deleted)
- ✅ Real-time progress notifications (flowing display of current item)
- ✅ UI auto-refreshes after each iteration
Processing Strategy
Section titled “Processing Strategy”| Scenario | Processing | Result |
|---|---|---|
| First encounter of path | Add to cache → Break | Content moved to main scene |
| Same-level duplicate | Detect → Delete | Avoids duplicate content |
| Nested duplicate | Detect → Delete | Avoids circular references |
✅ Notes
Section titled “✅ Notes”Merge Rules
Section titled “Merge Rules”- Only merges Actors in main scene (PersistentLevel)
- Does not include Actors inside LevelInstances (must break first)
- All properties must be identical to be grouped together
Collision Preservation
Section titled “Collision Preservation”- Completely copies collision profiles
- Accurately copies object type and all 32 channel responses
- Collision behavior after merge is identical to original Actors
Min Instance Count
Section titled “Min Instance Count”- Default 2: At least 2 instances required to merge
- Filters out groups with too few instances (minimal optimization benefit)
- Can adjust as needed (range 0-1000)
Scene Monitoring
Section titled “Scene Monitoring”- Auto-monitors Actor additions/deletions (refreshes after 500ms delay)
- Map switches clear list (requires manual Refresh click)
State Caching Mechanism
Section titled “State Caching Mechanism”- Excluded List Persistence: Unchecked instances are recorded in the exclusion list
- State Maintained on Refresh: Clicking Refresh button or auto-refresh on scene changes preserves exclusion state
- Window-Level Lifecycle: All instances reset to default checked state only when closing and reopening the window
- Use Case: Can gradually adjust excluded instances, refresh multiple times to verify results without repeating operations
After Merge
Section titled “After Merge”- Automatically selects all newly created ISM/HISM Actors
- Viewport jumps to first newly created Actor
- Original Actors are destroyed
🎯 Performance Optimization Tips
Section titled “🎯 Performance Optimization Tips”Merge Strategy
Section titled “Merge Strategy”- Prioritize Large Duplicates: More instances = better optimization
- Batch Merge: Use search to merge by category (e.g., merge trees first, then rocks)
- Preserve Necessary Grouping: Don’t merge objects that need individual control
HISM vs ISM
Section titled “HISM vs ISM”-
HISM (Default Recommended):
- Supports LOD
- Supports occlusion culling
- Better performance for large-scale instances
-
ISM:
- Simpler and lighter
- Lower overhead for small-scale instances
Version History
Section titled “Version History”Open Edit → Project Settings, select the SimpleStaticMeshMerger settings page, and set Language to English or Chinese. English is the default. Available user-facing UI, tooltips, notifications, and functional logs update immediately without restarting the editor. Public API names and module startup/shutdown logs remain in English.
Support
Section titled “Support”For usage questions or collaboration, please visit the contact page.
- Contact: Contact and collaboration
Supplementary Usage Instructions
Section titled “Supplementary Usage Instructions”SimpleStaticMeshMerger User Guide
Section titled “SimpleStaticMeshMerger User Guide”Preview StaticMeshActor groups in the tool window, filter the objects to merge, then generate instanced meshes.
Features and Filters
Section titled “Features and Filters”1. Process LevelInstances
Click Break Level Instances:
- Automatically breaks all nested LevelInstances recursively
- Displays progress in real time (Breaking: [name])
- Automatically refreshes the merge preview when complete
2. Group Preview
The plugin automatically groups StaticMeshActors in the scene strictly by:
- Mesh (same model)
- Mobility (Static/Stationary/Movable)
- Complete collision configuration (Profile + ObjectType + 32 channel responses)
- Materials (materials in all slots)
3. Live Filtering and Exclusion
- Mobility filter: Show only Static/Stationary/Movable Actors
- Minimum instance count: Filter out groups with too few instances (default 2, meaning at least 3 are needed to merge)
- Actor exclusion: Uncheck Actors you do not want to merge in the right-hand list
4. Merge Selected Objects
Click Merge Selected:
- Automatically creates an HISM/ISM Actor
- Copies collision, material, and mobility settings
- Deletes the original Actors
- Automatically selects and navigates to the newly created Actor
Workflow:1. Window → Static Mesh Merger (open the plugin window)2. Click Break Level Instances (if the scene contains LevelInstances)3. Configure filters: ☑ Static ☑ Stationary ☐ Movable Min Instance Count: 24. Check the groups to merge on the left5. Exclude unwanted Actors on the right (optional)6. Click Merge Selected7. Done! Automatically navigate to the newly created HISM ActorBefore merging:
Scene Outliner├── TreeActor_1├── TreeActor_2├── TreeActor_3├── ...└── TreeActor_125 (125 separate Actors)After merging:
Scene Outliner└── MergedActor_SM_Tree_01 (1 HISM Actor containing 125 instances)Checks Before and After the Operation
Section titled “Checks Before and After the Operation”- Keep a recoverable scene version; merging replaces the original Actors.
- Check each group’s mesh, materials, mobility, and collision settings.
- After merging, review instance counts and check the scene’s appearance and behavior.
- Measure actual load times and frame rates in the target project.