Get Actor Async
- Base:
- UBlueprintAsyncActionBase
- Type:
- UNGetActorBlueprintAsyncAction
- Header File:
- NexusActorPools/Public/NGetActorBlueprintAsyncAction.h
An async Blueprint action that takes a TSoftClassPtr<AActor>, streams it in, ensures a FNActorPool exists for it, and then hands back an AActor reference from the pool. It exists primarily to decouple hard references to Actor classes — the calling Blueprint never needs to know about the concrete class at compile time.
When To Use It​
- Loading Decoupling: Your Blueprint references the
AActorclass as a soft asset (e.g. configured via a data asset or settings). The async action takes care of the load + pool lookup before returning. - First-Use Cost Hiding: Pool creation is on-demand if no FNActorPool exists yet for the class — using the async action moves that one-time cost off the calling frame.
- No Spawning: Use this when you want a reference to a pooled
AActorwithout it being placed in the world. To spawn at a transform in one step, use Spawn Actor Async instead. To skip the soft-load step entirely (when you already hold a hard reference), callGetActoron the UNActorPoolSubsystem directly.
Blueprint Surface​
The action exposes a single output pin:
| Pin | Fires When | Payload |
|---|---|---|
Completed | The class finishes loading and the subsystem returns an AActor from the pool. | SpawnedActor — the pooled AActor, or null on failure. |
The pin always fires exactly once, even if the underlying load fails or no AActor is available; check SpawnedActor for null before using it.
Notes​
- Honors all the pool flags of the resolved pool — including
ServerOnly, which will returnnullon clients. - "Get" semantics match
UNActorPoolSubsystem::GetActor— the returnedAActoris not activated and no events are triggered on it. Activate it yourself or use Spawn Actor Async instead. - Internally holds a
TSoftClassPtr<AActor>and aFStreamableHandle; the streaming handle stays alive until the action completes.