Skip to main content

Usage Examples

This section contains practical, scenario-driven examples for EDInteractionSystem.

The goal is not only to show the extra gameplay logic, but also a believable actor setup that matches how the plugin expects interactables to be assembled.

What these examples validate

All examples in this section were reviewed against the public plugin API:

  • UEDInteractableComponent
  • UEDInteractionEffectsComponent
  • FEDInteractionEventContext
  • IEDInteractionNotifier

Whenever an example calls something outside Unreal Engine or this plugin, it is marked explicitly.

Shared actor setup pattern

Most actor examples follow the same structure:

  • USceneComponent as root
  • UStaticMeshComponent for visuals
  • USceneComponent tagged WidgetHolderComponent
  • UArrowComponent tagged CenterComponent
  • a scene component tagged DimensionComponent for focus/trace bounds
  • UEDInteractableComponent attached to the actor

Those tags matter because UEDInteractableComponent::InitializeInteractableActor() looks them up automatically when bAutoInitialize is enabled.

Important Unreal note

If you bind with AddDynamic(...), the target handler must be declared as UFUNCTION().

Example labels

  • Plugin/Engine only: works with Unreal + EDInteractionSystem.
  • Requires external gameplay system: needs your own inventory, GAS, quest, economy, progression, or similar framework.

Available examples

Placeholder policy

Calls such as:

  • Inventory->AddItemById(...)
  • QuestSubsystem->StartQuestForActor(...)
  • TryConsumeOnPlayer(...)
  • custom XP / currency / crafting / reward methods

are intentionally placeholders for project-specific systems.

EDInteractionSystem provides:

  • interaction detection
  • validation flow
  • focus/UI updates
  • interaction event dispatch
  • effect playback

EDInteractionSystem does not provide:

  • a generic inventory system
  • a quest/dialogue framework
  • your GAS ownership or grant policy
  • economy/shop logic
  • project-specific progression rules