Skip to content

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:

Edit → Project Settings → Engine → Collision

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:

MBS_Ghost

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:

Object Type = MBS_Building

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:

MBS_Placement
MBS_Support

4. Configure World Support

Objects that provide permanent support should use:

Object Type = MBS_WorldSupport

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:

Edit → Project Settings → Building System

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:

MBS_Placement = Block

Objects that should participate in structural support detection must use:

MBS_Support = Block

Objects that should not affect placement or support should use:

MBS_Placement = Ignore
MBS_Support = Ignore

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.