EasyInteraction System

Example Project

Step-by-step walkthroughs and concrete use cases to get started with Easy Interaction System.

The examples below cover the most common interaction patterns. Each one follows the same structure: add a trigger, add a receiver, link them with an ID.


Example 1 — Button Opening Two Doors

A classic puzzle mechanic: one button activates two different doors at the same time.

Set up the button actor

Add an InteractionTriggerComponent to your button actor. In the IDs_Table, add the values 1 and 2.

Set up the first door

Add an InteractionReceiverComponent to Door_A and set its ID to 1.
Bind the OnInteractReceiver event → call your door-open animation or logic.

Set up the second door

Add an InteractionReceiverComponent to Door_B and set its ID to 2.
Bind the OnInteractReceiver event → same door-open logic.

Fire the interaction

When the player presses the button, call TriggerInteractionByIDArray() from the trigger component. Both doors open instantly.

Result: One trigger, two receivers, zero hardcoded references.


Example 2 — Lever Triggering a Trap

A lever that activates a single specific trap in the level.

Set up the lever

Add an InteractionTriggerComponent to your lever. Add ID 3 to its IDs_Table.

Set up the trap

Add an InteractionReceiverComponent to Trap_A and set its ID to 3.
Bind OnInteractReceiver → activate the trap mechanism.

Fire the interaction

When the lever is pulled, call TriggerInteractionByIDArray(). Only Trap_A responds since it's the only receiver with ID 3.


Example 3 — Sending Data: Pressure Plate with Intensity

A pressure plate that sends a float value (pressure level) to a mechanical door — the door uses that value to decide how fast it opens.

Set up the pressure plate

Add an InteractionTriggerComponent to your pressure plate. Add ID 10 to its IDs_Table.

Calculate the pressure value

In your Blueprint logic, calculate a float between 0.0 and 1.0 based on how much weight is on the plate.

Fire the interaction with data

Call TriggerInteractionByIDArrayWithFloat(PressureValue) from the trigger component.

Set up the mechanical door

Add an InteractionReceiverComponent to the door with ID 10.
Bind the OnInteractReceiver_Float event and use the received float to drive the opening speed or animation blend value.


Example 4 — Dynamic Targeting at Runtime

A character that dynamically decides which object to interact with based on gameplay logic.

Set up the character

Add an InteractionTriggerComponent to your character.

Detect the target at runtime

Use a line trace or overlap to detect the actor the player is looking at. Read its receiver ID dynamically.

Call a single-target interaction

Call TriggerInteractionByID(TargetID) with the ID you just retrieved. Only the one matching actor responds — no need to pre-fill the IDs_Table.


Video Preview

Watch the full example project walkthrough:

Easy Interaction System — Example Project

See a complete setup in action — button, lever, doors, and more.


Summary Table

Use caseTrigger functionReceiver eventIDs used
Button → 2 doorsTriggerInteractionByIDArrayOnInteractReceiver1, 2
Lever → trapTriggerInteractionByIDArrayOnInteractReceiver3
Pressure plate → speedTriggerInteractionByIDArrayWithFloatOnInteractReceiver_Float10
Dynamic pickupTriggerInteractionByIDOnInteractReceiverRuntime

Need Help?

Discord Support

Join the community for questions, showcase, and plugin updates.