Interactor API

Quick-reference for the Blueprint / C++ surface of UMovaIxInteractorComponent. For setup and usage narrative, see The player Interactor: setup and use.

Triggering

void UMovaIxInteractorComponent::TargetInteraction(int32 ChoiceIndex = 0)

Executes the interaction logic associated with a specific choice index.

  • Use 0 for Primary Interaction, the default, 1 for Secondary, and so on.

Parameters:

ChoiceIndex -- Index of the 'Choice' ('>' tag) to trigger from the current ActionTargets.

void UMovaIxInteractorComponent::TargetStop()

Forces the currently targeted interactive object to cancel or stop its active State immediately.

  • Useful for interrupting animations, closing UI screens, or halting physical movement.

void UMovaIxInteractorComponent::TargetImpact(float ImpactStrength = 1000.0f)

Applies a physical impact or "hit" signal to the currently targeted interactive object.

  • Useful for physics-based reactions, haptic feedback, or triggering destructibles.

Parameters:

ImpactStrength -- Magnitude of the force or impulse to apply.

Server RPCs (routed via this component on the client)

These are what TargetInteraction, TargetImpact, and the typed-command / proximity paths call under the hood. Call the client-facing wrappers instead of these directly. They are listed here because the routing pattern matters for Multiplayer.

void UMovaIxInteractorComponent::Server_TargetInteraction(UMovaIxComponent *IC, int32 ChoiceIndex, FName AnchorName)

Client RPC: asks the server to run the chosen interaction. => Resulting Actions replicate to all clients.

Parameters:
  • IC -- Interactive Component being targeted.

  • ChoiceIndex -- Which prompt choice (Primary/Secondary/Ternary slot) to run.

  • AnchorName -- Anchor/sub-Target the interaction applies to.

void UMovaIxInteractorComponent::Server_TargetAction(UMovaIxComponent *IC, FName GroupName, FName TargetName)

Client RPC: asks the server to run a raw Action Group / Target on an interactive Component.

  • Routes via this player-owned Component: the Server RPC reaches the server.

  • Used by the per-key typing path, ex: a laptop key runs "Key_A".

Parameters:
  • IC -- Interactive Component to drive.

  • GroupName -- Action Group to run.

  • TargetName -- Sub-Target the Action applies to.

void UMovaIxInteractorComponent::Server_TargetTags(UMovaIxComponent *IC, const TArray<FName> &Tags)

Client RPC: asks the server to run tag expressions on an interactive Component.

  • Routes via this player-owned Component: the Server RPC reaches the server.

  • Used by the typed-command path (KeyCommands) and by proximity enter / leave tags.

Parameters:
  • IC -- Interactive Component to drive.

  • Tags -- Tag expressions to run, ex: "!Open @Drawer1".

void UMovaIxInteractorComponent::Server_TargetImpact(UMovaIxComponent *IC, float ImpactStrength)

Client RPC: asks the server to apply a physics impact to an interactive Component.

  • Routes via this player-owned Component: the Server RPC reaches the server.

  • Server re-traces, it doesn't trust the client's hit.

Parameters:
  • IC -- Interactive Component to hit.

  • ImpactStrength -- Strength of the hit, clamped server-side.

Radial menu

void UMovaIxInteractorComponent::SetRadialSelectDirection(FVector2D Direction)

Feeds the radial wheel a select direction, ex: the right-stick vector, and updates the highlight.

  • Recomputes GetRadialSelectedIndex against the current choice count and the project's radial settings.

  • Fires OnRadialSelectionChanged when the highlight changes.

Parameters:

Direction -- Select direction, both its angle and its length against the dead zone matter.

int32 UMovaIxInteractorComponent::GetRadialSelectedIndex() const

Choice index the radial wheel currently highlights, INDEX_NONE inside the dead zone.

  • Fed by SetRadialSelectDirection.

  • Confirm with TargetInteraction(GetRadialSelectedIndex()).

static int32 UMovaIxInteractorComponent::RadialIndexFromDirection(int32 NumChoices, FVector2D Direction, float DeadZone, float StartAngleDeg)

Pure radial hit-test: the choice a 2D direction points at, or INDEX_NONE inside the dead zone.

  • Choices lay out clockwise from StartAngleDeg, 0 = up, one even wedge each.

  • Direction is any screen-space vector, x right, y down.

  • Only its angle counts.

Parameters:
  • NumChoices -- How many wedges the wheel has.

  • Direction -- Select direction, ex: the right-stick vector.

  • DeadZone -- Minimum direction length, 0 to 1, below which nothing is picked.

  • StartAngleDeg -- Angle of the first wedge, clockwise from up.

Full member listing: Runtime Components.

See also Tag Grammar Reference for what a target string resolves to, and Multiplayer for why client requests must route via this component, not a world-placed actor's Server RPC.