Collision Configuration¶
ModularBuildingSystem uses collision channels for:
- Building placement checks
- Building queries
- Structural support detection
It is recommended to create dedicated channels for the plugin to avoid interfering with project channels such as Visibility and WorldStatic.
1. Create Collision Channels¶
Open:
Object Channels¶
| Name | Default Response | Purpose |
|---|---|---|
MBS_Building |
Block |
Identifies buildings generated by the plugin. |
MBS_WorldSupport |
Block |
Identifies terrain and permanent world support objects. |
Trace Channels¶
| Name | Default Response | Purpose |
|---|---|---|
MBS_Placement |
Ignore |
Detects objects that block building placement. |
MBS_Support |
Ignore |
Detects support relationships between buildings and between buildings and the world. |
These names are recommendations only and can be changed to suit the project.
2. Create the Ghost Profile¶
Create the following Collision Profile:
Recommended configuration:
| Property | Recommended Value |
|---|---|
Collision Enabled |
Query Only |
Object Type |
WorldDynamic |
| Default Response | Ignore |
MBS_Building |
Overlap |
MBS_WorldSupport |
Overlap |
MBS_Placement |
Overlap |
MBS_Support |
Overlap |
MBS_Ghost is used only for building previews. Final buildings should use the project's own Collision Profiles.
3. Configure Building Components¶
Building components generated by the plugin should use:
Recommended responses:
| Channel | Recommended Response |
|---|---|
MBS_Placement |
Block |
MBS_Support |
Block |
Visibility |
Block |
Pawn |
Configure according to project requirements |
The primary building collision components used by both HISM and Actor modes should use MBS_Building.
Decorative or effect components in an Actor that do not participate in building logic can ignore:
4. Configure World Support¶
Objects that provide permanent support should use:
Configure the following responses:
| Channel | Recommended Response |
|---|---|
MBS_Placement |
Block |
MBS_Support |
Block |
Common world support objects include:
- Landscape
- Ground Static Meshes
- Fixed platforms
- Permanent level structures
- Load-bearing rocks
Player-built foundations, walls, and roofs are still regular buildings. They should use MBS_Building, not MBS_WorldSupport.
5. Configure Plugin Settings¶
Open:
Configure:
| Plugin Setting | Recommended Value |
|---|---|
Default Ghost Collision Profile |
MBS_Ghost |
Placement Obstacle Trace Channel |
MBS_Placement |
Building Object Channel |
MBS_Building |
World Support Object Channel |
MBS_WorldSupport |
Support Query Trace Channel |
MBS_Support |
An individual Building Data Asset can override the default Ghost Collision Profile.
6. Channel Response Rules¶
Objects that should block building placement must use:
Objects that should participate in structural support detection must use:
Objects that should not affect placement or support should use:
For example, grass, particle effects, and purely decorative components can usually ignore both channels.
Note
Structural support is determined through collision relationships and does not depend on Socket snapping.
Sockets are used only to align building previews. A building placed without snapping can still participate in support detection as long as its collision relationships are valid.
For World Support Tags, exclusion Tags, and collapse settings, see Structural Support and Collapse.
Troubleshooting¶
| Issue | What to Check |
|---|---|
| The Ghost passes through existing buildings | Check whether the building blocks MBS_Placement. |
| The Ghost is always invalid | Check whether unrelated objects are blocking MBS_Placement. |
| Buildings cannot be selected or queried | Check whether the building component uses MBS_Building. |
| Buildings cannot receive world support | Check whether the ground uses MBS_WorldSupport and blocks MBS_Support. |
| Support cannot propagate between buildings | Check whether both buildings block MBS_Support. |
| Decorative objects incorrectly participate in support | Check whether the decorative components ignore MBS_Support. |
| Some Actor components incorrectly participate in detection | Check each Primitive Component separately. |
Configuration Checklist¶
After completing the configuration, confirm that:
- The Ghost uses
MBS_Ghost. - Building components use
MBS_Building. - Permanent support objects use
MBS_WorldSupport. - Placement obstacles block
MBS_Placement. - Buildings and support objects block
MBS_Support. - Decorative and effect components ignore unnecessary queries.
- The plugin settings match the project's collision channels.