Building Effects¶
The building effects system plays Niagara effects or sounds when a building is created, modified, or removed.
The plugin supports project-level default effects and also allows individual buildings to use their own effect configurations.
Supported Events¶
| Event | Description |
|---|---|
Build Confirmed |
Triggered after a building is created successfully. |
Changed |
Triggered after a building is moved or modified. |
Removed |
Triggered after a building is removed. |
Effects are used only for visual and audio feedback. They do not affect building creation, movement, or removal logic.
Creating an Effect Set¶
Create a building effect data asset in the Content Browser:
Select:
Then configure Niagara effects and sounds for the required events.
Events without a configured effect will not play anything.
Project Default Effects¶
Open:
Configure:
This Effect Set is used as the default building effect configuration for the project.
| Setting | Description |
|---|---|
Default Effect Set |
The project-default configuration used when a building does not specify its own Effect Set. |
Per-Building Configuration¶
Each Building Data Asset can determine how building effects are resolved.
The available modes generally include:
| Mode | Description |
|---|---|
| Use Project Default | Uses the Default Effect Set configured in the project settings. |
| Override Project Default | Uses the Effect Set specified by the current building. |
| Disable Effects | Disables building effects for the current building. |
Standard buildings can share the project-default configuration.
Buildings that require unique effects, such as workbenches, portals, or magical structures, can use their own Effect Set.
Playback Location¶
Effects use the world location and rotation of the building event by default.
For example:
- When a building is created, effects play at the new building location.
- When a building is moved, effects play at the updated building location.
- When a building is removed, effects play at its location before removal.
Multiplayer¶
In multiplayer games, building creation, modification, and removal are confirmed by the server.
After receiving the corresponding building event, each client plays the effects locally.
This avoids:
- Playing visual effects redundantly on the server
- Spawning multiple copies of the same effect on each client
- Replicating Niagara Components as network objects
Note
Building state is synchronized by the server, while Niagara effects and sounds are usually played locally on each client.
Recommended Configuration¶
You can first create a general-purpose Effect Set that provides basic effects for standard buildings:
| Event | Example Effect |
|---|---|
Build Confirmed |
Construction particles and placement sound |
Changed |
Simple movement particles or confirmation sound |
Removed |
Demolition particles and removal sound |
Special buildings can then override the default configuration through their own Building Data Asset.
Troubleshooting¶
| Issue | What to Check |
|---|---|
| No buildings play effects | Check whether Default Effect Set is configured. |
| Only one building has no effects | Check the effect resolution mode of that building. |
| A specific event has no effect | Check whether the corresponding event is configured in the Effect Set. |
| Effects play at the wrong location | Check the effect offset. |
| Effects play too late | Check whether the effect itself has a delay time. |
| Effects do not play on clients | Check whether the client receives the corresponding building network event. |
| Effects play more than once | Check whether the same effect is being triggered manually on both the server and clients. |
| Complex custom effects are required | Listen to events such as OnBuildingNetEntityRemoved and handle the effects separately. |