Tala Esenlikler

Initial UE 5.7 release

First Target

Edit the starter point, default variant, and default command row into the first usable target definition.

Interaction Framework 1.0.0 UE5.7

Create The Asset

The target definition asset is the designer-facing source for an interactable actor. It stores points, variants, command rows, requirement entries, execution actions, prompt providers, widget payloads, policy profiles, theme colors, and projection overrides. UInteractionRuntimeTargetComponent reads this asset at runtime and turns it into registered interaction points.

Start From The Default Row Set

The editor authoring flow is built around starter data. When a starter point, variant, and command are already present, edit those rows instead of adding duplicates. If the definition opens empty, use Add Point; that action creates a point with one default variant and one default command row.

Name The Point

Assign a stable FInteractionRuntimePointId, then configure point-of-interest and interaction ranges. The point id is required and should stay stable because bindings, runtime state, prompts, and save data refer to it.

  • Use one point for a single affordance, such as a door handle or pickup prompt.
  • Use multiple normal points when the same actor has separate interaction locations.
  • Use point bindings on the target component when authored points should follow named scene components or sockets.

Use The Default Variant

A point must have at least one variant. With a single variant, VariantId can remain empty; it is the default fallback for that point. Assign variant ids only when you add multiple variants, because the validator requires unique variant ids once a point has more than one variant.

Add more variants when the same point needs different commands, prompt payloads, proximity values, projection behavior, or requirements depending on runtime state.

Edit The Default Command

A command row is the user’s action choice. The starter command row still needs a valid FInteractionRuntimeCommandId. For an interactive command, assign a UInputAction configured as a button-style action: open the input action asset and set Value Type to Boolean. The validation warning means the framework expects pressed/released input for command activation, not a float axis or vector value.

  • Instant commands activate from a single valid input.
  • Hold commands expose progress over time and require a positive hold duration.
  • Multi-Tap commands track tap count inside a positive tap window.
  • AutoTrigger commands can activate from focus or availability and do not use multi-participant settings.

Attach The Target Component

Add UInteractionRuntimeTargetComponent to the target actor and assign the definition. If the target actor owns visual or collision components for authored points, add PointBindings entries that map point ids to the relevant component names. Call RefreshRuntimeStateFromDefinition after changing the definition or bindings at runtime.

Use Stable Ids Early

Point ids, command ids, target save ids, and owner save ids are used by runtime state, UI, multi-participant routes, and save import/export. Pick stable names before content ships. Renaming ids later can break saved disables, cooldowns, saved variants, and any Blueprint code that looks up a point or command by id.

Target Definition Field Checklist

  • FInteractionRuntimePointId identifies the authored interaction location and must match any target component point binding.
  • FInteractionRuntimeVariantId is optional for a single default variant and required once the point has multiple variants.
  • FInteractionRuntimeCommandId identifies the command row and should not change after Blueprint logic or save data depends on it.
  • Command input action should be assigned on interactive command rows and should use a button-style Boolean value type.
  • Execution actions should be added only after the command activates successfully without them.

Actor Checklist

On the target actor, confirm the target component definition is assigned, point bindings use the same point ids as the definition, and the actor is replicated if the interaction affects networked gameplay. On the pawn, confirm the interactor component exists on the pawn the local player actually possesses.