Navigation
BlueprintAPI > BlueprintAPI/WorldSubsystems
Get Smart Object Subsystem (World Subsystem)
Subsystem that holds all registered smart object instances and offers the API for spatial queries and reservations.
[Notes regarding thread safety] The subsystem is not thread-safe, but a first pass has been made to make it possible to perform a set of operations from multiple threads. To use this mode the following compiler switch is required: #define WITH_SMARTOBJECT_MT_INSTANCE_LOCK 1
Not safe:
- runtime instance lifetime controlled from Registration/Unregistration (i.e., CreateSmartObject, RegisterCollection, UnregisterCollection, DestroySmartObject, etc.)
- queries: to prevent locking for a long time it is still required to send queries from a single thread (e.g., async request pattern like MassSmartObject)
Safe operation on a smart object instance or slot from an object or slot handle:
- query and set Enable state
- query and set Transform/Location
- query and set Tags
- update slot state (e.g., MarkSlotAsClaimed, MarkSlotAsReleased, etc.)
- use a slot view using ReadSlotData/MutateSlotData
Outputs
| Type | Name | Description |
|---|---|---|
| object | Return Value |