How-To: Override Which Option Is Chosen

Goal: change which option fires when several are in range, instead of the default focused pick.

The default
Pressing interact acts on CurrentOptions[0] - the scan task's focused target (closest to the cursor, or first along the aim).

Implement the instigator hook

ICrimsonInteractionInstigator is the decoupled arbitration hook: ChooseBestInteractionOption(Query, Options) returns the winning option. Call it from your interact ability's press handler before firing - one Implements check. (Crimson Basic Interact and CrimsonCore's prebuilt ability call it automatically.)

On the pawn or player controller: Class Settings -> Details -> Interfaces -> Add -> Crimson Interaction Instigator. In My Blueprint -> Interfaces, double-click Choose Best Interaction Option.

In the event: Event Choose Best Interaction Option -> For Each Loop over the Interact Options input -> Break CrimsonInteractionOption -> your test -> Branch, and on a match -> Return Node with Return Value = that loop element. After the loop, return Interact Options -> Get (a copy) (Index = 0) so an unmatched press still acts on the focused target.

Then call it from GA_Interact's press path, before Trigger Interaction Option: Get Avatar Actor From Actor Info -> Does Implement Interface (Interface = Crimson Interaction Instigator) -> Branch. On True, Choose Best Interaction Option as an interface message call on that actor (Interact Query = your Make CrimsonInteractionQuery, Interact Options = CurrentOptions) and fire its Return Value instead of CurrentOptions[0].

Verify
With two interactables in range, your hook decides which one the press acts on; remove the interface call and it reverts to the closest/aimed-at target.