use_smart_object
Claim a free SmartObject slot on a labeled actor and mark it occupied in one call, applying an optional behavior definition; requires initialized PIE/BeginPlay runtime.
Instructions
Claim a free slot on an actor's SmartObject component and immediately mark it occupied (USmartObjectSubsystem::MarkSlotAsOccupied), driving a behavior definition. Single-call claim+occupy keyed by actor_label (an FSmartObjectClaimHandle cannot be rebuilt from a string, so a two-step claim_handle path is impossible). HONEST GATE: the component handle only registers once the subsystem runtime is initialized (PIE/BeginPlay); headless it is invalid and this returns a clean error. Idempotent: an already-occupied slot returns already_occupied without re-occupying.
Returns: { actor_label: string, slot_id: string, behavior_definition: string, is_occupied: bool, already_occupied: bool, success: bool }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| actor_label | Yes | Editor label of the actor carrying the USmartObjectComponent | |
| behavior_class | No | Optional behavior definition class (short native name or /Script path); defaults to USmartObjectBehaviorDefinition |