Interaction Methods
The plugin supports multiple interaction “methods”, controlled by:
EEDInteractionMethodFEDInteractionInfo::InteractionMethod
Single Interaction
- Meaning: a single press triggers the interaction immediately.
- Typical use: doors, buttons, pickups (if you handle pickup in your gameplay code).
Runtime flow:
- Client presses Interact
- Server validates the target
UEDInteractableComponent::PlayerInteracted(...)is calledOnInteractionSuccessfulis broadcast
After Duration
- Meaning: holding interaction for a duration completes the interaction.
- Controlled by
FEDInteractionInfo::InteractAfterDuration(seconds).
Runtime flow:
- Client starts interaction → progress UI updates locally
- Server starts an “after duration” timer and periodically re-validates the target
- On completion, server calls
PlayerInteracted(...)
Multiplayer support:
bAllowMultipleInteractorson the interactable component enables multiple players.MultiplayerSpeedMultiplier,MinPlayersRequired,MaxPlayersAllowedallow co-op interactions.
Hit Points (Damage-Based)
- Meaning: interaction is performed by applying damage until HP reaches 0.
- Controlled by
FEDInteractionInfo::MaxHitPoints.
Important:
- Damage is applied server-side (the plugin uses
UGameplayStatics::ApplyDamage). - The interactable listens to
AActor::OnTakeAnyDamagewhen configured as HitPoints.
Event timing:
For HitPoints interactables you can choose when the “interaction happened” event should fire:
FEDInteractionInfo::HitPointsInteractionEventTriggerOn Pressed (E): fire interaction event on the first validated pressOn Completed (HP ≤ 0): fire interaction event only when HP is depleted
Button Mashing
- Meaning: the player repeatedly presses Interact until a counter is reached.
- Controlled by:
FEDInteractionInfo::ButtonMashingCountNeededFEDInteractionInfo::ButtonMashingTimeout
Runtime flow:
- Each press increases a local counter and updates UI percent.
- When the counter reaches the required amount, the client requests the interaction and the server validates it.