| GrabId | FName | Grab table id of the target carriable object, used to resolve pick-up/loop hand animations and set the held grab id | |
| PickUpAnimId | FName | Resolved pick-up grab animation id (hand-converted), used to find the pick-up montage and posture info | |
| GrabLoopAnimId | FName | Resolved hold-loop grab animation id (hand-converted), preloaded here so it's ready when the hold loop is later synced | |
| AnimMontageName | FName | Resolved pick-up montage row id; empty means the target isn't a carriable object (goes straight to inventory placement) | |
| bUseFakeObject | bool | Set true whenever a child object is added to FakeObjectList (the actual data OnFinish uses to spawn fake objects); this flag itself is never read | |
| bIsTargetOnSaleInFleaMarket | bool | Whether the target was on sale via the flea market, used on finish to price it through B2FleaMarketHelper instead of the object's own sale price | |
| SelectedHand | EB1HandType | Hand chosen to hold the purchased/carried object | |
| CarryHandStyle | EB1CarryHandStyle | One-hand/two-hand/assist carry style for the target object, resolved from its object template | |
| FakeObjectList | TArray | Grouped child objects moved to the seller's site inventory and replaced with fake sold-out stand-ins when the buyer's inventory placement fails | |
| BuyPolicyType | EB1BuyPolicyType | Purchase policy (Default vs HouseholdBiz) parsed from Action.S1, selecting the payment/pricing flow used in OnFinish | |
| ActionId | FName | Identifier of this action instance (used for interaction tracking and mission time accounting) | |
| State | EB2ActionState | Current lifecycle state of this action | |
| MergeType | EB2ActionMergeType | Merge type flags for this action (e.g. interaction merge, checked in Finish()) | |
| Result | EB2InteractionResult | Result of this action once it stops playing (Finish/Failed/Canceled) | |
| SelfEntityId | FB1EntityId | Entity id performing this action | |
| TargetEntityId | FB1EntityId | Entity id targeted by this action | |
| GrabEntityId | FB1EntityId | Entity id grabbed/carried by self entity for this action | |
| NonTargetLocation | FVector | Location used for script/condition context when there is no target entity | |
| Action | FB1ActionInfo | Action table data (S1/S2/F1/F2, script id lists, etc.) driving this instance | |
| TickCalcValue | float | Accumulated tick delta time since this action started ticking | |
| CurrentNotifyIndex | int32 | Index into Action.NotifyScriptIds for the next notify script to run | |
| AsyncLoadAnimInfo | TArray | Animations to async-load for this action's start/notify/tick/finish/cancel scripts | |
| AddActionTimeInterval | float | Interval in seconds between OnTickAddActionExecuteTime() calls | |
| AccumAddActionTime | float | Elapsed time accumulator compared against AddActionTimeInterval | |
| StartActionTickTime | int64 | Tick timestamp used to measure elapsed action execution time for mission tracking | |
| ActionKey | FB2ActionKey | Key identifying this action's slot/queue within the interaction system | |
| TimeTaskId | FB1TimeTaskId | Id of the scheduled time task used for delayed Determine/Finish | |
| IsForceCancelable | bool | Whether this action is force-cancelable, copied from Action.IsForceCancelable | |
| IsFirstAction | bool | Marks the first action in an interaction sequence; set on actions[0] by FB2InteractionPlayer::LinkActions(), read by FB2ActionPlayer | |
| bMultiFlag | bool | Set by looping actions (PlayAnim, BookRead, Eat, WaitTalkSequence) once a loop iteration completes; read/reset by FB2ActionPlayer to gate multi-interaction selection | |
| TalkInstanceId | FB1TalkInstanceId | Id of the talk instance this action is linked to, set externally by FB2InteractionPlayer::LinkActions() | |
| TalkSubjectEntityId | FB1EntityId | Entity id of the talk subject linked to this action, set externally by FB2InteractionPlayer::LinkActions()/OnTalkSpaceParamChanged() | |
| bIsWaitFinishEvent | bool | Cached copy of Action.IsWaitFinishAction taken at Init(); read directly by FB2ActionPlayer for sequencing (the IsWaitFinishAction() getter instead reads Action.IsWaitFinishAction live) | |
| AutoInsertType | EB2ActionAutoInsertType | Type of action that was auto-inserted before this one (e.g. WalkTo, ChangePosture) | |