Box
- Base:
- UBlueprintFunctionLibrary
- Type:
- UNBoxPickerLibrary / FNBoxPicker
- Header File:
- NexusActorPools/Public/NBoxPickerLibrary.h

Provides various functions for generating points inside or on the surface of the FBox (axis-aligned) using different random generation strategies (deterministic, non-deterministic, seeded).
The UNBoxPickerLibrary wraps the native FNBoxPicker functionality in a Blueprint friendly manner. Should you be wanting to utilize a picker in native code it is best to directly reference FNBoxPicker directly to avoid the abstraction layer as it has a similar API.
Methods​
Next Point​

Gets the next deterministic point inside or on an FBox.
Uses FNRandom::Deterministic to ensure reproducible results.
Random Point​

Gets a random point inside or on an FBox.
Uses FNRandom::NonDeterministic to produce pseudo-random results.
One-Shot Point​

Gets a random point inside or on an FBox using a one-shot seed.
Tracked Point​

Gets a random point inside or on an FBox using a tracked seed. The seed altered for each Count.
FNBoxPickerParams​
It is important to be aware of the performance penalty when using MinimumBox. It is only included for special use cases where absolutely necessary. It can also create biased results when selecting points as it has to create a series of FBox first which can be used; their shapes and sizes are directly related to the inner dimensions.
Base​
| Parameter | Type | Description | Default |
|---|---|---|---|
| Count | int | The number of points to generate in a single pass. | 1 |
| CachedWorld | TObjectPtr<UWorld> | The world for line tracing and drawing. | |
| ProjectionMode | ENPickerProjectionMode | Should the point be projected somewhere? | ENPickerProjectionMode::None |
| Projection | FVector | Direction and distance for the line trace. | FVector(0,0,-500.f) |
| CollisionChannel | TEnumAsByte<ECollisionChannel> | The collision channel to use for tracing. | ECC_WorldStatic |
Box​
| Parameter | Type | Description | Default |
|---|---|---|---|
| Origin | FVector | The center point when attempting to generate new points. | FVector::ZeroVector |
| MinimumBox | FBox | The minimum dimensions to use when generating a point. | FBox(ForceInit) |
| MaximumBox | FBox | The maximum dimensions to use when generating a point. | FBox(ForceInit) |