code: bool operator== ( const [FSmartObjectSlotEQSItem](API\Plugins\SmartObjectsModule\FSmartObjectSlotEQSItem) & Other ) const


module: SmartObjectsModule

code: FSmartObjectSlotEQSItem ( const FVector InLocation, const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) InSmartObjectHandle, const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) InSlotHandle )


className: FSmartObjectSlotEQSItem

code: struct FSmartObjectSlotEQSItem

Location

type: FVector

SlotHandle

type: FSmartObjectSlo...

SmartObjectHandle

type: FSmartObjectHan...


code: int32 GetSlotIndex() const


description: Indicates that the handle was properly assigned but doesn't guarantee that the associated slot is still accessible. This information requires a call to `USmartObjectSubsystem::IsSlotValid_ using the handle.

code: bool IsValid() const


code: bool operator== ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) Other ) const


description: Has meaning only for sorting purposes

code: bool operator< ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) Other ) const


code: bool operator!= ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) Other ) const


code: FSmartObjectSlotHandle()


code: FSmartObjectSlotHandle ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) InSmartObjectHandle, const int32 SlotIndex )


className: FSmartObjectSlotHandle

description: Struct used to identify a runtime slot instance


code: int32 GetIndex() const


code: const [FGuid](API\Runtime\Core\Misc\FGuid) & GetSlotID() const


className: InvalidValue

code: static constexpr uint8 InvalidValue = 0xff;


code: void SetIndex ( const int32 InIndex )


className: FSmartObjectSlotReference

description: Helper struct to wrap basic functionalities to store the index of a slot in a SmartObject definitionReference to a specific Smart Object slot in a Smart Object Definition. When placed on a slot definition data, theIndexis resolved automatically when changed, on load and save.


className: FSmartObjectSlotStateData

description: This is the base struct to inherit from to store custom state data associated to a slot


description: trace parameters for finding ground location.

code: const [FSmartObjectTraceParams](API\Plugins\SmartObjectsModule\FSmartObjectTraceParams) & GetGroundTraceParameters() const


description: navigation filter class to be used for navigation checks.


description:
Gets default user capsule size used for preview when the user actor is now known. The method can fail if the navigation capsule is requested, but we fail to get the navigation properties from the world.
true if operation succeeds.

code: bool GetPreviewUserCapsule ( const [UWorld](API\Runtime\Engine\Engine\UWorld) & World, [FSmartObjectUserCapsuleParams](API\Plugins\SmartObjectsModule\FSmartObjectUserCapsuleParams) & OutCapsule ) const


description: search extents used to define how far the validation can move the points.

code: FVector GetSearchExtents() const


description: trace parameters for testing if there are collision transitioning from navigation location to slot location.

code: const [FSmartObjectTraceParams](API\Plugins\SmartObjectsModule\FSmartObjectTraceParams) & GetTransitionTraceParameters() const


description:
Selects between specified NavigationCapsule size and capsule size defined in the params based on bUseNavigationCapsuleSize.
reference to selected capsule.

code: const [FSmartObjectUserCapsuleParams](API\Plugins\SmartObjectsModule\FSmartObjectUserCapsuleParams) & GetUserCapsule ( const [FSmartObjectUserCapsuleParams](API\Plugins\SmartObjectsModule\FSmartObjectUserCapsuleParams) & NavigationCapsule ) const


description:
Gets user capsule for a specified actor, if bUseNavigationCapsuleSize is specified usesINavAgentInterfaceto forward the values from navigation system. The method can fail if the navigation capsule is requested, but we fail to get the navigation properties from the actor.
true operation succeeds.

code: bool GetUserCapsuleForActor ( const [AActor](API\Runtime\Engine\GameFramework\AActor) & UserActor, [FSmartObjectUserCapsuleParams](API\Plugins\SmartObjectsModule\FSmartObjectUserCapsuleParams) & OutCapsule ) const


className: FSmartObjectSlotValidationParams

description: Parameters for Smart Object navigation and collision validation.

bUseNavigationCapsuleSize

type: bool

description: If true, the capsule size is queried from the user actor viaINavAgentInterface.

GroundTraceParameters

type: FSmartObjectTra...

description: Trace parameters used for finding navigation location on ground.

NavigationFilter

type: TSubclassOf<UN...

description: Navigation filter used to validate entrance locations.

SearchExtents

description: How far we allow the validated location to be from the specified navigation location.

TransitionTraceParameters

description: Trace parameters user for checking if the transition between navigation location and slot is unblocked.

UserCapsule

type: FSmartObjectUse...

description: Dimensions of the capsule used for testing if user can fit into a specific location.


description: true of the slot can be claimed.

code: bool CanBeClaimed() const


description: Fills the provided GameplayTagContainer with the activity tags associated to the slot according to the tag filtering policy. Method will fail a check if called on an invalid SlotView.

code: void GetActivityTags ( [FGameplayTagContainer](API\Runtime\GameplayTags\FGameplayTagContainer) & OutActivityTags ) const


description: Returns a reference to the main definition of the slot. Method will fail a check if called on an invalid SlotView.

code: const [FSmartObjectSlotDefinition](API\Plugins\SmartObjectsModule\FSmartObjectSlotDefinition) & GetDefinition() const


description: Returns a reference to the definition data of the specified type from the main slot definition. Method will fail a check if the slot definition doesn't contain the given type.

code: template<typename T> const T & GetDefinitionData() const


description: Returns a pointer to the definition data of the specified type from the main slot definition. Method will return null if the slot doesn't contain the given type.

code: template<typename T> const T * GetDefinitionDataPtr() const


description: handle to the owning Smart Object.


description: the claim state of the slot.


description: The definition fragment is always created and assigned when creating an entity associated to a slot so a valid SlotView is guaranteed to be able to provide it.

code: const [USmartObjectDefinition](API\Plugins\SmartObjectsModule\USmartObjectDefinition) & GetSmartObjectDefinition() const


description: Returns a reference to the slot state data of the specified type. Method will fail a check if the slot doesn't have the given type.

code: template<typename T> T & GetStateData() const


description: Returns a pointer to the slot state data of the specified type. Method will return null if the slot doesn't have the given type.

code: template<typename T> T * GetStateDataPtr() const


description: runtime gameplay tags of the slot.

code: const [FGameplayTagContainer](API\Runtime\GameplayTags\FGameplayTagContainer) & GetTags() const


code: FSmartObjectSlotView()


code: FSmartObjectSlotView &40; const FSmartObjectSlotHandle InSlotHandle, FSmartObjectRuntime & InRuntime, FSmartObjectRuntimeSlot & InSlot &41;


code: FSmartObjectTraceParams()


className: FSmartObjectSpatialEntryData

description: This is the base struct to inherit from to store some data associated to a specific entry in the spatial representation structure


code: FSmartObjectTraceParams ( const ETraceTypeQuery InTraceChanel )


code: FSmartObjectTraceParams ( TConstArrayView< EObjectTypeQuery > InObjectTypes )


code: FSmartObjectTraceParams ( const [FCollisionProfileName](API\Runtime\Engine\Engine\FCollisionProfileName) InCollisionProfileName )


className: FSmartObjectTraceParams

description: Struct used to define how traces should be handled.

bTraceComplex

description: Whether we should trace against complex collision

CollisionProfile

type: FCollisionProfi...

description: Collision profile to use to determine collisions.

ObjectTypes

type: TArray<TEnumAs...

description: Object types to use to determine collisions.

TraceChannel

type: TEnumAsByte< ET...

description: Trace channel to use to determine collisions.

Type

type: ESmartObjectTra...

description: Type of trace to use.


description:
Returns the capsule as an annotation collider at specified world location and rotation. The capsule is placed so that Z-axis of the rotation is considered up. The values specified in the struct will be constrained to create valid collider (and thus can differ from the set values).
annotation collider representing the capsule.

code: [FSmartObjectAnnotationCollider](API\Plugins\SmartObjectsModule\FSmartObjectAnnotationCollider) GetAsCollider ( const FVector & Location, const FQuat & Rotation ) const


className: FSmartObjectUserCapsuleParams

description: Struct defining Smart Object user capsule size.

Height

type: float

description: Full height of the capsule

Radius

description: Radius of the capsule

StepHeight

description: Step up height. This space is ignored when testing collisions.


className: Invalid

code: static const [FSmartObjectUserHandle](API\Plugins\SmartObjectsModule\FSmartObjectUserHandle) Invalid;


code: bool operator== ( const [FSmartObjectUserHandle](API\Plugins\SmartObjectsModule\FSmartObjectUserHandle) & Other ) const


code: bool operator!= ( const [FSmartObjectUserHandle](API\Plugins\SmartObjectsModule\FSmartObjectUserHandle) & Other ) const


code: FSmartObjectUserHandle()


code: FSmartObjectUserHandle &40; const uint32 InID &41;


className: FSmartObjectUserHandle

description: Handle to a smartobject user.


description: Draws arrow from Start to End.

code: void DrawArrow ( const FVector & Start, const FVector & End, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, const float ArrowHeadLength, const float EndLocationInset, const uint8 DepthPriorityGroup, const float Thickness, const float DepthBias, bool bScreenSpace ) const


description: Draws string on canvas centered at specified world location.

code: void DrawString ( const FVector & Location, const TCHAR * Text, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & ShadowColor ) const


description: Draws string on canvas at specified canvas location.

code: void DrawString ( const float StartX, const float StartY, const TCHAR * Text, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & ShadowColor ) const


description: distance from location in world space, to the camera.

code: [FVector::FReal](API\Runtime\Core\Math\TVector\FReal) GetDistanceToCamera ( const FVector & Location ) const


description: true of the location is in view frustum.

code: bool IsLocationVisible ( const FVector & Location ) const


description: true of the context is property set up for 2D drawing.

code: bool IsValidForDraw() const


description: Projects world location into canvas screen space.

code: FVector2D Project ( const FVector & Location ) const


description: true of the context is property set up for HUD (2D) drawing.

code: bool IsValidForDrawHUD() const


code: FSmartObjectVisualizationContext ( const [USmartObjectDefinition](API\Plugins\SmartObjectsModule\USmartObjectDefinition) & InDefinition, const [UWorld](API\Runtime\Engine\Engine\UWorld) & InWorld )


description:
Singleton-like access to this module's interface. This is just for convenience! Beware of calling this during the shutdown phase, though. Your module might have been unloaded already.
Returns singleton instance, loading the module on demand if needed

code: static [ISmartObjectsModule](API\Plugins\SmartObjectsModule\ISmartObjectsModule) & Get()


className: FSmartObjectVisualizationContext

description: Helper class used for Smart Object Annotation rendering.

code: struct FSmartObjectVisualizationContext

AnnotationIndex

description: Indexof the visualized annotation.

bIsAnnotationSelected

description: True, if the annotation is currently selected

bIsSlotSelected

description: True, if the slot is currently selected

Canvas

type: FCanvas*

description: Canvas to render to during DrawVisualizationHUD().

Definition

type: constUSmartObj...

description: Pointer to the visualized Smart Object definition.

Font

type: constUFont...

description: Pointer to valid engine small font.

OwnerLocalToWorld

type: FTransform

description: Transform of the owner object.

PDI

type: FPrimitiveDrawI...

description: Primitive draw interface to draw with during DrawVisualization().

PreviewActor

type: constAActor&#...

description: Actor used for previewing the Smart Object.

PreviewValidationFilterClass

type: TSubclassOf<US...

description: Validation filter class used for previewing.

SelectedColor

type: FLinearColor

description: Color for a selection, cached fromUEditorStyleSettings.

SlotIndex

description: Indexof the visualized slot, or invalid of the annotation is on the object.

View

type: constFSceneVie...

description: Current view to draw to.

World

type: constUWorld&

description: World associated with the drawing.


description:
Checks to see if this module is loaded and ready. It is only valid to callGet()ifIsAvailable()returns true.
True if the module is loaded and ready to use

code: static bool IsAvailable()


className: ISmartObjectsModule

description: The public interface to this module

code: class ISmartObjectsModule : public [IModuleInterface](API\Runtime\Core\Modules\IModuleInterface)


description: Convert value to text, works directly on provided memory/properties

code: virtual [FString](API\Runtime\Core\Containers\FString) DescribeValue ( const [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) & OwnerComp, const uint8 * MemoryBlock ) const


description: Compares two values

code: virtual [EBlackboardCompare::Type](API\Runtime\AIModule\BehaviorTree\Blackboard\EBlackboardCompare__Type) CompareValues ( const [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) & OwnerComp, const uint8 * MemoryBlock, const [UBlackboardKeyType](API\Runtime\AIModule\BehaviorTree\Blackboard\UBlackboardKeyType) * OtherKeyOb, const uint8 * OtherMemoryBlock ) const


description: Sets value to the default, works directly on provided memory/properties

code: virtual void Clear ( [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) & OwnerComp, uint8 * MemoryBlock )


code: static [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) GetValue ( const [UBlackboardKeyType_SOClaimHandle](API\Plugins\SmartObjectsModule\UBlackboardKeyType_SOClaimHandle) * KeyOb, const uint8 * MemoryBlock )


description: Initialize memory, works directly on provided memory/properties

code: virtual void InitializeMemory ( [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) & OwnerComp, uint8 * MemoryBlock )


code: static const [FDataType](API\Plugins\SmartObjectsModule\UBlackboardKeyType_SOClaimHandle\FDataType) InvalidValue;


code: static bool SetValue ( [UBlackboardKeyType_SOClaimHandle](API\Plugins\SmartObjectsModule\UBlackboardKeyType_SOClaimHandle) * KeyOb, uint8 * MemoryBlock, const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & Value )


description: Various value testing, works directly on provided memory/properties

code: virtual bool TestBasicOperation ( const [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) & OwnerComp, const uint8 * MemoryBlock, [EBasicKeyOperation::Type](API\Runtime\AIModule\BehaviorTree\Blackboard\EBasicKeyOperation__Type) Op ) const


code: UBlackboardKeyType_SOClaimHandle ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


description: Blackboard key type that holds a SmartObject claim handle

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Meta=(DisplayName="SO Claim Handle")) class UBlackboardKeyType_SOClaimHandle : public [UBlackboardKeyType](API\Runtime\AIModule\BehaviorTree\Blackboard\UBlackboardKeyType)

Handle

type: FSmartObjectCla...


code: virtual void GenerateItems ( [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance ) const


code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetDescriptionDetails() const


code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetDescriptionTitle() const


description: Fetches Smart Object slots within QueryBoxExtent from locations given by QueryOriginContext, that match SmartObjectRequestFilter

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Meta=(DisplayName="Smart Objects")) class UEnvQueryGenerator_SmartObjects : public [UEnvQueryGenerator](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryGenerator)

bOnlyClaimable

type: bool

description: Determines whether only currently claimable slots are allowed

QueryBoxExtent

type: FVector

description: Combined with generator's origin(s) (as indicated by QueryOriginContext) determines query's volume

QueryOriginContext

type: TSubclassOf<UE...

description: The context indicating the locations to be used as query origins

SmartObjectRequestFilter

type: FSmartObjectReq...

description: If set will be used to filter gathered results


code: virtual FVector GetItemLocation ( const uint8 * RawData ) const


code: static const [FSmartObjectSlotEQSItem](API\Plugins\SmartObjectsModule\FSmartObjectSlotEQSItem) & GetValue ( const uint8 * RawData )


code: static void SetValue ( uint8 * RawData, const [FSmartObjectSlotEQSItem](API\Plugins\SmartObjectsModule\FSmartObjectSlotEQSItem) & Value )


className: USmartObjectBehaviorDefinition

description: Abstract class that can be extended to bind a new type of behavior framework to the smart objects by defining the required definition.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract, NotBlueprintable, EditInlineNew, CollapseCategories, HideDropDown) class USmartObjectBehaviorDefinition : public [UObject](API\Runtime\CoreUObject\UObject\UObject)


description:
Adds to the simulation all smart objects for multiple actors.
True if the requested operation succeeded; false otherwise

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") static bool AddMultipleSmartObjects ( const [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & SmartObjectActors )


description: SetMultipleSmartObjectsEnabled

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") static bool AddOrRemoveMultipleSmartObjects ( const [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & SmartObjectActors, const bool bAdd )


description: SetMultipleSmartObjectsEnabled

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") static bool AddOrRemoveSmartObject ( [AActor](API\Runtime\Engine\GameFramework\AActor) * SmartObject, const bool bEnabled )


description:
Adds to the simulation all smart objects for an actor.
True if the requested operation succeeded; false otherwise

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") static bool AddSmartObject ( [AActor](API\Runtime\Engine\GameFramework\AActor) * SmartObjectActor )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="AI|BehaviorTree", Meta=(HidePin="NodeOwner", DefaultToSelf="NodeOwner", DisplayName="Get Blackboard Value As Smart Object Claim Handle")) static [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) GetBlackboardValueAsSOClaimHandle ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") static [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) GetValueAsSOClaimHandle ( [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) * BlackboardComponent, const [FName](API\Runtime\Core\UObject\FName) & KeyName )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") static bool IsValidSmartObjectClaimHandle ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) Handle )


description:
Marks a smart object slot from a request result as claimed.
A handle binding the claimed smart object, its slot and a user id.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject", Meta=(WorldContext="WorldContextObject")) static [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) MarkSmartObjectSlotAsClaimed ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, const [AActor](API\Runtime\Engine\GameFramework\AActor) * UserActor )


description:
Marks a previously claimed smart object slot as occupied.
The base class pointer of the requested behavior definition class associated to the slot

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject", Meta=(WorldContext="WorldContextObject")) static const [USmartObjectBehaviorDefinition](API\Plugins\SmartObjectsModule\USmartObjectBehaviorDefinition) * MarkSmartObjectSlotAsOccupied ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) ClaimHandle, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [USmartObjectBehaviorDefinition](API\Plugins\SmartObjectsModule\USmartObjectBehaviorDefinition) > DefinitionClass )


description:
Marks a claimed or occupied smart object as free.
Whether the claim was successfully released or not

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject", Meta=(WorldContext="WorldContextObject")) static bool MarkSmartObjectSlotAsFree ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) ClaimHandle )


description: SetMultipleSmartObjectsEnabled

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") static bool RemoveMultipleSmartObjects ( const [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & SmartObjectActors )


description: SetMultipleSmartObjectsEnabled

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") static bool RemoveSmartObject ( [AActor](API\Runtime\Engine\GameFramework\AActor) * SmartObjectActor )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="AI|BehaviorTree", Meta=(HidePin="NodeOwner", DefaultToSelf="NodeOwner", DisplayName="Set Blackboard Value As Smart Object Claim Handle")) static void SetBlackboardValueAsSOClaimHandle ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key, const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & Value )


description: RemoveMultipleSmartObjects

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject", Meta=(DisplayName="SetMultipleSmartObjectsEnabled")) static bool SetMultipleSmartObjectsEnabled ( const [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & SmartObjectActors, const bool bEnabled )


description: RemoveMultipleSmartObjects

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") static bool SetSmartObjectEnabled ( [AActor](API\Runtime\Engine\GameFramework\AActor) * SmartObjectActor, const bool bEnabled )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") static void SetValueAsSOClaimHandle ( [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) * BlackboardComponent, const [FName](API\Runtime\Core\UObject\FName) & KeyName, [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) Value )


className: USmartObjectBlueprintFunctionLibrary


description: Begins Play for the component. Called when the owning Actor begins play or when the component is created if the Actor has already begun play. Actor BeginPlay normally happens right after PostInitializeComponents but can be delayed for networked or child actors. Requires component to be registered and initialized.

code: virtual void BeginPlay()


description: Ends gameplay for this component. Called fromAActor::EndPlayonly if bHasBegunPlay is true

code: virtual void EndPlay ( const [EEndPlayReason::Type](API\Runtime\Engine\Engine\EEndPlayReason__Type) EndPlayReason )


className: FOnSmartObjectChanged

code: typedef TMulticastDelegate_OneParam< void, const [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) & > FOnSmartObjectChanged


code: bool GetCanBePartOfCollection() const


description: Called before we throw away components during RerunConstructionScripts, to cache any data we wish to persist across that operation

code: virtual [TStructOnScope](API\Runtime\CoreUObject\UObject\TStructOnScope)< [FActorComponentInstanceData](API\Runtime\Engine\FActorComponentInstanceData) > GetComponentInstanceData() const


code: const [USmartObjectDefinition](API\Plugins\SmartObjectsModule\USmartObjectDefinition) * GetDefinition() const


code: FBox GetSmartObjectBounds() const


code: void InvalidateRegisteredHandle()


code: bool IsBoundToSimulation() const


description: Called when a component is registered, after Scene is set, but before CreateRenderState_Concurrent or OnCreatePhysicsState are called.

code: virtual void OnRegister()


code: void OnRuntimeInstanceBound ( [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & RuntimeInstance )


code: void OnRuntimeEventReceived ( const [FSmartObjectEventData](API\Plugins\SmartObjectsModule\FSmartObjectEventData) & Event )


code: void OnRuntimeInstanceUnbound ( [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & RuntimeInstance )


description: Called when a component is unregistered. Called after DestroyRenderState_Concurrent and OnDestroyPhysicsState are called.

code: virtual void OnUnregister()


description: Called when a property on this object has been modified externally

code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


description: Called after applying a transaction to the object. Default implementation simply calls PostEditChange.

code: virtual void PostEditUndo()


description: Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.

code: virtual void PostInitProperties()


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintImplementableEvent, Category=SmartObject, Meta=(DisplayName="OnSmartObjectEventReceived")) void ReceiveOnEvent ( const [FSmartObjectEventData](API\Plugins\SmartObjectsModule\FSmartObjectEventData) & EventData, const [AActor](API\Runtime\Engine\GameFramework\AActor) * Interactor )


code: void RegisterToSubsystem()


code: void SetDefinition ( [USmartObjectDefinition](API\Plugins\SmartObjectsModule\USmartObjectDefinition) * Definition )


code: void SetRegisteredHandle ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Value, const [ESmartObjectRegistrationType](API\Plugins\SmartObjectsModule\ESmartObjectRegistrationType) InRegistrationType )


code: void UnregisterFromSubsystem ( const [ESmartObjectUnregistrationType](API\Plugins\SmartObjectsModule\ESmartObjectUnregistrationType) UnregistrationType )


code: USmartObjectComponent ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: USmartObjectComponent

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Blueprintable, ClassGroup=Gameplay, Meta=(BlueprintSpawnableComponent), Config=Game, HideCategories=(Activation, AssetUserData, Collision, Cooking, HLOD, Lighting, LOD, Mobile, Mobility, Navigation, Physics, RayTracing, Rendering, Tags, TextureStreaming)) class USmartObjectComponent : public [USceneComponent](API\Runtime\Engine\Components\USceneComponent)

bCanBePartOfCollection

description: Controls whether a given SmartObject can be aggregated in SmartObjectPersistentCollections.

DefinitionAsset

type: TObjectPtr<USm...

EventDelegateHandle

type: FDelegateHandle

FSmartObjectComponentInstanceData

type: friend

OnSmartObjectEvent

type: FSmartObjectCom...

OnSmartObjectEventNative

description: Native version of OnSmartObjectEvent.

RegisteredHandle

type: FSmartObjectHan...

description: RegisteredHandle != FSmartObjectHandle::Invalid when registered into a collection by SmartObjectSubsystem

RegistrationType

type: ESmartObjectReg...


description: Calculate the bounds of the component. Default behavior is a bounding box/sphere of zero size.

code: virtual FBoxSphereBounds CalcBounds ( const FTransform & LocalToWorld ) const


description:
Creates a proxy to represent the primitive to the scene manager in the rendering thread.
The proxy object.

code: virtual [FPrimitiveSceneProxy](API\Runtime\Engine\FPrimitiveSceneProxy) * CreateSceneProxy()


description:
Determines whether the proxy for this primitive type needs to be recreated whenever the primitive moves.
true to recreate the proxy when UpdateTransform is called.

code: virtual bool ShouldRecreateProxyOnUpdateTransform() const


code: USmartObjectContainerRenderingComponent ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: USmartObjectContainerRenderingComponent

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)( HideCategories=(Object, LOD, Lighting, VirtualTexture, Transform, HLOD, Collision, TextureStreaming, Mobile, Physics, Tags, AssetUserData, Activation, Cooking, Rendering), EditInlineNew, Meta=(BlueprintSpawnableComponent)) class USmartObjectContainerRenderingComponent : public [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent)


description: Method that derived class should override to create the scene proxy and customize a custom delegate helper (if any)

code: virtual [FDebugRenderSceneProxy](API\Runtime\Engine\FDebugRenderSceneProxy) * CreateDebugSceneProxy()


code: virtual void DebugDraw ( [FDebugRenderSceneProxy](API\Runtime\Engine\FDebugRenderSceneProxy) * DebugProxy )


code: virtual void DebugDrawCanvas ( [UCanvas](API\Runtime\Engine\Engine\UCanvas) * Canvas, [APlayerController](API\Runtime\Engine\GameFramework\APlayerController) * )


code: virtual void OnRegister()


code: virtual void OnUnregister()


code: USmartObjectDebugRenderingComponent ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: USmartObjectDebugRenderingComponent

description: SimpleUDebugDrawComponentto inherit from to use aFSmartObjectDebugSceneProxy. Derived classes can set ViewFlagName at construction to control relevancy.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(ClassGroup=Debug, NotBlueprintable, NotPlaceable) class USmartObjectDebugRenderingComponent : public [UDebugDrawComponent](API\Runtime\Engine\Debug\UDebugDrawComponent)

ViewFlagName

type: FString


description: Adds and returns a reference to a defaulted slot (used for testing purposes)


description: Indexof the slot that has the specified ID, or INDEX_NONE if not found.

code: int32 FindSlotByID ( const [FGuid](API\Runtime\Core\Misc\FGuid) ID ) const


description: Returns the list of tags describing the activity associated to this definition

code: const [FGameplayTagContainer](API\Runtime\GameplayTags\FGameplayTagContainer) & GetActivityTags() const


description: Returns the tag merging policy to apply on Activity tags from this definition


description:
Retrieves a specific type of behavior definition for a given slot. When the slot doesn't provide one or if the provided index is not valid the search will look in the object default definitions.
The behavior definition found or null if none are available for the requested type.

code: const [USmartObjectBehaviorDefinition](API\Plugins\SmartObjectsModule\USmartObjectBehaviorDefinition) * GetBehaviorDefinition ( const int32 SlotIndex, const [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [USmartObjectBehaviorDefinition](API\Plugins\SmartObjectsModule\USmartObjectBehaviorDefinition) > & DefinitionClass ) const


description: Return bounds encapsulating all slots

code: FBox GetBounds() const


description: mutable Preconditions that must pass for the object to be found/used.


description: mutable slot definition stored at a given index

code: [FSmartObjectSlotDefinition](API\Plugins\SmartObjectsModule\FSmartObjectSlotDefinition) & GetMutableSlot ( const int32 Index )


description: Returns a view on all the slot definitions


description: Returns the tag query to run on the runtime tags of a smart object instance to accept it

code: const [FGameplayTagQuery](API\Runtime\GameplayTags\FGameplayTagQuery) & GetObjectTagFilter() const


description: Preconditions that must pass for the object to be found/used.

code: const [FWorldConditionQueryDefinition](API\Plugins\WorldConditions\FWorldConditionQueryDefinition) & GetPreconditions() const


description: validation filter class for preview.


description: slot definition stored at a given index

code: const [FSmartObjectSlotDefinition](API\Plugins\SmartObjectsModule\FSmartObjectSlotDefinition) & GetSlot ( const int32 Index ) const


description: Fills the provided GameplayTagContainer with the activity tags associated to the slot according to the tag merging policy.

code: void GetSlotActivityTags ( const int32 SlotIndex, [FGameplayTagContainer](API\Runtime\GameplayTags\FGameplayTagContainer) & OutActivityTags ) const


code: void GetSlotActivityTags ( const [FSmartObjectSlotDefinition](API\Plugins\SmartObjectsModule\FSmartObjectSlotDefinition) & SlotDefinition, [FGameplayTagContainer](API\Runtime\GameplayTags\FGameplayTagContainer) & OutActivityTags ) const


description: a view on all the slot definitions

code: TConstArrayView< [FSmartObjectSlotDefinition](API\Plugins\SmartObjectsModule\FSmartObjectSlotDefinition) > GetSlots() const


description:
Method will ensure on invalid invalid index.
Transform (in world space) of the slot associated to SlotIndex.

code: PRAGMA_DISABLE_DEPRECATION_WARNINGS[TOptional](API\Runtime\Core\IO\TOptional)< FTransform > GetSlotTransform ( const FTransform & OwnerTransform, const FSmartObjectSlotIndex SlotIndex ) const


description:
Method will ensure on invalid invalid index.
Transform (in world space) of the slot associated to SlotIndex, or OwnerTransform if index is invalid.

code: FTransform GetSlotWorldTransform ( const int32 SlotIndex, const FTransform & OwnerTransform ) const


description: Returns the tag query to run on the user tags provided by a request to accept this definition

code: const [FGameplayTagQuery](API\Runtime\GameplayTags\FGameplayTagQuery) & GetUserTagFilter() const


description: Returns the tag filtering policy that should be applied on User tags by this definition


code: const [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [USmartObjectWorldConditionSchema](API\Plugins\SmartObjectsModule\WorldConditions\USmartObjectWorldConditionSchema) > & GetWorldConditionSchemaClass() const


code: const [USmartObjectWorldConditionSchema](API\Plugins\SmartObjectsModule\WorldConditions\USmartObjectWorldConditionSchema) * GetWorldConditionSchema() const


description:
Generic function to validate objects during changelist validations, etc.
Valid if this object has data validation rules set up for it and the data for this object is valid. Returns Invalid if it does not pass the rules. Returns NotValidated if no rules are set for this object.

code: virtual EDataValidationResult IsDataValid ( class [FDataValidationContext](API\Runtime\CoreUObject\Misc\FDataValidationContext) & Context ) const


description: Returns result of the last validation if `Validate_ was called; unset otherwise.

code: [TOptional](API\Runtime\Core\IO\TOptional)< bool > IsValid() const


description: True if specified slot index is valid.

code: bool IsValidSlotIndex ( const int32 SlotIndex ) const


description: This alternate version of PostEditChange is called when properties inside structs are modified. The property that was actually modified is located at the tail of the list. The head of the list of theFStructPropertymember variable that contains the property that was modified.

code: virtual void PostEditChangeChainProperty ( [FPropertyChangedChainEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedChainEvent) & PropertyChangedEvent )


description: Do any object-specific cleanup required immediately after loading an object. This is not called for newly-created objects, and by default will always execute on the game thread.

code: virtual void PostLoad()


description: Objects created from within PreSave will NOT have PreSave called on them!!!

code: virtual void PreSave ( [FObjectPreSaveContext](API\Runtime\CoreUObject\UObject\FObjectPreSaveContext) SaveContext )


description: Sets the list of tags describing the activity associated to this definition

code: void SetActivityTags ( const [FGameplayTagContainer](API\Runtime\GameplayTags\FGameplayTagContainer) & InActivityTags )


description: Sets the tag merging policy to apply on Activity tags from this definition

code: void SetActivityTagsMergingPolicy ( const [ESmartObjectTagMergingPolicy](API\Plugins\SmartObjectsModule\ESmartObjectTagMergingPolicy) InActivityTagsMergingPolicy )


description: Sets the tag query to run on the runtime tags of a smart object instance to accept it

code: void SetObjectTagFilter ( const [FGameplayTagQuery](API\Runtime\GameplayTags\FGameplayTagQuery) & InObjectTagFilter )


description: Sets the tag query to run on the user tags provided by a request to accept this definition

code: void SetUserTagFilter ( const [FGameplayTagQuery](API\Runtime\GameplayTags\FGameplayTagQuery) & InUserTagFilter )


description: Sets the tag filtering policy to apply on User tags by this definition

code: void SetUserTagsFilteringPolicy ( const [ESmartObjectTagFilteringPolicy](API\Plugins\SmartObjectsModule\ESmartObjectTagFilteringPolicy) InUserTagsFilteringPolicy )


code: void UpdateSlotReferences()


description:
Performs validation for the current definition. The method will return on the first error encountered by default but could go through all validations and report all errors (e.g. when saving the asset errors are reported to the user). An object using an invalid definition will not be registered in the simulation. The result of the validation is stored until next validation and can be retrieved using `IsValid_.
true if the definition is valid

code: bool Validate ( [TArray](API\Runtime\Core\Containers\TArray)< [FText](API\Runtime\Core\Internationalization\FText) > * ErrorsToReport ) const


code: USmartObjectDefinition ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: USmartObjectDefinition

description: SmartObject definition asset. Contains sharable information that can be used by multiple SmartObject instances at runtime.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(BlueprintType, Blueprintable, CollapseCategories) class USmartObjectDefinition : public [UDataAsset](API\Runtime\Engine\Engine\UDataAsset)

PreviewData

type: FSmartObjectDef...

description: Actor class used for previewing the user in the asset editor.


code: virtual [FInstancedStruct](API\Plugins\StructUtils\FInstancedStruct) Add ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle, const FBox & Bounds )


code: virtual void Draw ( [FDebugRenderSceneProxy](API\Runtime\Engine\FDebugRenderSceneProxy) * DebugProxy )


code: virtual void Find ( const FBox & QueryBox, [TArray](API\Runtime\Core\Containers\TArray)< [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) > & OutResults )


code: virtual void Remove ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle, [FStructView](API\Plugins\StructUtils\FStructView) EntryData )


code: virtual void SetBounds ( const FBox & Bounds )


className: USmartObjectOctree

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class USmartObjectOctree : public [USmartObjectSpacePartition](API\Plugins\SmartObjectsModule\USmartObjectSpacePartition)


description: Calculate the bounds of the component. Default behavior is a bounding box/sphere of zero size.

code: virtual FBoxSphereBounds CalcBounds ( const FTransform & LocalToWorld ) const


description:
Creates a proxy to represent the primitive to the scene manager in the rendering thread.
The proxy object.

code: virtual [FPrimitiveSceneProxy](API\Runtime\Engine\FPrimitiveSceneProxy) * CreateSceneProxy()


description: Called when a property on this object has been modified externally

code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


description:
Determines whether the proxy for this primitive type needs to be recreated whenever the primitive moves.
true to recreate the proxy when UpdateTransform is called.

code: virtual bool ShouldRecreateProxyOnUpdateTransform() const


code: USmartObjectRenderingComponent ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: USmartObjectRenderingComponent

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)( HideCategories=(Object, LOD, Lighting, VirtualTexture, Transform, HLOD, Collision, TextureStreaming, Mobile, Physics, Tags, AssetUserData, Activation, Cooking, Rendering), EditInlineNew, Meta=(BlueprintSpawnableComponent)) class USmartObjectRenderingComponent : public [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent)


className: USmartObjectSettings

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Config=SmartObjects, defaultconfig, DisplayName="SmartObject", AutoExpandCategories="SmartObject") class USmartObjectSettings : public [UDeveloperSettings](API\Runtime\DeveloperSettings\Engine\UDeveloperSettings)

DefaultActivityTagsMergingPolicy

type: ESmartObjectTag...

description: Default merging policy to use for Activity Tags in newly created SmartObjectDefinitions.

DefaultUserTagsFilteringPolicy

description: Default filtering policy to use for TagQueries applied on User Tags in newly created SmartObjectDefinitions.

DefaultWorldConditionSchemaClass

type: TSubclassOf<US...

description: Base world condition class for all new Smart Object definitions.


description: validation parameters for entry validation, and general use.

code: const [FSmartObjectSlotValidationParams](API\Plugins\SmartObjectsModule\FSmartObjectSlotValidationParams) & GetEntryValidationParams() const


description: validation parameters for exit validation.

code: const [FSmartObjectSlotValidationParams](API\Plugins\SmartObjectsModule\FSmartObjectSlotValidationParams) & GetExitValidationParams() const


description: validation parameters based on location type (enter & exit)

code: const [FSmartObjectSlotValidationParams](API\Plugins\SmartObjectsModule\FSmartObjectSlotValidationParams) & GetValidationParams ( const [ESmartObjectSlotNavigationLocationType](API\Plugins\SmartObjectsModule\ESmartObjectSlotNavigationLocati-) LocationType ) const


className: USmartObjectSlotValidationFilter

description: Class used to define settings for Smart Object navigation and collision validation. It is possible to specify two set of validation parameters. The one labeled "entry" is used for validating entry locations and other general collision validation. A separate set can be defined for checking exit locations. This allows the exit location checking to be relaxed. E.g. we might not allow to enter the SO on water area, but it is fine to exit on water. The values of the CDO are used, the users are expected to derive from this class to create custom settings.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Blueprintable, Abstract) class USmartObjectSlotValidationFilter : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

bUseEntryParametersForExit

description: If true, use separate settings for validating exit locations.

EntryParameters

type: FSmartObjectSlo...

description: Parameters to use for validating entry locations or general collision validation.

ExitParameters

description: Parameters to use for validating exit locations.


code: virtual [FInstancedStruct](API\Plugins\StructUtils\FInstancedStruct) Add ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle, const FBox & Bounds )


code: virtual void Draw ( [FDebugRenderSceneProxy](API\Runtime\Engine\FDebugRenderSceneProxy) * DebugProxy )


code: virtual void Find ( const FBox & QueryBox, [TArray](API\Runtime\Core\Containers\TArray)< [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) > & OutResults )


code: virtual void Remove ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle, [FStructView](API\Plugins\StructUtils\FStructView) EntryData )


code: virtual void SetBounds ( const FBox & Bounds )


className: USmartObjectSpacePartition

description: Base class for space partitioning structure that can be used to store smart object locations

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract) class USmartObjectSpacePartition : public [UObject](API\Runtime\CoreUObject\UObject\UObject)


description: Deprecated*AbortAll()was changed to require object handle as parameter too.

code: void AbortAll ( const [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & SmartObjectRuntime )


code: void AbortAll ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle, [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & SmartObjectRuntime ) const


description: Registers a collection entry to the simulation and creates its associated runtime instance.

code: [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) * AddCollectionEntryToSimulation ( const [FSmartObjectCollectionEntry](API\Plugins\SmartObjectsModule\FSmartObjectCollectionEntry) & Entry, const [USmartObjectDefinition](API\Plugins\SmartObjectsModule\USmartObjectDefinition) & Definition, [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) * OwnerComponent )


description: Deprecated* bCommitChanges is not used anymore, use the version without.

code: [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) * AddCollectionEntryToSimulation ( const [FSmartObjectCollectionEntry](API\Plugins\SmartObjectsModule\FSmartObjectCollectionEntry) & Entry, const [USmartObjectDefinition](API\Plugins\SmartObjectsModule\USmartObjectDefinition) & Definition, [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) * OwnerComponent, const bool bCommitChanges )


code: [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) * AddComponentToSimulation ( [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) & SmartObjectComponent, const [FSmartObjectCollectionEntry](API\Plugins\SmartObjectsModule\FSmartObjectCollectionEntry) & CollectionEntry )


code: [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) * AddComponentToSimulation ( [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) & SmartObjectComponent, const [FSmartObjectCollectionEntry](API\Plugins\SmartObjectsModule\FSmartObjectCollectionEntry) & CollectionEntry, const bool bCommitChanges )


code: void AddContainerToSimulation ( const [FSmartObjectContainer](API\Plugins\SmartObjectsModule\FSmartObjectContainer) & InSmartObjectContainer )


description: Adds state data to a slot instance. Data must be a struct that inherits fromFSmartObjectSlotStateDataand passed as a struct view (e.g. FConstStructView::Make(FSomeStruct))

code: void AddSlotData ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle, [FConstStructView](API\Plugins\StructUtils\FConstStructView) InData )


description: Deprecated* Data is now added synchronously, use AddSlotData instead.

code: void AddSlotDataDeferred ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle, [FConstStructView](API\Plugins\StructUtils\FConstStructView) InData )


description: Adds a single tag to the smart object instance represented by the provided handle.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") void AddTagToInstance ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle, const [FGameplayTag](API\Runtime\GameplayTags\FGameplayTag) & Tag )


code: static void AddTagToInstance ( [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & SmartObjectRuntime, const [FGameplayTag](API\Runtime\GameplayTags\FGameplayTag) & Tag )


description: Adds a single tag to the smart object slot represented by the provided handle.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") void AddTagToSlot ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, const [FGameplayTag](API\Runtime\GameplayTags\FGameplayTag) & Tag )


description: Notifies SmartObjectComponent that it has been bound to a runtime instance, and sets SmartObjectComponent-related properties of SmartObjectRuntime

code: void BindComponentToSimulationInternal ( [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) & SmartObjectComponent, [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & SmartObjectRuntime )


description: Binds a smartobject component to an existing instance in the simulation. If a given SmartObjectComponent has not been registered yet an ensure will trigger.

code: void BindComponentToSimulation ( [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) & SmartObjectComponent )


description: Binds properties of the context data to property values of the user data struct when they match type and name.

code: void BindPropertiesFromStruct ( [FWorldConditionContextData](API\Plugins\WorldConditions\FWorldConditionContextData) & ContextData, const [FConstStructView](API\Plugins\StructUtils\FConstStructView) & UserData ) const


description: EvaluateSelectionConditions

code: bool CanBeClaimed ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle ) const


description:
Claims smart object from a request result.
A handle binding the claimed smart object, its slot and a user id.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject", Meta=(DeprecatedFunction, DeprecationMessage="Use MarkSmartObjectSlotAsClaimed instead.")) [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) Claim ( const [FSmartObjectRequestResult](API\Plugins\SmartObjectsModule\FSmartObjectRequestResult) & RequestResult, const [AActor](API\Runtime\Engine\GameFramework\AActor) * UserActor )


description:
Claim smart object slot.
A handle binding the claimed smart object, its slot and a user id.

code: [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) Claim ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, const [FConstStructView](API\Plugins\StructUtils\FConstStructView) UserData )


description:
Claim smart object from object and slot handles.
A handle binding the claimed smart object, its slot and a user id.

code: [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) Claim ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle, [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle )


code: [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) Claim ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle, const [FSmartObjectRequestFilter](API\Plugins\SmartObjectsModule\FSmartObjectRequestFilter) & Filter )


description: Removes all runtime data

code: virtual void CleanupRuntime()


description: Compute bounds from the given world

code: FBox ComputeBounds ( const [UWorld](API\Runtime\Engine\Engine\UWorld) & World ) const


description: Special-purpose function used to set up an instance ofASmartObjectPersistentCollectionwith data from a given instance ofADEPRECATED_SmartObjectCollection

code: static void CreatePersistentCollectionFromDeprecatedData ( [UWorld](API\Runtime\Engine\Engine\UWorld) & World, const [ADEPRECATED_SmartObjectCollection](API\Plugins\SmartObjectsModule\ADEPRECATED_SmartObjectCollectio-) & DeprecatedCollection )


description: Debugging helper to emulate the stop of the simulation to destroy all runtime data

code: void DebugCleanupRuntime()


code: void DebugDraw ( [FDebugRenderSceneProxy](API\Runtime\Engine\FDebugRenderSceneProxy) * DebugProxy ) const


code: void DebugDrawCanvas ( [UCanvas](API\Runtime\Engine\Engine\UCanvas) * Canvas, [APlayerController](API\Runtime\Engine\GameFramework\APlayerController) * PlayerController ) const


code: const [TMap](API\Runtime\Core\Containers\TMap)< [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle), [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) > & DebugGetRuntimeObjects() const


description: Deprecated*DebugGetRuntimeSlots()is not supported anymore, slots are accessed via object runtime instead.

code: const [TMap](API\Runtime\Core\Containers\TMap)< [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle), [FSmartObjectRuntimeSlot](API\Plugins\SmartObjectsModule\FSmartObjectRuntimeSlot) > & DebugGetRuntimeSlots() const


description: Debugging helper to emulate the start of the simulation to create all runtime data

code: void DebugInitializeRuntime()


description: Debugging helpers to add all registered smart objects to the simulation

code: void DebugRegisterAllSmartObjects()


description: Debugging helper to remove all registered smart objects from the simulation

code: void DebugUnregisterAllSmartObjects()


description: USubsystemBEGIN.

code: virtual void Deinitialize()


description: Deprecated* EntityManagerRef is not used anymore, use the version without.

code: void DestroyRuntimeInstanceInternal ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle, [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & SmartObjectRuntime, const [FMassEntityManager](API\Plugins\MassEntity\FMassEntityManager) & EntityManagerRef )


description: Deprecated*EvaluateConditionsForFiltering()was changed to rewuire smart object runtime as parameter.

code: bool EvaluateConditionsForFiltering ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, [FWorldConditionContextData](API\Plugins\WorldConditions\FWorldConditionContextData) & ContextData, const [FConstStructView](API\Plugins\StructUtils\FConstStructView) UserData, TPair< const [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) *, bool > & LastEvaluatedRuntime ) const


description: Internal helper for filter methods to build the list of accepted slots by reusing context data and schema as much as possible.

code: bool EvaluateConditionsForFiltering ( const [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & SmartObjectRuntime, const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, [FWorldConditionContextData](API\Plugins\WorldConditions\FWorldConditionContextData) & ContextData, const [FConstStructView](API\Plugins\StructUtils\FConstStructView) UserData, TPair< const [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) *, bool > & LastEvaluatedRuntime ) const


description:
Use the provided context data that is expected to be already filled by calling 'SetupConditionContextCommonData' and evaluates all conditions associated to the specified object.
True if all conditions are met; false otherwise

code: bool EvaluateObjectConditions ( const [FWorldConditionContextData](API\Plugins\WorldConditions\FWorldConditionContextData) & ConditionContextData, const [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & SmartObjectRuntime ) const


description: Destroy SmartObjectRuntime contents as Handle's representation.

code: void DestroyRuntimeInstanceInternal ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle, [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & SmartObjectRuntime )


description:
Evaluates conditions of the specified slot and its parent smart object. Optional user data can be provided to bind parameters in evaluation context based on the schema used by the object definition.
True if all conditions are met; false otherwise

code: bool EvaluateSelectionConditions ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, const [FConstStructView](API\Plugins\StructUtils\FConstStructView) UserData ) const


description: SetupDefaultConditionsContext

code: bool EvaluateSlotConditions ( [FWorldConditionContextData](API\Plugins\WorldConditions\FWorldConditionContextData) & ConditionContextData, const [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & SmartObjectRuntime, const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle ) const


description: Deprecated* Use the version that takes smart object runtime and slot handle.

code: bool EvaluateSlotConditions ( [FWorldConditionContextData](API\Plugins\WorldConditions\FWorldConditionContextData) & ConditionContextData, const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, const [FSmartObjectRuntimeSlot](API\Plugins\SmartObjectsModule\FSmartObjectRuntimeSlot) & Slot ) const


description:
Evaluates conditions of the slot specified by each request result and add to the result array on success. Optional user data can be provided to bind parameters in evaluation context based on the schema used by the object definition.
List of request results that pass all their selection conditions

code: [TArray](API\Runtime\Core\Containers\TArray)< [FSmartObjectRequestResult](API\Plugins\SmartObjectsModule\FSmartObjectRequestResult) > FilterResultsBySelectionConditions ( const TConstArrayView< [FSmartObjectRequestResult](API\Plugins\SmartObjectsModule\FSmartObjectRequestResult) > & ResultsToFilter, const [FConstStructView](API\Plugins\StructUtils\FConstStructView) UserData ) const


description:
Evaluates conditions of each slot and add to the result array on success. Optional user data can be provided to bind parameters in evaluation context based on the schema used by the object definition.
List of slot handles that pass all their selection conditions

code: [TArray](API\Runtime\Core\Containers\TArray)< [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) > FilterSlotsBySelectionConditions ( const TConstArrayView< [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) > & SlotsToFilter, const [FConstStructView](API\Plugins\StructUtils\FConstStructView) UserData ) const


description:
Finds entrance location for a specific slot. Each slot can be annotated with multiple entrance locations, and the request can be configured to also consider the slot location as one entry. Additionally the entrance locations can be checked to be on navigable surface (does not check that the point is reachable, though), traced on ground, and without of collisions.
True if valid entry found.

code: bool FindEntranceLocationForSlot ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, const [FSmartObjectSlotEntranceLocationRequest](API\Plugins\SmartObjectsModule\FSmartObjectSlotEntranceLocation-) & Request, [FSmartObjectSlotEntranceLocationResult](API\Plugins\SmartObjectsModule\FSmartObjectSlotEntranceLocation-_1) & Result ) const


description: Applies filter on provided definition and fills OutValidIndices with indices of all valid slots.

code: static void FindMatchingSlotDefinitionIndices ( const [USmartObjectDefinition](API\Plugins\SmartObjectsModule\USmartObjectDefinition) & Definition, const [FSmartObjectRequestFilter](API\Plugins\SmartObjectsModule\FSmartObjectRequestFilter) & Filter, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & OutValidIndices )


code: bool FindEntranceLocationInternal ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, const [FSmartObjectSlotEntranceHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotEntranceHandle) SlotEntranceHandle, const [FSmartObjectSlotEntranceLocationRequest](API\Plugins\SmartObjectsModule\FSmartObjectSlotEntranceLocation-) & Request, [FSmartObjectSlotEntranceLocationResult](API\Plugins\SmartObjectsModule\FSmartObjectSlotEntranceLocation-_1) & Result ) const


description: Returns slots of a given smart object matching the filter.

code: void FindSlots ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle, const [FSmartObjectRequestFilter](API\Plugins\SmartObjectsModule\FSmartObjectRequestFilter) & Filter, [TArray](API\Runtime\Core\Containers\TArray)< [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) > & OutSlots, const [FConstStructView](API\Plugins\StructUtils\FConstStructView) UserData ) const


description: Deprecated*FindSlots()was changed to require object handle as parameter too.

code: void FindSlots ( const [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & SmartObjectRuntime, const [FSmartObjectRequestFilter](API\Plugins\SmartObjectsModule\FSmartObjectRequestFilter) & Filter, [TArray](API\Runtime\Core\Containers\TArray)< [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) > & OutResults, const [FConstStructView](API\Plugins\StructUtils\FConstStructView) UserData ) const


description: Goes through all defined slots of smart object represented by SmartObjectRuntime and finds the ones matching the filter.

code: void FindSlots ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle, const [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & SmartObjectRuntime, const [FSmartObjectRequestFilter](API\Plugins\SmartObjectsModule\FSmartObjectRequestFilter) & Filter, [TArray](API\Runtime\Core\Containers\TArray)< [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) > & OutResults, const [FConstStructView](API\Plugins\StructUtils\FConstStructView) UserData ) const


description:
Spatial lookup for first slot in range respecting request criteria and selection conditions.
First valid smart object in range. Not the closest one, just the one that happens to be retrieved first from space partition

code: [FSmartObjectRequestResult](API\Plugins\SmartObjectsModule\FSmartObjectRequestResult) FindSmartObject ( const [FSmartObjectRequest](API\Plugins\SmartObjectsModule\FSmartObjectRequest) & Request, const [FConstStructView](API\Plugins\StructUtils\FConstStructView) UserData ) const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") [FSmartObjectRequestResult](API\Plugins\SmartObjectsModule\FSmartObjectRequestResult) FindSmartObject ( const [FSmartObjectRequest](API\Plugins\SmartObjectsModule\FSmartObjectRequest) & Request, const [AActor](API\Runtime\Engine\GameFramework\AActor) * UserActor ) const


description:
Spatial lookup for slot candidates respecting request criteria and selection conditions.
True if at least one candidate was found.

code: bool FindSmartObjects ( const [FSmartObjectRequest](API\Plugins\SmartObjectsModule\FSmartObjectRequest) & Request, [TArray](API\Runtime\Core\Containers\TArray)< [FSmartObjectRequestResult](API\Plugins\SmartObjectsModule\FSmartObjectRequestResult) > & OutResults, const [FConstStructView](API\Plugins\StructUtils\FConstStructView) UserData ) const


description:
Spatial lookup for slot candidates respecting request criteria and selection conditions.
All valid smart objects in range.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject", Meta=(DisplayName="Find Smart Objects (Pure)", DeprecatedFunction, DeprecationMessage="The pure version is deprecated, place a new Find Smart Objects node and connect the exec pin")) bool FindSmartObjects ( const [FSmartObjectRequest](API\Plugins\SmartObjectsModule\FSmartObjectRequest) & Request, [TArray](API\Runtime\Core\Containers\TArray)< [FSmartObjectRequestResult](API\Plugins\SmartObjectsModule\FSmartObjectRequestResult) > & OutResults, const [AActor](API\Runtime\Engine\GameFramework\AActor) * UserActor ) const


description:
Blueprint function for spatial lookup for slot candidates respecting request criteria and selection conditions.
All valid smart objects in range.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, BlueprintPure=False, Category="SmartObject", Meta=(DisplayName="Find Smart Objects")) bool FindSmartObjects_BP ( const [FSmartObjectRequest](API\Plugins\SmartObjectsModule\FSmartObjectRequest) & Request, [TArray](API\Runtime\Core\Containers\TArray)< [FSmartObjectRequestResult](API\Plugins\SmartObjectsModule\FSmartObjectRequestResult) > & OutResults, const [AActor](API\Runtime\Engine\GameFramework\AActor) * UserActor ) const


description: Return all slots of a given smart object.

code: void GetAllSlots ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle, [TArray](API\Runtime\Core\Containers\TArray)< [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) > & OutSlots ) const


description:
Return the behavior definition of a given type from a request result.
The base class pointer of the requested behavior definition class associated to the request result

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") const [USmartObjectBehaviorDefinition](API\Plugins\SmartObjectsModule\USmartObjectBehaviorDefinition) * GetBehaviorDefinitionByRequestResult ( const [FSmartObjectRequestResult](API\Plugins\SmartObjectsModule\FSmartObjectRequestResult) & RequestResult, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [USmartObjectBehaviorDefinition](API\Plugins\SmartObjectsModule\USmartObjectBehaviorDefinition) > DefinitionClass )


description:
Return the behavior definition of a given type from a claimed object.
The requested behavior definition class pointer associated to the Claim handle

code: template<typename DefinitionType> const DefinitionType * GetBehaviorDefinition ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle )


description:
Return the behavior definition of a given type from a claimed object.
The requested behavior definition class pointer associated to the request result

code: template<typename DefinitionType> const DefinitionType * GetBehaviorDefinition ( const [FSmartObjectRequestResult](API\Plugins\SmartObjectsModule\FSmartObjectRequestResult) & RequestResult )


description:
Return the behavior definition of a given type from a claimed object.
The base class pointer of the requested behavior definition class associated to the slotClaim handle

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") const [USmartObjectBehaviorDefinition](API\Plugins\SmartObjectsModule\USmartObjectBehaviorDefinition) * GetBehaviorDefinition ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [USmartObjectBehaviorDefinition](API\Plugins\SmartObjectsModule\USmartObjectBehaviorDefinition) > DefinitionClass )


code: static const [USmartObjectBehaviorDefinition](API\Plugins\SmartObjectsModule\USmartObjectBehaviorDefinition) * GetBehaviorDefinition ( const [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & SmartObjectRuntime, const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [USmartObjectBehaviorDefinition](API\Plugins\SmartObjectsModule\USmartObjectBehaviorDefinition) > DefinitionClass )


code: static [USmartObjectSubsystem](API\Plugins\SmartObjectsModule\USmartObjectSubsystem) * GetCurrent ( const [UWorld](API\Runtime\Engine\Engine\UWorld) * World )


description:
Returns pointer to the smart object instance event delegate.
Pointer to object's delegate, or nullptr if instance doesn't exists.

code: [FOnSmartObjectEvent](API\Plugins\SmartObjectsModule\FOnSmartObjectEvent) * GetEventDelegate ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) SmartObjectHandle )


description:
Returns the list of tags associated to the smart object instance represented by the provided handle.
Container of tags associated to the smart object instance.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") const [FGameplayTagContainer](API\Runtime\GameplayTags\FGameplayTagContainer) & GetInstanceTags ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle ) const


description: Deprecated* UseGetValidatedMutableRuntimeAndSlot()instead.

code: [FSmartObjectRuntimeSlot](API\Plugins\SmartObjectsModule\FSmartObjectRuntimeSlot) * GetMutableSlotVerbose ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, const TCHAR * LogContext )


code: [FSmartObjectRuntimeSlot](API\Plugins\SmartObjectsModule\FSmartObjectRuntimeSlot) * GetMutableSlot ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle )


code: TConstArrayView< [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [ASmartObjectPersistentCollection](API\Plugins\SmartObjectsModule\ASmartObjectPersistentCollection) > > GetRegisteredCollections() const


code: int32 GetRegisteredSmartObjectsCompatibleWithCollection ( const [ASmartObjectPersistentCollection](API\Plugins\SmartObjectsModule\ASmartObjectPersistentCollection) & InCollection, [TArray](API\Runtime\Core\Containers\TArray)< [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) * > & OutRelevantComponents ) const


description: Returns the runtime instance associated to the provided handle

code: [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) * GetRuntimeInstance ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) SmartObjectHandle )


description: Returns the const runtime instance associated to the provided handle

code: const [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) * GetRuntimeInstance ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) SmartObjectHandle ) const


description:
Returns the position (in world space) of the slot associated to the given claim handle.
Position (in world space) of the slot associated to ClaimHandle.

code: [TOptional](API\Runtime\Core\IO\TOptional)< FVector > GetSlotLocation ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle ) const


description:
Returns pointer to the smart object changed delegate associated to the provided handle. The delegate is shared for all slots so listeners must filter using 'Event.SlotHandle'.
Pointer to slot's delegate, or nullptr if slot does not exists.

code: [FOnSmartObjectEvent](API\Plugins\SmartObjectsModule\FOnSmartObjectEvent) * GetSlotEventDelegate ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle )


description:
Returns the position (in world space) of the slot associated to the given request result.
Position (in world space) of the slot associated to Result.

code: [TOptional](API\Runtime\Core\IO\TOptional)< FVector > GetSlotLocation ( const [FSmartObjectRequestResult](API\Plugins\SmartObjectsModule\FSmartObjectRequestResult) & Result ) const


description:
Returns the position (in world space) of the slot represented by the provided slot handle.
Position (in world space) of the slot associated to SlotHandle.

code: [TOptional](API\Runtime\Core\IO\TOptional)< FVector > GetSlotLocation ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle ) const


description:
Returns the position (in world space) of the slot associated to the given claim handle.
Whether the location was found and assigned to 'OutSlotLocation'

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") bool GetSlotLocation ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle, FVector & OutSlotLocation ) const


code: [ESmartObjectSlotState](API\Plugins\SmartObjectsModule\ESmartObjectSlotState) GetSlotState ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle ) const


description:
Returns the list of tags associated to the smart object slot represented by the provided handle.
Container of tags associated to the smart object instance, or empty container if slot was not valid.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") const [FGameplayTagContainer](API\Runtime\GameplayTags\FGameplayTagContainer) & GetSlotTags ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle ) const


description:
Returns the transform (in world space) of the slot associated to the given RequestResult.
Whether the transform was found and assigned to 'OutSlotTransform'

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") bool GetSlotTransformFromRequestResult ( const [FSmartObjectRequestResult](API\Plugins\SmartObjectsModule\FSmartObjectRequestResult) & RequestResult, FTransform & OutSlotTransform ) const


description:
Returns the transform (in world space) of the slot associated to the given claim handle.
Transform (in world space) of the slot associated to ClaimHandle.

code: [TOptional](API\Runtime\Core\IO\TOptional)< FTransform > GetSlotTransform ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle ) const


description:
Returns the transform (in world space) of the slot associated to the given request result.
Transform (in world space) of the slot associated to Result.

code: [TOptional](API\Runtime\Core\IO\TOptional)< FTransform > GetSlotTransform ( const [FSmartObjectRequestResult](API\Plugins\SmartObjectsModule\FSmartObjectRequestResult) & Result ) const


description:
Returns the transform (in world space) of the slot represented by the provided slot handle.
Transform (in world space) of the slot associated to SlotHandle.

code: [TOptional](API\Runtime\Core\IO\TOptional)< FTransform > GetSlotTransform ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle ) const


description:
Returns the transform (in world space) of the slot associated to the given claim handle.
Whether the transform was found and assigned to 'OutSlotTransform'

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") bool GetSlotTransform ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle, FTransform & OutSlotTransform ) const


description:
Similarly to GetSlotTransform fetches the transform (in world space) of the indicated slot, but assumes the slot handle is valid and that the EntityManager is known. The burden of ensuring that's the case is on the caller.
Transform (in world space) of the slot associated to SlotHandle.

code: FTransform GetSlotTransformChecked ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle ) const


description: Deprecated* UseGetValidatedRuntimeAndSlot()instead.

code: const [FSmartObjectRuntimeSlot](API\Plugins\SmartObjectsModule\FSmartObjectRuntimeSlot) * GetSlotVerbose ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, const TCHAR * LogContext ) const


description:
Creates and returns a view to the data associated to a slot handle.
A view on the slot associated to SlotHandle. Caller should use IsValid() on the view before using it since the provided handle might no longer refer to a slot registered in the simulation.

code: [FSmartObjectSlotView](API\Plugins\SmartObjectsModule\FSmartObjectSlotView) GetSlotView ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle ) const


description:
Returns the component associated to the given request result In some scenarios the component may no longer exist but its smart object data could (e.g. streaming)
A pointer to the USmartObjectComponent* associated to the handle.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) * GetSmartObjectComponentByRequestResult ( const [FSmartObjectRequestResult](API\Plugins\SmartObjectsModule\FSmartObjectRequestResult) & Result ) const


description:
Returns the component associated to the claim handle if still accessible. In some scenarios the component may no longer exist but its smart object data could (e.g. streaming)
A pointer to the USmartObjectComponent* associated to the handle.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) * GetSmartObjectComponent ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle ) const


code: const [FSmartObjectContainer](API\Plugins\SmartObjectsModule\FSmartObjectContainer) & GetSmartObjectContainer() const


description: Returns the mutable runtime instance associated to the provided handle Method produces log messages with provided context if provided handle is not set or associated instance can't be found.

code: bool GetValidatedMutableRuntimeAndSlot ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) *& OutSmartObjectRuntime, [FSmartObjectRuntimeSlot](API\Plugins\SmartObjectsModule\FSmartObjectRuntimeSlot) *& OutSlot, const TCHAR * Context )


code: [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) * GetValidatedMutableRuntime ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle, const TCHAR * Context ) const


description: Returns the const runtime instance associated to the provided handle. Method produces log messages with provided context if provided handle is not set or associated instance can't be found.

code: const [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) * GetValidatedRuntime ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle, const TCHAR * Context ) const


code: bool GetValidatedRuntimeAndSlot ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, const [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) *& OutSmartObjectRuntime, const [FSmartObjectRuntimeSlot](API\Plugins\SmartObjectsModule\FSmartObjectRuntimeSlot) *& OutSlot, const TCHAR * Context ) const


description: Creates all runtime data using main collection

code: void InitializeRuntime()


description:
Returns the enabled state of the smart object represented by the provided handle.
True when associated smart object is found and set to be enabled. False otherwise.

code: bool IsEnabled ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle ) const


description: Deprecated* UseInitializeRuntime()without Mass entity manager.

code: void InitializeRuntime ( const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FMassEntityManager](API\Plugins\MassEntity\FMassEntityManager) > & InEntityManager )


description:
Indicates if the object/slot referred to by the given handle are still accessible in the simulation. This should only be required when a handle is stored and later needed to access slot or object information (e.g. SlotView) Otherwise a valid ClaimHandle can be use directly after calling 'Claim'.
True if the claim handle is valid and its associated object is accessible; false otherwise.

code: bool IsClaimedSmartObjectValid ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle ) const


description:
Indicates if the handle is set and the slot referred to is still accessible in the simulation. Log is produced for any failing condition using provided LogContext.
True if the handle is valid and its associated slot is accessible; false otherwise.

code: bool IsSlotValidVerbose ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, const TCHAR * LogContext ) const


description:
Indicates if the object referred to by the given handle is still accessible in the simulation. This should only be required when a handle is stored and used later.
True if the handle is valid and its associated object is accessible; false otherwise.

code: bool IsSmartObjectValid ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle ) const


description:
Indicates if the slot referred to by the given handle is still accessible in the simulation. This should only be required when a handle is stored and later needed to access slot information (e.g. SlotView) Otherwise a valid SlotHandle can be use directly after calling any of the 'Find' or 'Claim' methods.
True if the handle is valid and its associated slot is accessible; false otherwise.

code: bool IsSmartObjectSlotValid ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle ) const


description: Iteratively adds items to registered collections. Expected to be called in World Partitined worlds.

code: void IterativelyBuildCollections()


description:
Marks a smart object slot as claimed.
A handle binding the claimed smart object, its slot and a user id.

code: [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) MarkSlotAsClaimed ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, const [FConstStructView](API\Plugins\StructUtils\FConstStructView) UserData )


description:
Marks a previously claimed smart object slot as occupied.
The requested behavior definition class pointer associated to the slot

code: template<typename DefinitionType> const DefinitionType * MarkSlotAsOccupied ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle )


description:
Marks a claimed or occupied smart object as free.
Whether the claim was successfully released or not

code: bool MarkSlotAsFree ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle )


description:
Marks a previously claimed smart object slot as occupied.
The base class pointer of the requested behavior definition class associated to the slot

code: const [USmartObjectBehaviorDefinition](API\Plugins\SmartObjectsModule\USmartObjectBehaviorDefinition) * MarkSlotAsOccupied ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [USmartObjectBehaviorDefinition](API\Plugins\SmartObjectsModule\USmartObjectBehaviorDefinition) > DefinitionClass )


description: Deprecated*MarkSlotAsOccupied()was changed to require SmartObjectRuntime to be passed as mutable.

code: const [USmartObjectBehaviorDefinition](API\Plugins\SmartObjectsModule\USmartObjectBehaviorDefinition) * MarkSlotAsOccupied ( const [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & SmartObjectRuntime, const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [USmartObjectBehaviorDefinition](API\Plugins\SmartObjectsModule\USmartObjectBehaviorDefinition) > DefinitionClass )


code: const [USmartObjectBehaviorDefinition](API\Plugins\SmartObjectsModule\USmartObjectBehaviorDefinition) * MarkSlotAsOccupied ( [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & SmartObjectRuntime, const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [USmartObjectBehaviorDefinition](API\Plugins\SmartObjectsModule\USmartObjectBehaviorDefinition) > DefinitionClass )


code: static void OnSlotChanged ( const [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & SmartObjectRuntime, const [FSmartObjectRuntimeSlot](API\Plugins\SmartObjectsModule\FSmartObjectRuntimeSlot) & Slot, const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, const [ESmartObjectChangeReason](API\Plugins\SmartObjectsModule\ESmartObjectChangeReason) Reason, const [FConstStructView](API\Plugins\StructUtils\FConstStructView) Payload, const [FGameplayTag](API\Runtime\GameplayTags\FGameplayTag) ChangedTag )


description: BeginPlay will push all objects stored in the collection to the runtime simulation and initialize octree using collection bounds.

code: virtual void OnWorldBeginPlay ( [UWorld](API\Runtime\Engine\Engine\UWorld) & World )


description: we use this method instead ofInitialize_ orPostInitialize_ so active level is set and actors registered.

code: virtual void OnWorldComponentsUpdated ( [UWorld](API\Runtime\Engine\Engine\UWorld) & World )


code: void PopulateCollection ( [ASmartObjectPersistentCollection](API\Plugins\SmartObjectsModule\ASmartObjectPersistentCollection) & InCollection ) const


description: Make sure that all SmartObjectCollection actors from our associated world are registered.

code: void RegisterCollectionInstances()


description: Register a callback to be notified if the claimed slot is no longer available and user need to perform cleanup.

code: void RegisterSlotInvalidationCallback ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle, const [FOnSlotInvalidated](API\Plugins\SmartObjectsModule\FOnSlotInvalidated) & Callback )


description:
Registers a SmartObject components to the runtime simulation.
true when component is successfully registered, false otherwise

code: bool RegisterSmartObject ( [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) & SmartObjectComponent )


description:
Registers to the runtime simulation all SmartObject components for a given actor.
true when components are found and all successfully registered, false otherwise

code: bool RegisterSmartObjectActor ( const [AActor](API\Runtime\Engine\GameFramework\AActor) & SmartObjectActor )


code: bool RegisterSmartObjectInternal ( [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) & SmartObjectComponent )


description:
Release claim on a smart object.
Whether the claim was successfully released or not

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject", Meta=(DeprecatedFunction, DeprecationMessage="Use MarkSmartObjectSlotAsFree instead.")) bool Release ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle )


code: bool RemoveCollectionEntryFromSimulation ( const [FSmartObjectCollectionEntry](API\Plugins\SmartObjectsModule\FSmartObjectCollectionEntry) & Entry )


code: void RemoveComponentFromSimulation ( [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) & SmartObjectComponent )


description:
Unbinds a SmartObject component from the runtime simulation and removes its runtime data.
whether SmartObject data has been successfully found and removed

code: bool RemoveSmartObject ( [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) & SmartObjectComponent )


description: whether the removal was successful

code: bool RemoveRuntimeInstanceFromSimulation ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle, [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) * SmartObjectComponent )


description:
Removes all data associated to SmartObject components of a given actor from the simulation.
whether components are found and all successfully deleted

code: bool RemoveSmartObjectActor ( const [AActor](API\Runtime\Engine\GameFramework\AActor) & SmartObjectActor )


description: Removes a single tag from the smartobject instance represented by the provided handle.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") void RemoveTagFromInstance ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle, const [FGameplayTag](API\Runtime\GameplayTags\FGameplayTag) & Tag )


description:
Removes a single tag from the smart object slot represented by the provided handle.
True if the tag was removed.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") bool RemoveTagFromSlot ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, const [FGameplayTag](API\Runtime\GameplayTags\FGameplayTag) & Tag )


description:
Sends event to a Smart Object slot.
True if the event was successfully sent.

code: bool SendSlotEvent ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, const [FGameplayTag](API\Runtime\GameplayTags\FGameplayTag) EventTag, const [FConstStructView](API\Plugins\StructUtils\FConstStructView) Payload )


description:
Enables or disables the entire smart object represented by the provided handle. Delegate 'OnEvent' is broadcasted with ESmartObjectChangeReason::OnEnabled/ESmartObjectChangeReason::OnDisabled if state changed.
True when associated smart object is found and set (or already set) to desired state; false otherwise.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") bool SetEnabled ( const [FSmartObjectHandle](API\Plugins\SmartObjectsModule\FSmartObjectHandle) Handle, const bool bEnabled )


description:
Enables or disables the smart object slot represented by the provided handle.
Previous enabled state.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject") bool SetSlotEnabled ( const [FSmartObjectSlotHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotHandle) SlotHandle, const bool bEnabled )


code: static void RemoveTagFromInstance ( [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & SmartObjectRuntime, const [FGameplayTag](API\Runtime\GameplayTags\FGameplayTag) & Tag )


description:
Enables or disables all smart objects associated to the provided actor (multiple components).
True if all (at least one) smartobject components are found with their associated runtime and values set (or already set) to desired state; false otherwise.

code: bool SetSmartObjectActorEnabled ( const [AActor](API\Runtime\Engine\GameFramework\AActor) & SmartObjectActor, bool bEnabled )


description: Fills the provided context data with the smartobject actor and handle associated to 'SmartObjectRuntime' and the subsystem.

code: void SetupConditionContextCommonData ( [FWorldConditionContextData](API\Plugins\WorldConditions\FWorldConditionContextData) & ContextData, const [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & SmartObjectRuntime ) const


description: Note: This function is called on the CDO prior to instances being created!

code: virtual bool ShouldCreateSubsystem ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer ) const


description: Unbinds a smartobject component from an existing instance in the simulation.

code: void UnbindComponentFromSimulation ( [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) & SmartObjectComponent )


description: Unbinds a smartobject component from the givenFSmartObjectRuntimeinstance. Note that unlike UnbindComponentFromSimulation this function blindly assumes that SmartObjectRuntime does indeed represent SmartObjectComponent

code: static void UnbindComponentFromSimulationInternal ( [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) & SmartObjectComponent, [FSmartObjectRuntime](API\Plugins\SmartObjectsModule\FSmartObjectRuntime) & SmartObjectRuntime )


code: void UnregisterCollection ( [ASmartObjectPersistentCollection](API\Plugins\SmartObjectsModule\ASmartObjectPersistentCollection) & InCollection )


description: Unregisters a callback to be notified if the claimed slot is no longer available and user need to perform cleanup.

code: void UnregisterSlotInvalidationCallback ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle )


code: bool UnregisterSmartObjectInternal ( [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) & SmartObjectComponent, const bool bDestroyRuntimeState )


description: Deprecated* This flavor of UnregisterSmartObjectInternal is deprecated. Please useUnregisterSmartObjectInternal(USmartObjectComponent&, const bool)instead.

code: PRAGMA_DISABLE_DEPRECATION_WARNINGSbool UnregisterSmartObjectInternal ( [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) & SmartObjectComponent, const ESmartObjectUnregistrationMode UnregistrationMode )


description:
Unbinds a SmartObject component from the runtime simulation and handles the associated runtime data according to the component registration type (i.e. runtime data associated to components from persistent collections will remain in the simulation).
true when component is successfully unregistered, false otherwise

code: bool UnregisterSmartObject ( [USmartObjectComponent](API\Plugins\SmartObjectsModule\USmartObjectComponent) & SmartObjectComponent )


description:
Unregisters from the simulation all SmartObject components for a given actor.
true when components are found and all successfully unregistered, false otherwise

code: bool UnregisterSmartObjectActor ( const [AActor](API\Runtime\Engine\GameFramework\AActor) & SmartObjectActor )


description:
Start using a claimed smart object slot.
The requested behavior definition class pointer associated to the slot

code: template<typename DefinitionType> const DefinitionType * Use ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle )


description:
Runs the same logic asFindEntranceLocationForSlot()but for a specific entrance location. The entrance handle can be get from entrance location result.
True if result is valid.

code: bool UpdateEntranceLocation ( const [FSmartObjectSlotEntranceHandle](API\Plugins\SmartObjectsModule\FSmartObjectSlotEntranceHandle) EntranceHandle, const [FSmartObjectSlotEntranceLocationRequest](API\Plugins\SmartObjectsModule\FSmartObjectSlotEntranceLocation-) & Request, [FSmartObjectSlotEntranceLocationResult](API\Plugins\SmartObjectsModule\FSmartObjectSlotEntranceLocation-_1) & Result ) const


description:
Start using a claimed smart object slot.
The base class pointer of the requested behavior definition class associated to the slot

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="SmartObject", Meta=(DeprecatedFunction, DeprecationMessage="Use MarkSmartObjectSlotAsOccupied instead.")) const [USmartObjectBehaviorDefinition](API\Plugins\SmartObjectsModule\USmartObjectBehaviorDefinition) * Use ( const [FSmartObjectClaimHandle](API\Plugins\SmartObjectsModule\FSmartObjectClaimHandle) & ClaimHandle, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [USmartObjectBehaviorDefinition](API\Plugins\SmartObjectsModule\USmartObjectBehaviorDefinition) > DefinitionClass )


code: USmartObjectSubsystem()