Skip to content

Interaction

Dynaros Interaction is a plugin for reusable interaction behavior in Unreal Engine. It gives players, AI, world actors, and other gameplay objects a consistent way to discover, describe, and request interactions without requiring project-specific casts or tightly coupled class knowledge.

Interaction answers a deliberately narrow question:

How does one gameplay object request an interaction from another?

It provides the communication path between an interactor and an interactable. It does not decide what harvesting, opening, talking, activating, crafting, mounting, or using actually means. Those consequences remain with the object or gameplay system that owns that responsibility.

This boundary is important. Interaction can support many unrelated gameplay features because it does not try to become all of them.

  • installable interaction behavior for Unreal projects
  • fewer casts to project-specific player or actor classes
  • a clean split between interaction requests and gameplay consequences
  • C++ foundations with Blueprint-friendly workflows
  • project-owned input mappings, target-selection rules, and gameplay responses
  • standalone use without requiring other Dynaros products
  • a request boundary that can support future multiplayer-aware interaction

Interaction is responsible for the mechanics required to find, describe, request, and dispatch an interaction.

  • Detect or identify a valid interaction target.
  • Expose a consistent interaction request path.
  • Provide reusable player-side or actor-side interaction capability.
  • Provide reusable world-object interaction capability.
  • Define a shared interaction contract through an interface.
  • Surface generic interaction information for prompts or UI.
  • Notify relevant objects when interaction focus changes.
  • Dispatch an interaction request to the owning target.
  • Expose Blueprint-friendly hooks for project-specific behavior.
  • Provide useful logging and debugging information.
  • Target discovery
  • Interaction eligibility at the communication boundary
  • Interaction dispatch
  • Generic prompt information
  • Focus / target changes
  • Reusable interaction contracts
  • Interaction-related components
  • Interaction diagnostics
  • Loot generation
  • Inventory changes
  • Dialogue logic
  • Resource depletion
  • Building placement
  • Crafting results
  • Skill XP
  • Quest progression
  • Project-specific effects

A successful interaction request means “the request reached the correct gameplay owner,” not “Interaction performed the entire gameplay action.”

Interaction is the first implemented Dynaros plugin and has already been packaged and reused successfully in a separate Unreal Engine 5.8 project.

  • UInteractorComponent
  • UInteractableComponent
  • IInteractable
  • AInteractableActor
  • Project-independent prompt UI
  • Enhanced Input compatibility
  • Dedicated LogInteractionSystem logging category

The plugin was extracted from the original GAM 465 project and installed into the separate GAM 312 capstone project.

The integration verified that:

  • The project compiles with the plugin enabled.
  • A project character can own UInteractorComponent.
  • Existing project actors can migrate to the component/interface pattern.
  • Ore and herb actors can expose interaction through the reusable plugin behavior.
  • Prompt UI can function without casting back to the original project character.
  • Interaction execution can cross the plugin/project boundary successfully.

This portability test matters because Dynaros is intended to be reusable product code, not merely code organized inside one game project.