Skip to main content
Flow Core Documentation
Menu

Flow Interaction

Building an Interactable

Create a Target that can be focused and used by a Flow Interaction Owner.

Audience
Gameplay designers and developers
Time
15 minutes
Requires
A Flow Player or GameObject with Flow Interaction Owner
Modules
Flow Interaction
On this page

Create a simple object that displays focus feedback and produces a visible result when the current Owner requests interaction. This workflow verifies scanning, selection, Focus, Blur, and Interact before connecting inventory or quest logic.

What you will build

A player approaches a console. The console becomes the current Target, its prompt appears, and an interaction request runs target-side graph logic.

Create the Target

  1. Use GameObject > Flow Core > Flow Interaction Target.
  2. Name the object Test Console.
  3. Position it within reach of the actor.
  4. Choose Open Full Configuration > Main and keep Can Interact enabled.
  5. Set a Target radius appropriate for the object’s size.
  6. Place the local interaction point where the player expects to use the console.

Test Console and its native radius gizmo appear beside Main configuration and a separate runtime Debug position.

The green radius gizmo is centered on Test Console’s interaction point. Main shows Position Offset (0, 0.15, 0), Radius 0.5, and Priority 10. The separate Play Mode Debug panel reports world Position (0.00, 0.98, 2.20).

Confirm the Owner

Use a Flow Player, or add and configure Flow Interaction Owner on the actor. For the first test:

  1. Choose Open Full Configuration > Main on the Owner and set a radius that overlaps the console’s Target radius.
  2. Use Nearest selection for a forgiving test, or Forward when facing should matter.
  3. Keep Owner interaction enabled.
  4. Enter Play Mode and open Debug to inspect candidate count or current target while approaching.

If no candidate appears, enlarge the debug ranges temporarily and verify both components are enabled before changing graph logic.

Add focus feedback

In the Target’s Open Full Configuration > Canvas page, assign a world-space Canvas prefab containing a Canvas and CanvasGroup to Canvas Prefab. The Target spawns its runtime prompt from that prefab. Either enable Auto Canvas Visibility or use target-side Focus and Blur routes to show and hide it.

Owner and Target Debug panels compare an unfocused Game view without a prompt on the left with focused Test Console and its visible prompt on the right.

Left: Owner interaction is disabled (Can Interact is off), Target is None, and the runtime Canvas is absent; Alpha - means no Canvas instance. Right: Test Console is focused and its prompt has Alpha 1.00. Each column combines the corresponding Debug and Game observations before any Interact request.

Focus feedback should explain that the object is selected. It should not add the item, open the menu, or apply gameplay consequences yet.

Request interaction

From the actor’s input or test graph:

  1. Add a Trigger or Entry you can activate.
  2. Add an Action with Flow Interaction Owner Interact from Interaction/Owner.
  3. Resolve the intended Owner.
  4. On the Target’s Interact event route, add a visible diagnostic such as a log or simple object change.
  5. Enter Play Mode, focus the console, and request interaction.

Owner and Target runtime Graph routes appear above the enlarged Test Console Game result, beside the complete Request Interact editor.

Owner and Test Console use separate Debug Contexts, captured during separate accepted requests. The Edit Mode node resolves Owner from Payload with Self mode and binds its Bool result to Local Blackboard 0, InteractionSucceeded. The later Game view shows the Target route’s scale change.

Verify the result

After this works, replace the diagnostic result with the real responsibility: open a crafting panel, start dialogue, play a pickup Gesture, modify inventory, or invoke another supported system.

Common Mistakes

SymptomCheck
The Owner has no candidatesConfirm Owner and Target radii overlap and both components can interact.
The wrong object winsCompare selection mode, distance, facing, and Target priority.
Focus appears but Interact does nothingConfirm an interaction request reaches the current Owner and the Target event route is configured.
Gameplay runs during FocusMove the gameplay consequence to Interact; keep Focus for selection feedback.
A scripted target is ignoredUse Explicit mode and set the Owner target through the supported Instruction.

What You Built

You separated actor intent from object response, made candidate selection observable, and verified the full focus-to-interact lifecycle before adding project-specific consequences.