π¬ Demo Video: https://youtu.be/mgm3DgOgP7k
π Documentation: https://drive.google.com/file/d/1zQq7I9GMW1FbqhWOxZ_lcH9wKEyET-DF/view?usp=sharing
Interaction System is a lightweight, pure C++ interaction framework for Unreal Engine. Attach a single component to your character, implement one interface on your actors, and your interaction system is ready in minutes.
Built on a Zero Tick architecture β no per-frame polling. Detection runs on Sphere Overlap events combined with a Line-of-Sight trace to ignore objects behind walls. Target selection updates on a timer (default 0.1s), keeping runtime overhead minimal.
ββββββββββββββββββββββββ
β‘ QUICK SETUP
ββββββββββββββββββββββββ
Add UInteractionComponent to your character
Bind TryPressInteract / TryBeginHoldInteract / TryEndHoldInteract to your input actions
Implement IInteractable on any actor (or inherit from AInteractableActorBase)
Done β no Tick, no boilerplate, no engine modification required
ββββββββββββββββββββββββ
π§ FEATURES
ββββββββββββββββββββββββ
β
Press & Hold interactions with hold progress callbacks
β
Sphere Overlap detection + Line-of-Sight trace (ignores occluded objects)
β
Priority-based target selection with distance tiebreaker
β
Per-object cooldown support
β
Zero Tick architecture (timer-based, event-driven β no per-frame polling)
β
Blueprint-exposed delegates (Target Changed, Started, Completed, Hold Progress, Cancelled)
β
Fully playable demo level included (Door, Chest, Lever, NPC)
β
Enhanced Input ready β bind any key, no hard-coded controls
β
Works with any existing Character or Pawn class
ββββββββββββββββββββββββ
π¦ WHAT'S INCLUDED
ββββββββββββββββββββββββ
IInteractable interface β implement on any actor
UInteractionComponent β attach to your character (Sphere Overlap + LOS)
AInteractableActorBase β convenience base class with cooldown, priority, hold settings exposed in Class Defaults
4 demo actors (C++ + Blueprint): Door, Chest, Lever, NPC
Demo character (third-person, Enhanced Input)
UI widgets: Interaction Prompt, Hold Progress Bar, NPC Dialogue Popup
English & Korean setup guide (PDF)
ββββββββββββββββββββββββ
π‘ DELEGATES
ββββββββββββββββββββββββ
OnInteractionTargetChanged β drive your prompt UI
OnInteractionStarted β trigger animations or sounds
OnInteractionCompleted(bSucceeded) β handle results
OnHoldProgressUpdated(ElapsedTime, Duration) β drive progress bar
OnHoldCancelled β reset UI on interrupt
OnOpened (Chest), OnLeverToggled, OnNPCTalked β connect your own logic
ββββββββββββββββββββββββ
π TECHNICAL
ββββββββββββββββββββββββ
Pure C++ (no Blueprint-only logic)
Unreal Engine 5.4 β 5.7
Platform: Win64
No third-party dependencies (Enhanced Input plugin required, built into UE 5.4β5.7 and enabled automatically)
No engine modification required
Tested on UE 5.4, 5.5, 5.6, 5.7