className: BPSenseToSenseID

code: static [TMap](API\Runtime\Core\Containers\TMap)< [FNameEntryId](API\Runtime\Core\UObject\FNameEntryId), FAISenseID > BPSenseToSenseID;


module: AIModule

code: void GetAllListenerActors ( [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & ListenerActors ) const


code: void GetAllListenerComponents ( [TArray](API\Runtime\Core\Containers\TArray)< [UAIPerceptionComponent](API\Runtime\AIModule\Perception\UAIPerceptionComponent) * > & ListenerComponents ) const


description: Called when sense's instance gets notified about new pawn that has just been spawned

code: void K2_OnNewPawn ( [APawn](API\Runtime\Engine\GameFramework\APawn) * NewPawn )


code: void OnListenerRegistered ( [AActor](API\Runtime\Engine\GameFramework\AActor) * ActorListener, [UAIPerceptionComponent](API\Runtime\AIModule\Perception\UAIPerceptionComponent) * PerceptionComponent )


code: void OnListenerRemovedImpl ( const [FPerceptionListener](API\Runtime\AIModule\Perception\FPerceptionListener) & UpdatedListener )


description: Called when a listener unregistered from this sense. Most often this is called due to actor's death

code: void OnListenerUnregistered ( [AActor](API\Runtime\Engine\GameFramework\AActor) * ActorListener, [UAIPerceptionComponent](API\Runtime\AIModule\Perception\UAIPerceptionComponent) * PerceptionComponent )


code: void OnListenerUpdated ( [AActor](API\Runtime\Engine\GameFramework\AActor) * ActorListener, [UAIPerceptionComponent](API\Runtime\AIModule\Perception\UAIPerceptionComponent) * PerceptionComponent )


code: void OnListenerUpdateImpl ( const [FPerceptionListener](API\Runtime\AIModule\Perception\FPerceptionListener) & UpdatedListener )


code: void OnNewListenerImpl ( const [FPerceptionListener](API\Runtime\AIModule\Perception\FPerceptionListener) & NewListener )


description: Gets called when perception system gets notified about new spawned pawn. : do not call super implementation. It's used to detect when subclasses don't override it

code: virtual void OnNewPawn ( [APawn](API\Runtime\Engine\GameFramework\APawn) & NewPawn )


description: Returns requested amount of time to pass until next frame. Return 0 to get update every frame (WARNING: hits performance)

code: float OnUpdate ( const [TArray](API\Runtime\Core\Containers\TArray)< [UAISenseEvent](API\Runtime\AIModule\Perception\UAISenseEvent) * > & EventsToProcess )


code: virtual void RegisterWrappedEvent ( [UAISenseEvent](API\Runtime\AIModule\Perception\UAISenseEvent) & PerceptionEvent )


description: time until next update

code: virtual float Update()


code: virtual FAISenseID UpdateSenseID()


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


code: void RegisterEvent ( const [FAIDamageEvent](API\Runtime\AIModule\Perception\FAIDamageEvent) & Event )


code: class UAISense_Blueprint : public [UAISense](API\Runtime\AIModule\Perception\UAISense)

ListenerContainer

type: TArray<TObject...

ListenerDataType

type: TSubclassOf<UU...


description: EventLocation will be reported as Instigator's location at the moment of event happening

code: static void ReportDamageEvent ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [AActor](API\Runtime\Engine\GameFramework\AActor) * DamagedActor, [AActor](API\Runtime\Engine\GameFramework\AActor) * Instigator, float DamageAmount, FVector EventLocation, FVector HitLocation, [FName](API\Runtime\Core\UObject\FName) Tag )


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


code: class UAISense_Damage : public [UAISense](API\Runtime\AIModule\Perception\UAISense)

RegisteredEvents

type: TArray<FAIDama...


code: FDigestedHearingProperties &40; const UAISenseConfig_Hearing & SenseConfig &41;


className: FDigestedHearingProperties

code: struct FDigestedHearingProperties

HearingRangeSq

type: float


code: void OnListenerRemovedImpl ( const [FPerceptionListener](API\Runtime\AIModule\Perception\FPerceptionListener) & UpdatedListener )


code: void RegisterEvent ( const [FAINoiseEvent](API\Runtime\AIModule\Perception\FAINoiseEvent) & Event )


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: void RegisterEventsBatch ( const [TArray](API\Runtime\Core\Containers\TArray)< [FAINoiseEvent](API\Runtime\AIModule\Perception\FAINoiseEvent) > & Events )


description: Part of BP interface. Translates PerceptionEvent toFAINoiseEventand callRegisterEvent(const FAINoiseEvent& Event)


description: Report a noise event.

code: static void ReportNoiseEvent ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, FVector NoiseLocation, float Loudness, [AActor](API\Runtime\Engine\GameFramework\AActor) * Instigator, float MaxRange, [FName](API\Runtime\Core\UObject\FName) Tag )


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


code: class UAISense_Hearing : public [UAISense](API\Runtime\AIModule\Perception\UAISense)

DigestedProperties

type: TMap< FPercepti...

NoiseEvents

type: TArray<FAINois...

SpeedOfSoundSq

description: Defaults to 0 to have instant notification.


code: void RegisterEvent ( const [FAIPredictionEvent](API\Runtime\AIModule\Perception\FAIPredictionEvent) & Event )


description: Asks perception system to supply Requestor with PredictedActor's predicted location in PredictionTime seconds Location is being predicted based on PredicterActor's current location and velocity

code: static void RequestControllerPredictionEvent ( [AAIController](API\Runtime\AIModule\AAIController) * Requestor, [AActor](API\Runtime\Engine\GameFramework\AActor) * PredictedActor, float PredictionTime )


code: static void RequestPawnPredictionEvent ( [APawn](API\Runtime\Engine\GameFramework\APawn) * Requestor, [AActor](API\Runtime\Engine\GameFramework\AActor) * PredictedActor, float PredictionTime )


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


code: class UAISense_Prediction : public [UAISense](API\Runtime\AIModule\Perception\UAISense)

RegisteredEvents

type: TArray<FAIPred...


code: float CalcQueryImportance ( const [FPerceptionListener](API\Runtime\AIModule\Perception\FPerceptionListener) & Listener, const FVector & TargetLocation, const float SightRadiusSq ) const


code: [EVisibilityResult](API\Runtime\AIModule\Perception\UAISense_Sight\EVisibilityResult) ComputeVisibility ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, [FAISightQuery](API\Runtime\AIModule\Perception\FAISightQuery) & SightQuery, [FPerceptionListener](API\Runtime\AIModule\Perception\FPerceptionListener) & Listener, const [AActor](API\Runtime\Engine\GameFramework\AActor) * ListenerActor, [FAISightTarget](API\Runtime\AIModule\Perception\FAISightTarget) & Target, [AActor](API\Runtime\Engine\GameFramework\AActor) * TargetActor, const [FDigestedSightProperties](API\Runtime\AIModule\Perception\UAISense_Sight\FDigestedSightProperties) & PropDigest, float & OutStimulusStrength, FVector & OutSeenLocation, int32 & OutNumberOfLoSChecksPerformed, int32 & OutNumberOfAsyncLosCheckRequested ) const


className: EVisibilityResult

code: enum EVisibilityResult { Visible, NotVisible, Pending, }


description: time until next update

code: virtual float Update()


code: FDigestedSightProperties &40; const UAISenseConfig_Sight & SenseConfig &41;


className: FDigestedSightProperties

code: struct FDigestedSightProperties


code: void GenerateQueriesForListener ( const [FPerceptionListener](API\Runtime\AIModule\Perception\FPerceptionListener) & Listener, const [FDigestedSightProperties](API\Runtime\AIModule\Perception\UAISense_Sight\FDigestedSightProperties) & PropertyDigest, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([FAISightQuery](API\Runtime\AIModule\Perception\FAISightQuery) &)> & OnAddedFunc )


code: virtual void OnListenerConfigUpdated ( const [FPerceptionListener](API\Runtime\AIModule\Perception\FPerceptionListener) & UpdatedListener )


code: virtual void OnListenerForgetsActor ( const [FPerceptionListener](API\Runtime\AIModule\Perception\FPerceptionListener) & Listener, [AActor](API\Runtime\Engine\GameFramework\AActor) & ActorToForget )


className: FQueriesOperationPostProcess

code: enum FQueriesOperationPostProcess { DontSort, Sort, }


code: void OnListenerRemovedImpl ( const [FPerceptionListener](API\Runtime\AIModule\Perception\FPerceptionListener) & RemovedListener )


code: virtual void OnListenerForgetsAll ( const [FPerceptionListener](API\Runtime\AIModule\Perception\FPerceptionListener) & Listener )


code: void OnListenerUpdateImpl ( const [FPerceptionListener](API\Runtime\AIModule\Perception\FPerceptionListener) & UpdatedListener )


code: void OnNewListenerImpl ( const [FPerceptionListener](API\Runtime\AIModule\Perception\FPerceptionListener) & NewListener )


code: void OnPendingCanBeSeenQueryProcessed ( const [FAISightQueryID](API\Runtime\AIModule\Perception\FAISightQueryID) & QueryID, const bool bIsVisible, const float StimulusStrength, const FVector & SeenLocation, const [TOptional](API\Runtime\Core\IO\TOptional)< int32 > & UserData )


code: virtual void PostInitProperties()


code: void OnPendingTraceQueryProcessed ( const [FTraceHandle](API\Runtime\Engine\FTraceHandle) & TraceHandle, [FTraceDatum](API\Runtime\Engine\FTraceDatum) & TraceDatum )


code: void OnPendingQueryProcessed ( const int32 SightQueryIndex, const bool bIsVisible, const float StimulusStrength, const FVector & SeenLocation, const [TOptional](API\Runtime\Core\IO\TOptional)< int32 > & UserData, const [TOptional](API\Runtime\Core\IO\TOptional)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > InTargetActor )


code: bool RegisterNewQuery ( const [FPerceptionListener](API\Runtime\AIModule\Perception\FPerceptionListener) & Listener, const [IGenericTeamAgentInterface](API\Runtime\AIModule\IGenericTeamAgentInterface) * ListenersTeamAgent, const [AActor](API\Runtime\Engine\GameFramework\AActor) & TargetActor, const [FAISightTarget::FTargetId](API\Runtime\AIModule\Perception\FAISightTarget\FTargetId) & TargetId, const FVector & TargetLocation, const [FDigestedSightProperties](API\Runtime\AIModule\Perception\UAISense_Sight\FDigestedSightProperties) & PropDigest, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([FAISightQuery](API\Runtime\AIModule\Perception\FAISightQuery) &)> & OnAddedFunc )


description: Virtual void RegisterSources(TArraySourceActors) {}

code: virtual void RegisterSource ( [AActor](API\Runtime\Engine\GameFramework\AActor) & SourceActors )


code: void RegisterEvent ( const [FAISightEvent](API\Runtime\AIModule\Perception\FAISightEvent) & Event )


description: Returns information whether new LoS queries have been added

code: bool RegisterTarget ( [AActor](API\Runtime\Engine\GameFramework\AActor) & TargetActor, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([FAISightQuery](API\Runtime\AIModule\Perception\FAISightQuery) &)> & OnAddedFunc )


code: void RemoveAllQueriesByListener ( const [FPerceptionListener](API\Runtime\AIModule\Perception\FPerceptionListener) & Listener, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(const [FAISightQuery](API\Runtime\AIModule\Perception\FAISightQuery) &)> & OnRemoveFunc )


code: virtual bool ShouldAutomaticallySeeTarget ( const [FDigestedSightProperties](API\Runtime\AIModule\Perception\UAISense_Sight\FDigestedSightProperties) & PropDigest, [FAISightQuery](API\Runtime\AIModule\Perception\FAISightQuery) * SightQuery, [FPerceptionListener](API\Runtime\AIModule\Perception\FPerceptionListener) & Listener, [AActor](API\Runtime\Engine\GameFramework\AActor) * TargetActor, float & OutStimulusStrength ) const


code: void RemoveAllQueriesToTarget ( const [FAISightTarget::FTargetId](API\Runtime\AIModule\Perception\FAISightTarget\FTargetId) & TargetId, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(const [FAISightQuery](API\Runtime\AIModule\Perception\FAISightQuery) &)> & OnRemoveFunc )


code: virtual void UnregisterSource ( [AActor](API\Runtime\Engine\GameFramework\AActor) & SourceActor )


description: time until next update

code: virtual float Update()


description: Deprecated* Please use the UpdateQueryVisibilityStatus version which takes an Actor& instead.

code: void UpdateQueryVisibilityStatus ( [FAISightQuery](API\Runtime\AIModule\Perception\FAISightQuery) & SightQuery, [FPerceptionListener](API\Runtime\AIModule\Perception\FPerceptionListener) & Listener, const bool bIsVisible, const FVector & SeenLocation, const float StimulusStrength, [AActor](API\Runtime\Engine\GameFramework\AActor) * TargetActor, const FVector & TargetLocation ) const


code: void UpdateQueryVisibilityStatus ( [FAISightQuery](API\Runtime\AIModule\Perception\FAISightQuery) & SightQuery, [FPerceptionListener](API\Runtime\AIModule\Perception\FPerceptionListener) & Listener, const bool bIsVisible, const FVector & SeenLocation, const float StimulusStrength, [AActor](API\Runtime\Engine\GameFramework\AActor) & TargetActor, const FVector & TargetLocation ) const


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


code: class UAISense_Sight : public [UAISense](API\Runtime\AIModule\Perception\UAISense)

bSightQueriesOutOfRangeDirty

type: bool

description: Defines if we are allowed to use asynchronous trace queries when there is noIAISightTargetInterfacefor a Target

DefaultSightCollisionChannel

type: ECollisionChann...

MaxAsyncTracesPerTick

description: Maximum number of asynchronous traces that can be requested in a single update call

MaxTimeSlicePerTick

type: double

NextOutOfRangeIndex

description: The SightQueries are a n^2 problem and to reduce the sort time, they are now split between in range and out of range Since the out of range queries only age as the distance component of the score is always 0, there is few need to sort them In the majority of the cases most of the queries are out of range, so the sort time is greatly reduced as we only sort the in range queries

ObservedTargets

type: FTargetsContain...

type: FOnPendingVisib...

OnPendingTraceQueryProcessedDelegate

type: FTraceDelegate

PendingQueriesBudgetReductionRatio

description: Defines the amount of async trace queries to prevent based on the number of pending queries at the start of an update.

QueriesListAccessDetector

type: FRWAccessDetect...

SightQueriesInRange

type: TArray<FAISigh...


code: void RegisterEvent ( const [FAITeamStimulusEvent](API\Runtime\AIModule\Perception\FAITeamStimulusEvent) & Event )


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


code: class UAISense_Team : public [UAISense](API\Runtime\AIModule\Perception\UAISense)

RegisteredEvents

type: TArray<FAITeam...


code: static void ReportTouchEvent ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [AActor](API\Runtime\Engine\GameFramework\AActor) * TouchReceiver, [AActor](API\Runtime\Engine\GameFramework\AActor) * OtherActor, FVector Location )


code: void RegisterEvent ( const [FAITouchEvent](API\Runtime\AIModule\Perception\FAITouchEvent) & Event )


code: class UAISense_Touch : public [UAISense](API\Runtime\AIModule\Perception\UAISense)

type: TArray<FAITouc...


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


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


className: UAISightTargetInterface

code: class UAISightTargetInterface : public [UInterface](API\Runtime\CoreUObject\UObject\UInterface)


description: Broadcasts notification that our sensor hears a noise made local to a Pawn's position, using the OnHearNoise delegates.

code: virtual void BroadcastOnHearLocalNoise ( [APawn](API\Runtime\Engine\GameFramework\APawn) & Instigator, const FVector & Location, float Volume )


description: Broadcasts notification that our sensor hears a noise made remotely from a Pawn's position, using the OnHearNoise delegates.

code: virtual void BroadcastOnHearRemoteNoise ( [APawn](API\Runtime\Engine\GameFramework\APawn) & Instigator, const FVector & Location, float Volume )


description: Broadcasts notification that our sensor sees a Pawn, using the OnSeePawn delegates.

code: virtual void BroadcastOnSeePawn ( [APawn](API\Runtime\Engine\GameFramework\APawn) & Pawn )


description: True if sensor can hear this noise. Only executed if the noise has been determined to be relevant (via IsNoiseRelevant)

code: virtual bool CanHear ( const FVector & NoiseLoc, float Loudness, bool bFailedLOS ) const


className: FHearNoiseDelegate

code: class FHearNoiseDelegate


description:
Chance of seeing other pawn decreases with increasing distance or angle in peripheral vision
true if the specified pawn Other is potentially visible (within peripheral vision, etc.) - still need to do LineOfSightTo() check to see if actually visible.

code: virtual bool CouldSeePawn ( const [APawn](API\Runtime\Engine\GameFramework\APawn) * Other, bool bMaySkipChecks ) const


description: Are we capable of sensing anything (and do we have any callbacks that care about sensing)? If soUpdateAISensing()will be called every sensing interval.

code: virtual bool CanSenseAnything() const


className: FSeePawnDelegate

code: class FSeePawnDelegate


code: float GetPeripheralVisionCosine() const


code: float GetPeripheralVisionAngle() const


code: [AActor](API\Runtime\Engine\GameFramework\AActor) * GetSensorActor() const


code: [AController](API\Runtime\Engine\GameFramework\AController) * GetSensorController() const


description: Get position where hearing/seeing occurs (i.e. ear/eye position). If we ever need different positions for hearing/seeing, we'll deal with that then!

code: virtual FVector GetSensorLocation() const


description:
Check line to other actor.
true if controller's pawn can see Other actor.

code: virtual bool HasLineOfSightTo ( const [AActor](API\Runtime\Engine\GameFramework\AActor) * Other ) const


description: Initializes the component. Occurs at level startup or actor spawn. This is before BeginPlay (Actor or Component). All Components in the level will be Initialized on load before any Actor/Component gets BeginPlay Requires component to be registered, and bWantsInitializeComponent to be true.

code: virtual void InitializeComponent()


description: Get the rotation of this sensor. We need this for the sight component

code: virtual FRotator GetSensorRotation() const


description: Test whether the noise is loud enough and recent enough to care about. bSourceWithinNoiseEmitter is true iff the noise was made by the pawn itself or within close proximity (its collision volume). Otherwise the noise was made at significant distance from the pawn.

code: bool IsNoiseRelevant ( const [APawn](API\Runtime\Engine\GameFramework\APawn) & Pawn, const [UPawnNoiseEmitterComponent](API\Runtime\Engine\Components\UPawnNoiseEmitterComponent) & NoiseEmitterComponent, bool bSourceWithinNoiseEmitter ) const


description: Is the given actor our owner? Used to ensure that we are not trying to sense our self / our owner.

code: virtual bool IsSensorActor ( const [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor ) const


description: Update function called on timer intervals.

code: virtual void OnTimer()


description: See if there are interesting sounds and sights that we want to detect, and respond to them if so.

code: virtual void SensePawn ( [APawn](API\Runtime\Engine\GameFramework\APawn) & Pawn )


description: Sets PeripheralVisionAngle. Calculates PeripheralVisionCosine from PeripheralVisionAngle

code: virtual void SetPeripheralVisionAngle ( const float NewPeripheralVisionAngle )


description: Changes the SensingInterval. If we are currently waiting for an interval, this can either extend or shorten that interval. A value <= 0 prevents any updates.

code: virtual void SetSensingInterval ( const float NewSensingInterval )


description: Modify the timer to fire in TimeDelay seconds. A value <= 0 disables the timer.

code: virtual void SetTimer ( const float TimeDelay )


description: Enables or disables sensing updates. The timer is reset in either case.

code: virtual void SetSensingUpdatesEnabled ( const bool bEnabled )


description: Returns true if we should check whether we can hear the given Pawn (because we are able to hear, and the Pawn has the correct team relationship to us)

code: virtual bool ShouldCheckAudibilityOf ( [APawn](API\Runtime\Engine\GameFramework\APawn) * Pawn ) const


description: Returns true if we should check whether the given Pawn is visible (because we can see things, the Pawn is not hidden, and if the Pawn is a player and we only see players)

code: virtual bool ShouldCheckVisibilityOf ( [APawn](API\Runtime\Engine\GameFramework\APawn) * Pawn ) const


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


description: Calls SensePawn on any Pawns that we are allowed to sense.

code: virtual void UpdateAISensing()


className: UPawnSensingComponent

description: SensingComponent encapsulates sensory (ie sight and hearing) settings and functionality for an Actor, allowing the actor to see/hear Pawns in the world. It does nothing on network clients.

code: class UPawnSensingComponent : public [UActorComponent](API\Runtime\Engine\Components\UActorComponent)

bEnableSensingUpdates

type: uint32: 1

description: If true, component will perform sensing updates.

bHearNoises

description: If true, we will perform audibility tests and will be notified when a Pawn makes a noise that can be heard.

bOnlySensePlayers

description: If true, will only sense player-controlled pawns in the world. Default: true

bSeePawns

description: If true, we will perform visibility tests and will trigger notifications when a Pawn is visible.

HearingMaxSoundAge

description: Max age of sounds we can hear. Should be greater than SensingInterval, or you might miss hearing some sounds!

HearingThreshold

description: Max distance at which a makenoise(1.0) loudness sound can be heard, regardless of occlusion

OnHearNoise

type: FHearNoiseDeleg...

description: Delegate to execute when we hear a noise from a Pawn's PawnNoiseEmitterComponent.

OnSeePawn

type: FSeePawnDelegat...

description: Delegate to execute when we see a Pawn.

PeripheralVisionAngle

description: How far to the side AI can see, in degrees.

PeripheralVisionCosine

description: Cosine of limits of peripheral vision. Computed from PeripheralVisionAngle.

SensingInterval

description: Amount of time between pawn sensing updates.

SightRadius

description: Maximum sight distance.

type: FTimerHandle

description: Handle for efficient management of OnTimer timer


className: FMoveTaskCompletedSignature

code: class FMoveTaskCompletedSignature


description: Called to trigger the actual task once the delegates have been set up Note that the default implementation does nothing and you don't have to call it

code: virtual void Activate()


code: [AAIController](API\Runtime\AIModule\AAIController) * GetAIController() const


code: static [AAIController](API\Runtime\AIModule\AAIController) * GetAIControllerForActor ( [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor )


code: void InitAITask ( [AAIController](API\Runtime\AIModule\AAIController) & AIOwner, [IGameplayTaskOwnerInterface](API\Runtime\GameplayTasks\IGameplayTaskOwnerInterface) & InTaskOwner )


code: template<class T> static T * NewAITask ( [AAIController](API\Runtime\AIModule\AAIController) & AIOwner, [FName](API\Runtime\Core\UObject\FName) InstanceName )


code: void InitAITask ( [AAIController](API\Runtime\AIModule\AAIController) & AIOwner, [IGameplayTaskOwnerInterface](API\Runtime\GameplayTasks\IGameplayTaskOwnerInterface) & InTaskOwner, uint8 InPriority )


code: template<class T> static T * NewAITask ( [AAIController](API\Runtime\AIModule\AAIController) & AIOwner, [IGameplayTaskOwnerInterface](API\Runtime\GameplayTasks\IGameplayTaskOwnerInterface) & InTaskOwner, [FName](API\Runtime\Core\UObject\FName) InstanceName )


code: template<class T> static T * NewAITask ( [AAIController](API\Runtime\AIModule\AAIController) & AIOwner, EAITaskPriority InPriority, [FName](API\Runtime\Core\UObject\FName) InstanceName )


code: template<class T> static T * NewAITask ( [AAIController](API\Runtime\AIModule\AAIController) & AIOwner, [IGameplayTaskOwnerInterface](API\Runtime\GameplayTasks\IGameplayTaskOwnerInterface) & InTaskOwner, EAITaskPriority InPriority, [FName](API\Runtime\Core\UObject\FName) InstanceName )


code: template<class T> static T * NewAITask ( const [UClass](API\Runtime\CoreUObject\UObject\UClass) & Class, [AAIController](API\Runtime\AIModule\AAIController) & AIOwner, [IGameplayTaskOwnerInterface](API\Runtime\GameplayTasks\IGameplayTaskOwnerInterface) & InTaskOwner, [FName](API\Runtime\Core\UObject\FName) InstanceName )


code: template<class T> static T * NewAITask ( const [UClass](API\Runtime\CoreUObject\UObject\UClass) & Class, [AAIController](API\Runtime\AIModule\AAIController) & AIOwner, [IGameplayTaskOwnerInterface](API\Runtime\GameplayTasks\IGameplayTaskOwnerInterface) & InTaskOwner, EAITaskPriority InPriority, [FName](API\Runtime\Core\UObject\FName) InstanceName )


description: Effectively addsUAIResource_Logicto the set of Claimed resources

code: void RequestAILogicLocking()


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


className: UAITask

code: class UAITask : public [UGameplayTask](API\Runtime\GameplayTasks\UGameplayTask)

OwnerController

type: TObjectPtr<AAI...


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


description: Locks AI logic until removed by external trigger

code: class UAITask_LockLogic : public [UAITask](API\Runtime\AIModule\Tasks\UAITask)


code: static [UAITask_MoveTo](API\Runtime\AIModule\Tasks\UAITask_MoveTo) * AIMoveTo ( [AAIController](API\Runtime\AIModule\AAIController) * Controller, FVector GoalLocation, [AActor](API\Runtime\Engine\GameFramework\AActor) * GoalActor, float AcceptanceRadius, [EAIOptionFlag::Type](API\Runtime\AIModule\EAIOptionFlag__Type) StopOnOverlap, [EAIOptionFlag::Type](API\Runtime\AIModule\EAIOptionFlag__Type) AcceptPartialPath, bool bUsePathfinding, bool bLockAILogic, bool bUseContinuousGoalTracking, [EAIOptionFlag::Type](API\Runtime\AIModule\EAIOptionFlag__Type) ProjectGoalOnNavigation )


description: Tries to start move request and handles retry timer

code: void ConditionalPerformMove()


description: Tries to update invalidated path and handles retry timer

code: void ConditionalUpdatePath()


description: Finish task

code: void FinishMoveTask ( [EPathFollowingResult::Type](API\Runtime\AIModule\Navigation\EPathFollowingResult__Type) InResult )


description: Allows custom move request tweaking. Note that all MoveRequest need to be performed before PerformMove is called.


description: End and CleanUp the task - may be called by the task itself or by the task owner if the owner is ending. IMPORTANT! Do NOT call directly! CallEndTask()orTaskOwnerEnded()IMPORTANT! When overriding this function make sure to call Super::OnDestroy(bOwnerFinished) as the last thing, since the function internally marks the task as "Pending Kill", and this may interfere with internal BP mechanics

code: virtual void OnDestroy ( bool bInOwnerFinished )


description: Event from followed path

code: virtual void OnPathEvent ( [FNavigationPath](API\Runtime\NavigationSystem\FNavigationPath) * InPath, [ENavPathEvent::Type](API\Runtime\Engine\AI\Navigation\ENavPathEvent__Type) Event )


description: Event from path following

code: virtual void OnRequestFinished ( [FAIRequestID](API\Runtime\AIModule\FAIRequestID) RequestID, const [FPathFollowingResult](API\Runtime\AIModule\Navigation\FPathFollowingResult) & Result )


description: Protected by design. Not meant to be called outside from GameplayTaskComponent mechanics

code: virtual void Pause()


description: Start move request

code: virtual void PerformMove()


description: Remove all delegates

code: virtual void ResetObservers()


description: Remove all timers

code: virtual void ResetTimers()


description: Switch task into continuous tracking mode: keep restarting move toward goal actor. Only pathfinding failure or external cancel will be able to stop this task.

code: void SetContinuousGoalTracking ( bool bEnable )


description: Stores path and starts observing its events

code: void SetObservedPath ( FNavPathSharedPtr InPath )


description: Prepare move task for activation

code: void SetUp ( [AAIController](API\Runtime\AIModule\AAIController) * Controller, const [FAIMoveRequest](API\Runtime\AIModule\FAIMoveRequest) & InMoveRequest )


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


code: class UAITask_MoveTo : public [UAITask](API\Runtime\AIModule\Tasks\UAITask)

bUseContinuousTracking

type: uint8:  1

MoveRequest

type: FAIMoveRequest

description: Parameters of move request

MoveRequestID

type: FAIRequestID

description: Request ID of path following's request

MoveResult

type: TEnumAsByte<EP...

MoveRetryTimerHandle

description: Handle of active ConditionalPerformMove timer

OnMoveFinished

type: FMoveTaskComple...

OnRequestFailed

type: FGenericGamepla...

Path

type: FNavPathSharedP...

description: Currently followed path

PathFinishDelegateHandle

type: FDelegateHandle

description: Handle of path following's OnMoveFinished delegate

PathRetryTimerHandle

description: Handle of active ConditionalUpdatePath timer

PathUpdateDelegateHandle

description: Handle of path's update event delegate


code: virtual void Activate()


code: void OnEQSRequestFinished ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FEnvQueryResult](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryResult) > Result )


code: static [UAITask_RunEQS](API\Runtime\AIModule\Tasks\UAITask_RunEQS) * RunEQS ( [AAIController](API\Runtime\AIModule\AAIController) * Controller, [UEnvQuery](API\Runtime\AIModule\EnvironmentQuery\UEnvQuery) * QueryTemplate )


code: void SetNotificationDelegate ( const FQueryFinishedSignature & InNotificationDelegate )


code: void SetQueryTemplate ( [UEnvQuery](API\Runtime\AIModule\EnvironmentQuery\UEnvQuery) & InQueryTemplate )


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


code: class UAITask_RunEQS : public [UAITask](API\Runtime\AIModule\Tasks\UAITask)

EQSFinishedDelegate

type: FQueryFinishedS...

EQSRequest

type: FEQSParametrize...

QueryResult

type: TSharedPtr<FEn...


description: You have to supply this yourself

code: static FBox CalcElementBounds ( const [FElement](API\Runtime\AIModule\TBVTree\FElement) & )


code: static FBox CalcNodeBounds ( const [TArray](API\Runtime\Core\Containers\TArray)< [FElementBox](API\Runtime\AIModule\TBVTree\FElementBox) > & ElementBBoxes, const int StartIndex, const int LimitIndex )


code: void Create ( const [TArray](API\Runtime\Core\Containers\TArray)< [FElement](API\Runtime\AIModule\TBVTree\FElement) > & InElements )


code: void Create ( [TArray](API\Runtime\Core\Containers\TArray)< [FElement](API\Runtime\AIModule\TBVTree\FElement) > && InElements )


description: Assumes Elements has been set up

code: void CreateCommonInternal()


className: FElement

code: typedef InElementType FElement


code: FElementBox &40; const FBox & Box &41;


className: FElementBox

code: struct FElementBox : public [UE::Math::TBox< double >](API\Runtime\Core\Math\TBox)

ElementIndex

type: int

description: Index to TBVTree.Elements


code: const [TArray](API\Runtime\Core\Containers\TArray)< FBox, InAllocator > & GetBoundingBoxes() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FElement](API\Runtime\AIModule\TBVTree\FElement) > & GetElements() const


code: [TArray](API\Runtime\Core\Containers\TArray)< [FElement](API\Runtime\AIModule\TBVTree\FElement) > & GetElements()


code: static int GetLongestAxis ( const FBox & NodeBounds )


code: const [TArray](API\Runtime\Core\Containers\TArray)< int16, InAllocator > & GetNodes() const


code: void GetOverlapping ( const FBox & Box, [TArray](API\Runtime\Core\Containers\TArray)< [FElement](API\Runtime\AIModule\TBVTree\FElement) > & OutOverlappingElements ) const


description: Recreate the tree based on the current content of Elements. Callers are expected to have filled theGetElements()array before calling this function.

code: void RecreateTree()


code: void RecreateTree ( const [TArray](API\Runtime\Core\Containers\TArray)< [FElement](API\Runtime\AIModule\TBVTree\FElement) > & InElements )


code: void RecreateTree ( [TArray](API\Runtime\Core\Containers\TArray)< [FElement](API\Runtime\AIModule\TBVTree\FElement) > && InElements )


code: void Subdivide ( [TArray](API\Runtime\Core\Containers\TArray)< [FElementBox](API\Runtime\AIModule\TBVTree\FElementBox) > & ElementBBoxes, const int StartIndex, const int LimitIndex, int & CurrentNode )


code: TBVTree ( const [TArray](API\Runtime\Core\Containers\TArray)< [FElement](API\Runtime\AIModule\TBVTree\FElement) > & InElements )


code: TBVTree ( [TArray](API\Runtime\Core\Containers\TArray)< [FElement](API\Runtime\AIModule\TBVTree\FElement) > && InElements )


className: TBVTree

description: Users are expected to provide an implementation of CalcElementBounds for ElementType: static FBox CalcElementBounds(const FElement& Element) const

code: template<typename InElementType, typename InAllocator> struct TBVTree


description: Deprecated*TDefaultManagerInstanceTrackeris deprecated and will be removed. Consider inheriting from a subsystem instead.

code: FManager * GetManagerInstance ( [UWorld](API\Runtime\Engine\Engine\UWorld) & World )


code: void OnPostWorldCleanup ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, bool, bool )


code: TDefaultManagerInstanceTracker()


className: TDefaultManagerInstanceTracker

code: template<typename FManager> struct TDefaultManagerInstanceTracker

bCreateIfMissing

type: bool

WorldToInstanceMap

type: TMap<UWorld&#...


description:
Adds item to the grid.
Cell location of the item, can be used later to remove the item.

code: [FCellLocation](API\Runtime\AIModule\THierarchicalHashGrid2D\FCellLocation) Add ( const [ItemIDType](API\Runtime\AIModule\THierarchicalHashGrid2D\ItemIDType) ID, const FBox & Bounds )


code: void Add ( const [ItemIDType](API\Runtime\AIModule\THierarchicalHashGrid2D\ItemIDType) ID, const [FCellLocation](API\Runtime\AIModule\THierarchicalHashGrid2D\FCellLocation) & Location )


description:
Finds the world box from a cell.  CellLocation - Cell location.
Returns the bounds of the cell.

code: FBox CalcCellBounds ( const [FCellLocation](API\Runtime\AIModule\THierarchicalHashGrid2D\FCellLocation) & CellLocation ) const


description:
Finds grid level where the bounds fit inside a cell.
Returns cell location of the item, or location at Level == INDEX_NONE if the item cannot fit in the grid.

code: [FCellLocation](API\Runtime\AIModule\THierarchicalHashGrid2D\FCellLocation) CalcCellLocation ( const FBox & Bounds ) const


description:
Calculates cell based query rectangle. The bounds are expanded by half grid cell size because the items are stored for only one cell based on their center and side. For that reason the items can overlap the neighbor cells by half the cell size.
Quantized rectangle representing the cell bounds at specific level of the tree, coordinates inclusive.

code: [FCellRect](API\Runtime\AIModule\THierarchicalHashGrid2D\FCellRect) CalcQueryBounds ( const FBox & Bounds, const int32 Level ) const


description: Need for TSet<>

code: bool operator&61;&61; &40; const FCell & RHS &41; const


code: FCell &40; const int32 InX, const int32 InY, const int32 InLevel &41;


className: FCell

description: Ratio in cells between consecutive levels. Cells are located based on their hash. Each cell stores linked list of items at that location and how many children are under the same location in the finer grid levels.

code: struct FCell

ChildItemCount

description: First item in the item linked list. (index to Items array, or INDEX_NONE)

First

description: Location of the cell


code: bool operator&61;&61; &40; const FCellLocation & RHS &41; const


code: bool operator&33;&61; &40; const FCellLocation & RHS &41; const


code: FCellLocation &40; const int32 InX, const int32 InY, const int32 InLevel &41;


className: FCellLocation

description: Specifies cell location within the grid at specific level.

code: struct FCellLocation


code: FCellRect &40; const int32 InMinX, const int32 InMinY, const int32 InMaxX, const int32 InMaxY &41;


className: FCellRect

description: Rectangle bounds, coordinates inclusive.

code: struct FCellRect


className: FCellRectIterator

description: Iterator state over a rectangle

code: struct FCellRectIterator

Level

description: Current Y

Rect

type: FCellRect

description: Current level

Y

description: Current X


description:
Returns a cell for specific location and level.
Pointer to cell at specified location, or return nullptr if the cell does not exist.

code: const [FCell](API\Runtime\AIModule\THierarchicalHashGrid2D\FCell) * FindCell ( const int X, const int Y, const int Level ) const


code: [FCell](API\Runtime\AIModule\THierarchicalHashGrid2D\FCell) * FindCellMutable ( const int X, const int Y, const int Level )


description:
Returns a cell for specific location and level, creates new cell if it does not exist.
Reference to cell at specified location.

code: [FCell](API\Runtime\AIModule\THierarchicalHashGrid2D\FCell) & FindOrAddCell ( const int X, const int Y, const int Level )


className: FItem

description: Item stored in a grid cell.

code: struct FItem

ID

type: ItemIDType

Next

description: External item ID


description: Set containing all the cells.

code: const [TSet](API\Runtime\Core\Containers\TSet)< [FCell](API\Runtime\AIModule\THierarchicalHashGrid2D\FCell) > & GetCells() const


description: Indexin items of the first item on the spill list.

code: int32 GetFirstSpillListItem() const


description: Cell size at specific grid level.

code: float GetCellSize ( const int32 Level ) const


description: 1/cellSize at specific grid level.

code: float GetInvCellSize ( const int32 Level ) const


description: Sparse array containing all the items.

code: const [TSparseArray](API\Runtime\Core\Containers\TSparseArray)< [FItem](API\Runtime\AIModule\THierarchicalHashGrid2D\FItem) > & GetItems() const


description: Resets and initializes the grid for specific cell size.

code: void Initialize ( const float InCellSize )


description: Array containing all the items.

code: int32 GetLevelItemCount ( const int32 Level ) const


description:
Returns intersection of the two cell bounding rectangles.
Intersecting are between left and right.

code: [FCellRect](API\Runtime\AIModule\THierarchicalHashGrid2D\FCellRect) IntersectRect ( const [FCellRect](API\Runtime\AIModule\THierarchicalHashGrid2D\FCellRect) & Left, const [FCellRect](API\Runtime\AIModule\THierarchicalHashGrid2D\FCellRect) & Right ) const


className: ItemIDType

code: typedef InItemIDType ItemIDType


description:
Levels down a coordinate using floor rounding.
Coordinate at coarser level.

code: static int32 LevelDown ( int32 X )


className: LevelRatio

description: Number of grid levels in the grid.

code: static const int32 LevelRatio = InLevelRatio;


description:
Moves item based on previous bounding box and new bounding box.
The cell location where the item was added to.

code: [FCellLocation](API\Runtime\AIModule\THierarchicalHashGrid2D\FCellLocation) Move ( const [ItemIDType](API\Runtime\AIModule\THierarchicalHashGrid2D\ItemIDType) ID, const FBox & OldBounds, const FBox & NewBounds )


code: [FCellLocation](API\Runtime\AIModule\THierarchicalHashGrid2D\FCellLocation) Move ( const [ItemIDType](API\Runtime\AIModule\THierarchicalHashGrid2D\ItemIDType) ID, const [FCellLocation](API\Runtime\AIModule\THierarchicalHashGrid2D\FCellLocation) & OldLocation, const FBox & NewBounds )


className: NumLevels

code: static const int32 NumLevels = InNumLevels;


description: Returns items that potentially touch the bounds. Operates on grid level, can have false positives.

code: void Query ( const FBox & Bounds, [TArray](API\Runtime\Core\Containers\TArray)< [ItemIDType](API\Runtime\AIModule\THierarchicalHashGrid2D\ItemIDType) > & OutResults ) const


description: Returns items that potentially touch the bounds. Operates on grid level, can have false positives. This can be faster thanQuery()for small query box sizes (i.e. max dimension CellSize*4) due to simpler logic.

code: void QuerySmall ( const FBox & Bounds, [TArray](API\Runtime\Core\Containers\TArray)< [ItemIDType](API\Runtime\AIModule\THierarchicalHashGrid2D\ItemIDType) > & OutResults ) const


description: Removes item based on the bounding box it was added with.

code: void Remove ( const [ItemIDType](API\Runtime\AIModule\THierarchicalHashGrid2D\ItemIDType) ID, const FBox & OldBounds )


description: Reset the grid to empty.

code: void Reset()


description: Constructor, initializes the grid for specific cell size.

code: THierarchicalHashGrid2D ( const float InCellSize )


description: Potential optimizations:

code: template<int32 InNumLevels, int32 InLevelRatio, typename InItemIDType> class THierarchicalHashGrid2D

Cells

type: TSet<FCell>

description: Number items per level, can be used to skip certain levels.

CellSize

type: TStaticArray< f...

InvCellSize

description: Lowest level cell size

Items

type: TSparseArray<F...

description: TSetuses hash buckets to locate items.

LevelItemCount

type: TStaticArray< i...

description: 1 / CellSize

SpillList

description: TSparseArrayuses freelist to recycled used items.


description: Removes item based on the cell location it was added with.

code: void Remove ( const [ItemIDType](API\Runtime\AIModule\THierarchicalHashGrid2D\ItemIDType) ID, const [FCellLocation](API\Runtime\AIModule\THierarchicalHashGrid2D\FCellLocation) & OldLocation )


className: FCellType

code: typedef CellType FCellType


code: [FCellType](API\Runtime\AIModule\TSimpleCellGrid\FCellType) & GetCellAtIndexUnsafe ( int32 CellIndex )


code: const [FCellType](API\Runtime\AIModule\TSimpleCellGrid\FCellType) & GetCellAtIndexUnsafe ( int32 CellIndex ) const


code: const [FCellType](API\Runtime\AIModule\TSimpleCellGrid\FCellType) & GetCellAtWorldLocation ( const FVector & WorldLocation ) const


code: const [FCellType](API\Runtime\AIModule\TSimpleCellGrid\FCellType) & GetCellAtWorldLocationUnsafe ( const FVector & WorldLocation ) const


description: Convert world location to (X,Y) coords on grid, result is clamped to grid

code: FIntVector GetCellCoords ( const FVector & WorldLocation ) const


description: Convert cell index to (X,Y) coords on grid

code: FIntVector GetCellCoords ( int32 CellIndex ) const


description: Convert world location to (X,Y) coords on grid, result can be outside grid

code: FIntVector GetCellCoordsUnsafe ( const FVector & WorldLocation ) const


description: Convert cell index to coord X on grid, result can be invalid

code: int32 GetCellCoordX ( int32 CellIndex ) const


description: Convert cell index to coord Y on grid, result can be invalid

code: int32 GetCellCoordY ( int32 CellIndex ) const


description: Convert world location to cell index, returns -1 for position outside grid

code: int32 GetCellIndex ( const FVector & WorldLocation ) const


description: Convert (X,Y) coords on grid to cell index, returns -1 for position outside grid

code: int32 GetCellIndex ( int32 LocationX, int32 LocationY ) const


description: Convert world location to cell index, result can be invalid

code: int32 GetCellIndexUnsafe ( const FVector & WorldLocation ) const


description: Convert (X,Y) coords on grid to cell index, result can be invalid

code: int32 GetCellIndexUnsafe ( const FIntVector & CellCoords ) const


code: int32 GetCellIndexUnsafe ( int32 LocationX, int32 LocationY ) const


code: FBox GetWorldCellBox ( int32 CellIndex ) const


code: FBox GetWorldCellBox ( int32 LocationX, int32 LocationY ) const


code: FVector GetWorldCellCenter ( int32 CellIndex ) const


code: FVector GetWorldCellCenter ( int32 LocationX, int32 LocationY ) const


code: bool Init ( float InCellSize, const FBox & Bounds )


code: bool IsValidCoord ( const FIntVector & CellCoords ) const


code: bool IsValidCoord ( int32 LocationX, int32 LocationY ) const


code: bool IsValidIndex ( const int32 CellIndex ) const


code: [FCellType](API\Runtime\AIModule\TSimpleCellGrid\FCellType) & operator[] ( int32 CellIndex )


code: const [FCellType](API\Runtime\AIModule\TSimpleCellGrid\FCellType) & operator[] ( int32 CellIndex ) const


code: void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


className: TSimpleCellGrid

description: No virtuals on purpose

code: template<typename CellType, int InvalidCellValue> struct TSimpleCellGrid

BoundsSize

type: FVector

Cells

type: TArray<FCellTy...

GridCellSize

type: float

WorldBounds

type: FBox


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


className: UAIResourceInterface

code: class UAIResourceInterface : public [UInterface](API\Runtime\CoreUObject\UObject\UInterface)


code: class UAIResource_Logic : public [UGameplayTaskResource](API\Runtime\GameplayTasks\UGameplayTaskResource)


code: class UAIResource_Movement : public [UGameplayTaskResource](API\Runtime\GameplayTasks\UGameplayTaskResource)


description: Return the stat id to use for this tickable

code: virtual [TStatId](API\Runtime\Core\Stats\TStatId) GetStatId() const


description: FTickableGameObjectbegin.

code: virtual [UWorld](API\Runtime\Engine\Engine\UWorld) * GetTickableGameObjectWorld() const


code: virtual [UWorld](API\Runtime\Engine\Engine\UWorld) * GetWorld() const


code: [UWorld](API\Runtime\Engine\Engine\UWorld) * GetWorldFast() const


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


description: Pure virtual that must be overloaded by the inheriting class. It will be called from within LevelTick.cpp after ticking all actors or from the rendering thread (depending on bIsRenderingThreadObject)

code: virtual void Tick ( float DeltaTime )


className: UAISubsystem

description: A class representing a common interface and behavior for AI subsystems

code: class UAISubsystem : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [FTickableGameObject](API\Runtime\Engine\FTickableGameObject)


code: void AddReferenceFromProxyObject ( [UAIAsyncTaskBlueprintProxy](API\Runtime\AIModule\Blueprint\UAIAsyncTaskBlueprintProxy) * BlueprintProxy )


description: Cheats

code: virtual void AIIgnorePlayers()


description:
Virtual that can be overloaded by the inheriting class. It is used to determine whether an object will ever be able to tick, and if not, it will not get added to the tickable objects array. If the tickable tick type is Conditional then the virtual IsTickable will be called to determine whether to tick the object on each given frame
true if object will ever want to be ticked, false otherwise.

code: virtual ETickableTickType GetTickableTickType() const


description: Called before destroying the object. This is called immediately upon deciding to destroy the object, to allow the object to begin an asynchronous cleanup process.

code: virtual void BeginDestroy()


description: Called byUWorld::CleanupWorld. Should be called by overriding functions.

code: virtual void CleanupWorld ( bool bSessionEnded, bool bCleanupResources )


description: Deprecated* NewWorld was unused and not always calculated correctly and we expect it is not needed; let us know on UDN if it is necessary.

code: virtual void CleanupWorld ( bool bSessionEnded, bool bCleanupResources, [UWorld](API\Runtime\Engine\Engine\UWorld) * NewWorld )


description: Creates a forward only iterator for that will iterate allUBlackboardComponentinstances that reference the specified BlackboardAsset and it's parents.

code: [FBlackboardDataToComponentsIterator](API\Runtime\AIModule\UAISystem\FBlackboardDataToComponentsItera-) CreateBlackboardDataToComponentsIterator ( class [UBlackboardData](API\Runtime\AIModule\BehaviorTree\UBlackboardData) & BlackboardAsset )


className: InlineSize

code: static InlineSize = 8;


code: UBlackboardData &42; Key&40;&41; const


code: FBlackboardDataToComponentsIterator operator&43;&43; &40; int &41;


code: UBlackboardComponent &42; Value&40;&41; const


code: FBlackboardDataToComponentsIterator &40; FBlackboardDataToComponentsMap & BlackboardDataToComponentsMap, class UBlackboardData &42; BlackboardAsset &41;


className: FBlackboardDataToComponentsIterator

description: Iterator for traversing allUBlackboardComponentinstances associated with this blackboard data asset. This is a forward only iterator.


description: Behavior tree manager getter


description: Behavior tree manager const getter

code: const [UBehaviorTreeManager](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeManager) * GetBehaviorTreeManager() const


code: static [UAISystem](API\Runtime\AIModule\UAISystem) * GetCurrent ( [UWorld](API\Runtime\Engine\Engine\UWorld) & World )


code: static [UAISystem](API\Runtime\AIModule\UAISystem) * GetCurrentSafe ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World )


description: Environment Query manager getter


description: Environment Query manager const getter

code: const [UEnvQueryManager](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryManager) * GetEnvironmentQueryManager() const


code: const [UAIHotSpotManager](API\Runtime\AIModule\HotSpots\UAIHotSpotManager) * GetHotSpotManager() const


code: const [UNavLocalGridManager](API\Runtime\AIModule\Navigation\UNavLocalGridManager) * GetNavLocalGridManager() const


code: [UWorld](API\Runtime\Engine\Engine\UWorld) * GetOuterWorld() const


code: const [UAIPerceptionSystem](API\Runtime\AIModule\Perception\UAIPerceptionSystem) * GetPerceptionSystem() const


code: static const [FRandomStream](API\Runtime\Core\Math\FRandomStream) & GetRandomStream()


code: virtual [UWorld](API\Runtime\Engine\Engine\UWorld) * GetWorld() const


description: UAISystemBasebegin.

code: virtual void InitializeActorsForPlay ( bool bTimeGotReset )


code: virtual void OnActorSpawned ( [AActor](API\Runtime\Engine\GameFramework\AActor) * SpawnedActor )


code: virtual void OnPawnBeginPlay ( [APawn](API\Runtime\Engine\GameFramework\APawn) * Pawn )


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()


description: Registers aUBlackboardComponentinstance with this blackboard data asset. This will also register the component for each parentUBlackboardDataasset. This should be called after the component has been initialized (i.e. InitializeComponent). The user is responsible for calling UnregisterBlackboardComponent (i.e. UninitializeComponent).

code: void RegisterBlackboardComponent ( class [UBlackboardData](API\Runtime\AIModule\BehaviorTree\UBlackboardData) & BlackboardAsset, class [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) & BlackboardComp )


className: RandomStream

description: Random number stream to be used by all things AI. WIP


code: void RemoveReferenceToProxyObject ( [UAIAsyncTaskBlueprintProxy](API\Runtime\AIModule\Blueprint\UAIAsyncTaskBlueprintProxy) * BlueprintProxy )


description: Insta-runs EQS query for given Target

code: void RunEQS ( const [FString](API\Runtime\Core\Containers\FString) & QueryName, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Target )


code: static void SeedRandomStream ( const int32 Seed )


description: Called byUWorld::BeginPlayto indicate the gameplay has started. Should be called by overriding functions.

code: virtual void StartPlay()


description: Unregisters aUBlackboardComponentinstance with this blackboard data asset. This should be called before the component has been uninitialized (i.e. UninitializeComponent).

code: void UnregisterBlackboardComponent ( class [UBlackboardData](API\Runtime\AIModule\BehaviorTree\UBlackboardData) & BlackboardAsset, class [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) & BlackboardComp )


description: Event called on world origin location changes

code: virtual void WorldOriginLocationChanged ( FIntVector OldOriginLocation, FIntVector NewOriginLocation )


className: UAISystem

code: class UAISystem : public [UAISystemBase](API\Runtime\Engine\AI\UAISystemBase)

AcceptanceRadius

description: Default AI movement's acceptance radius used to determine whether AI reached path's end

ActorSpawnedDelegateHandle

type: FDelegateHandle

AllProxyObjects

type: TArray<TObject...

bAcceptPartialPaths

description: Sets default value for rather move tasks accept partial paths or not

bAddBlackboardSelfKey

description: If set to true will result in automatically adding the SelfActor key to new Blackboard assets.

bAllowControllersAsEQSQuerier

description: If enable will make EQS not complaint about using Controllers as queriers.

bAllowStrafing

description: Sets default value for rather move tasks allow strafing or not

description: If enabled, blackboard based decorators will set key to 'Invalid' on creation or when selected key no longer exists (instead of using the first key of the blackboard).

BehaviorTreeManager

type: TObjectPtr<UBe...

description: Behavior tree manager used by game

bEnableDebuggerPlugin

description: If set, GameplayDebuggerPlugin will be loaded on module's startup

bFinishMoveOnGoalOverlap

description: If true, overlapping the goal will be counted by default as finishing a move

bForgetStaleActors

description: If set, actors will be forgotten by the perception system when their stimulus has expired.

BlackboardDataToComponentsMap

type: FBlackboardData...

description: UBlackboardComponentinstances that reference the blackboard data definition

DefaultBlackboard

type: TSoftObjectPtr<...

description: If set, new BTs will use this BB as default.

DefaultSightCollisionChannel

type: TEnumAsByte< EC...

description: Which collision channel to use for sight checks by default

EnvironmentQueryManager

type: TObjectPtr<UEn...

description: Environment query manager used by game

EnvQueryManagerClassName

type: FSoftClassPath

description: Class that will be used to spawn the env query manager, can be game-specific

HotSpotManager

type: TObjectPtr<UAI...

HotSpotManagerClassName

description: Class that will be used to spawn the hot spot manager, can be game-specific

NavLocalGrids

type: TObjectPtr<UNa...

PathfollowingNavLinkAcceptanceRadius

description: Similarly to PathfollowingRegularPathPointAcceptanceRadius used by pathfollowing's internals but gets applied only when next point on a path represents a begining of navigation link

description: Value used for pathfollowing's internal code to determine whether AI reached path's point.

PerceptionSystemClassName

description: Class that will be used to spawn the perception system, can be game-specific


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


description: Static names to be used with SendMessage. Fell free to define game-specific messages anywhere you want

code: static const [FName](API\Runtime\Core\UObject\FName) AIMessage_MoveFinished = TEXT("MoveFinished");


code: static const [FName](API\Runtime\Core\UObject\FName) AIMessage_QueryFinished = TEXT("QueryFinished");


description: ENDUActorComponentoverrides caches BlackboardComponent's pointer to be used with this brain component

code: void CacheBlackboardComponent ( [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) * BBComp )


code: static const [FName](API\Runtime\Core\UObject\FName) AIMessage_RepathFailed = TEXT("RepathFailed");


description: AI logic won't be needed anymore, stop all activity and run cleanup

code: virtual void Cleanup()


description: Clear resource lock of the given origin

code: virtual void ClearResourceLock ( [EAIRequestPriority::Type](API\Runtime\AIModule\EAIRequestPriority__Type) LockSource )


code: virtual void DescribeSelfToVisLog ( struct [FVisualLogEntry](API\Runtime\Engine\VisualLogger\FVisualLogEntry) * Snapshot ) const


description: Force-clears all locks on resource

code: virtual void ForceUnlockResource()


code: [AAIController](API\Runtime\AIModule\AAIController) * GetAIOwner() const


description: blackboard used with this component


description: blackboard used with this component

code: const [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) * GetBlackboardComponent() const


code: virtual [FString](API\Runtime\Core\Containers\FString) GetDebugInfoString() const


code: virtual void HandleMessage ( const [FAIMessage](API\Runtime\AIModule\FAIMessage) & Message )


description: BEGINUActorComponentoverrides

code: virtual void InitializeComponent()


description: Check whether resource is currently locked

code: virtual bool IsResourceLocked() const


description: If resource is lockable lock it with indicated priority

code: virtual void LockResource ( [EAIRequestPriority::Type](API\Runtime\AIModule\EAIRequestPriority__Type) LockSource )


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

code: virtual void OnRegister()


description: Pause logic and blackboard updates.

code: virtual void PauseLogic ( const [FString](API\Runtime\Core\Containers\FString) & Reason )


description: this call does nothing if logic is not locked at the moment of call

code: void RequestLogicRestartOnUnlock()


description: Restarts currently running or previously ran brain logic.

code: virtual void RestartLogic()


description:
Resumes paused brain logic. MUST be called by child implementations!
indicates whether child class' ResumeLogic should be called (true) or has it been handled in a different way and no other actions are required (false)

code: virtual [EAILogicResuming::Type](API\Runtime\AIModule\EAILogicResuming__Type) ResumeLogic ( const [FString](API\Runtime\Core\Containers\FString) & Reason )


description: Starts brain logic. If brain is already running, will not do anything.

code: virtual void StartLogic()


description: Stops currently running brain logic.

code: virtual void StopLogic ( const [FString](API\Runtime\Core\Containers\FString) & Reason )


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


description: Function called every frame on this ActorComponent. Override this function to implement custom logic to be executed every frame. Only executes if the component is registered, and also PrimaryComponentTick.bCanEverTick must be set to true.

code: virtual void TickComponent ( float DeltaTime, enum ELevelTick TickType, [FActorComponentTickFunction](API\Runtime\Engine\Engine\FActorComponentTickFunction) * ThisTickFunction )


className: UBrainComponent

code: class UBrainComponent : public [UActorComponent](API\Runtime\Engine\Components\UActorComponent), public [IAIResourceInterface](API\Runtime\AIModule\IAIResourceInterface)

AIOwner

type: TObjectPtr<AAI...

BlackboardComp

type: TObjectPtr<UBl...

description: Blackboard component

MessageObservers

type: TArray<FAIMess...

description: Active message observers

MessagesToProcess

description: This is a temp contraption to implement delayed messages delivering until proper AI messaging is implemented

ResourceLock

type: FAIResourceLock

description: Used to keep track of which subsystem requested this AI resource be locked


description:
Interpolates bilinear patch A,B,C,D. U interpolates from A->B, and C->D, and V interpolates from AB->CD.
interpolated value.

code: namespace UE { namespace AI { FVector UE::AI::Bilinear ( const FVector2D UV, const FVector VertexA, const FVector VertexB, const FVector VertexC, const FVector VertexD ) } }


description: 2D cross product. Using X and Y components of 3D vectors.

code: namespace UE { namespace AI { [FVector::FReal](API\Runtime\Core\Math\TVector\FReal) UE::AI::Cross2D ( const FVector & A, const FVector & B ) } }


description: 2D cross product.

code: namespace UE { namespace AI { [FVector2D::FReal](API\Runtime\Core\Math\TVector2\FReal) UE::AI::Cross2D ( const FVector2D & A, const FVector2D & B ) } }


description:
Intersects infinite lines defined by segments A and B in 2D. Using X and Y components of 3D vectors.
if segments A and B intersect in 2D

code: namespace UE { namespace AI { bool UE::AI::IntersectLineLine2D ( const FVector & StartA, const FVector & EndA, const FVector & StartB, const FVector & EndB, [FVector2D::FReal](API\Runtime\Core\Math\TVector2\FReal) & OutTA, [FVector2D::FReal](API\Runtime\Core\Math\TVector2\FReal) & OutTB ) } }


description:
Finds the UV coordinates of the 'Point' on bilinear patch A,B,C,D. U interpolates from A->B, and C->D, and V interpolates from AB->CD. The UV coordinate is clamped to [0..1] range after inversion.
UV interpolation coordinates of the 'Point' in [0..1] range.

code: namespace UE { namespace AI { FVector2D UE::AI::InvBilinear2DClamped ( const FVector Point, const FVector VertexA, const FVector VertexB, const FVector VertexC, const FVector VertexD ) } }


description: value of the 'Point' project on infinite line defined by segment 'Start-End'. Using X and Y components of 3D vectors.

code: namespace UE { namespace AI { [FVector::FReal](API\Runtime\Core\Math\TVector\FReal) UE::AI::ProjectPointOnLine2D ( const FVector Point, const FVector Start, const FVector End ) } }


description: value in range [0..1] of the 'Point' project on segment 'Start-End'. Using X and Y components of 3D vectors.

code: namespace UE { namespace AI { [FVector2D::FReal](API\Runtime\Core\Math\TVector2\FReal) UE::AI::ProjectPointOnSegment2D ( const FVector Point, const FVector Start, const FVector End ) } }


description: signed distance of the 'Point' to infinite line defined by segment 'Start-End'. Using X and Y components of 3D vectors.

code: namespace UE { namespace AI { [FVector::FReal](API\Runtime\Core\Math\TVector\FReal) UE::AI::SignedDistancePointLine2D ( const FVector Point, const FVector Start, const FVector End ) } }


description: 2D area of triangle.

code: namespace UE { namespace AI { [FVector2D::FReal](API\Runtime\Core\Math\TVector2\FReal) UE::AI::TriArea2D ( const FVector2D & A, const FVector2D & B, const FVector2D & C ) } }


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


className: UGenericTeamAgentInterface

code: class UGenericTeamAgentInterface : public [UInterface](API\Runtime\CoreUObject\UObject\UInterface)


className: UVisualLoggerExtension

code: class UVisualLoggerExtension : public [UObject](API\Runtime\CoreUObject\UObject\UObject)


description: 2D area of triangle. Using X and Y components of 3D vectors.

code: namespace UE { namespace AI { [FVector::FReal](API\Runtime\Core\Math\TVector\FReal) UE::AI::TriArea2D ( const FVector & A, const FVector & B, const FVector & C ) } }


module: Analytics

code: namespace AnalyticsConversion { template<typename T> decltype(auto) AnalyticsConversion::ToString ( T && Value ) }


description: Method that can be bound to an FAnalyticsProviderConfigurationDelegate.

code: FString GetValue &40; const FString & KeyName, bool bIsRequired &41; const


description: Reads the ProviderModuleName key from the Analytics section of GEngineIni, which is the default, preferred location to look for the analytics provider name. This is purely optional, and you can store that information anywhere you want or merely hardcode the provider module.


description: Allows setting the INI section name based on the build type passed in. Allows access to the default section values when the application chooses the build type itself.

code: void SetSectionNameByBuildType &40; EAnalyticsBuildType InBuildType &41;


description: Create a config using the default values: IniName - GEngineIni SectionName (Development) = AnalyticsDevelopment SectionName (Debug) = AnalyticsDebug SectionName (Test) = AnalyticsTest SectionName (Release) = Analytics


description: Create a config AS IF the BuildType matches the one passed in.

code: ConfigFromIni &40; EAnalyticsBuildType InBuildType &41;


description: Create a config, specifying the Ini name and a single section name for all build types.

code: ConfigFromIni &40; const FString & InIniName, const FString & InSectionName &41;


description: Create a config, specifying the Ini name and the section name for each build type.

code: ConfigFromIni &40; const FString & InIniName, const FString & SectionNameDevelopment, const FString & SectionNameDebug, const FString & SectionNameTest, const FString & SectionNameRelease &41;


className: ConfigFromIni

description: A common way of configuring is from Inis, so this class supports that notion directly by providing a configuration class with a method suitable to be used as an FAnalyticsProviderConfigurationDelegate that reads values from the specified ini and section (based on the BuildType). Also provides a default location to store a provider name, accessed viaGetDefaultProviderModuleName().

code: struct ConfigFromIni

IniName

type: FString

description: Ini file name to find the config values.

SectionName

description: Section name in the Ini file in which to find the keys.


description:
Factory function to create a specific analytics provider by providing the string name of the provider module, which will be dynamically loaded.
the analytics provider instance that was created. Could be NULL if initialization failed.

code: virtual [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IAnalyticsProvider](API\Runtime\Analytics\Interfaces\IAnalyticsProvider) > CreateAnalyticsProvider ( const [FName](API\Runtime\Core\UObject\FName) & ProviderModuleName, const FAnalyticsProviderConfigurationDelegate & GetConfigValue )


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 [FAnalytics](API\Runtime\Analytics\FAnalytics) & Get()


description: Helper for reading configuration values from an INI file (which will be a common scenario). This is exposed here so we're not exporting more classes from the module. It's merely a helper forConfigFromInistruct above.

code: virtual [FString](API\Runtime\Core\Containers\FString) GetConfigValueFromIni ( const [FString](API\Runtime\Core\Containers\FString) & IniName, const [FString](API\Runtime\Core\Containers\FString) & SectionName, const [FString](API\Runtime\Core\Containers\FString) & KeyName, bool bIsRequired )


description: This implementation is kept in the header file to illustrate how providers are created using configuration delegates.


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()


description: Helper for writing configuration values from to an INI file (which will be a common scenario).

code: virtual void WriteConfigValueToIni ( const [FString](API\Runtime\Core\Containers\FString) & IniName, const [FString](API\Runtime\Core\Containers\FString) & SectionName, const [FString](API\Runtime\Core\Containers\FString) & KeyName, const [FString](API\Runtime\Core\Containers\FString) & Value )


description: Module functionality.

code: FAnalytics()


className: FAnalytics

description: To create an analytics provider using all the system defaults, simply call the staticGetDefaultConfiguredProvider().

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


className: AttrTypeEnum

code: enum AttrTypeEnum { String, Number, Boolean, Null, JsonFragment, }


code: const [FString](API\Runtime\Core\Containers\FString) & GetName() const


code: const [FString](API\Runtime\Core\Containers\FString) & GetValue() const


description: ALlow aggregation of attributes

code: [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) & operator+ ( const [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) & RHS )


code: static bool IsValidAttributeName ( const [FString](API\Runtime\Core\Containers\FString) & InName )


description: ALlow aggregation of attributes

code: [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) & operator+= ( const [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) & RHS )


description: Hack to allow assignment. This class only "sort of" acts like an immutable class because the const members prevents assignment, which was not intended when this code was changed.

code: [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) & operator= ( const [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) & RHS )


code: [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) & operator= ( [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) && RHS )


description: Allow setting value for any type that supports LexToString

code: template<typename ValueType> void SetValue ( ValueType && InValue )


description: Legacy support for old RecordEventJson API. Don't call this directly.

code: void SwitchToJsonFragment()


description: If you need the old AttrValue behavior (i.e. stringify everything), call this function instead.


description: The implementation of this class references deprecated members. Don't fire warnings for these. For this reason we actually implement the entire class out-of-line, but still in the header files, so we can wrap all the implementations in DISABLE macro easily.

code: FAnalyticsEventAttribute()


description: Reinstate the default copy ctor because that one still works fine.

code: FAnalyticsEventAttribute ( const [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) & RHS )


description: Hack to allow copy ctor using an rvalue-ref. This class only "sort of" acts like an immutable class because the const members prevents assignment, which was not intended when this code was changed.

code: FAnalyticsEventAttribute ( [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) && RHS )


code: template<typename ValueType> FAnalyticsEventAttribute ( [FString](API\Runtime\Core\Containers\FString) InName, ValueType && InValue )


className: FAnalyticsEventAttribute

description: Struct to hold key/value pairs that will be sent as attributes along with analytics events. All values are actually strings, but we provide a convenient constructor that relies on ToStringForAnalytics() to convert common types.

code: struct FAnalyticsEventAttribute


description: Returns true if the store contains the specified key.

code: virtual bool Contains ( const [FString](API\Runtime\Core\Containers\FString) & Key ) const


description: Create a new store, creating the file of the specified capacity and resetting the current state.

code: bool Create ( const [FString](API\Runtime\Core\Containers\FString) & Pathname, uint32 CapacityHint )


description:
Flushes cached values to disk. Only one thread can flush at a time, causing possible latency if a flush is alreary happenning. Store.Flush();//Flushinthecallingthread,blockuntilallthreadshasfinishedflushing.Store.Flush(false,FTimespan::Zero());//Flushinthecallingthreadifpossible,returnimmediatedlyifanotherthreadisalreadyflushing.Store.Flush(true,FTimespan::Zero());//Flushinabackgroudthreadifnootherthreadisflushing,returnimmediatedlyifanotherflushingtaskisrunning.Store.Flush(true);//Flushinabackgroundthread,mightblockifathreadisalreadyflushing.(Itdoesn'tqueueseveraltasks).
True if the flush was executed (synchronous) or scheduled (asynchronous), false if the operation timed out.

code: virtual bool Flush ( bool bAsync, const [FTimespan](API\Runtime\Core\Misc\FTimespan) & Timeout )


description:
Reads the specified key value from the store.
One of the following code

code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( const [FString](API\Runtime\Core\Containers\FString) & Key, int32 & OutValue ) const


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( const [FString](API\Runtime\Core\Containers\FString) & Key, uint32 & OutValue ) const


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( const [FString](API\Runtime\Core\Containers\FString) & Key, int64 & OutValue ) const


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( const [FString](API\Runtime\Core\Containers\FString) & Key, uint64 & OutValue ) const


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( const [FString](API\Runtime\Core\Containers\FString) & Key, float & OutValue ) const


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( const [FString](API\Runtime\Core\Containers\FString) & Key, double & OutValue ) const


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( const [FString](API\Runtime\Core\Containers\FString) & Key, bool & OutValue ) const


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( const [FString](API\Runtime\Core\Containers\FString) & Key, [FString](API\Runtime\Core\Containers\FString) & OutValue ) const


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( const [FString](API\Runtime\Core\Containers\FString) & Key, [FDateTime](API\Runtime\Core\Misc\FDateTime) & OutValue ) const


description: Returns true is the store was successfully created or loaded.

code: bool IsValid() const


description:
Load the specified file in memory, resetting the current state.
true if the file was loaded successuflly, false if the file doesn't exist, the file format/version is invalid or if the file is corrupted (failed checksum).

code: bool Load ( const [FString](API\Runtime\Core\Containers\FString) & Pathname )


description: Returns the number of elements in the store.

code: virtual uint32 Num() const


code: [FAnalyticsPropertyStore](API\Runtime\Analytics\FAnalyticsPropertyStore) & operator= ( const [FAnalyticsPropertyStore](API\Runtime\Analytics\FAnalyticsPropertyStore) & )


code: [FAnalyticsPropertyStore](API\Runtime\Analytics\FAnalyticsPropertyStore) & operator= ( [FAnalyticsPropertyStore](API\Runtime\Analytics\FAnalyticsPropertyStore) && )


description:
Removes the specified key from the store.
true if the key was removed.

code: virtual bool Remove ( const [FString](API\Runtime\Core\Containers\FString) & Key )


description: Removes all existing keys from the store.

code: virtual void RemoveAll()


description: Adds or updates the specified key/value pair. If the key doesn't exist, the key/value pair is added. If the key already exists, the value is updated if the stored value and the specified value types match.EStatusCode::Successif the key was added or updated,EStatusCode::BadTypeif the value type did not match the current value type.

code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, int32 Value )


description:
Conditionnnaly adds or updates the specified key/value pair. The operation is atomic from the caller perspective. The function reads the actual value (if it exists), invoke the ConditionFn callback and write the value back if the condition function returns true. If the key doesn't exist, the actual value passed back to the condition function is null. If the condition function returns true, the proposed value is set, otherwise, the operation is declined and the store remains unchanged.
One of the following code

code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, int32 Value, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const int32 *, const int32 &)> & ConditionFn )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, uint32 Value, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const uint32 *, const uint32 &)> & ConditionFn )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, int64 Value, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const int64 *, const int64 &)> & ConditionFn )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, uint64 Value, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const uint64 *, const uint64 &)> & ConditionFn )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, float Value, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const float *, const float &)> & ConditionFn )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, double Value, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const double *, const double &)> & ConditionFn )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, bool Value, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const bool *, const bool &)> & ConditionFn )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [FString](API\Runtime\Core\Containers\FString) & Value, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const [FString](API\Runtime\Core\Containers\FString) *, const [FString](API\Runtime\Core\Containers\FString) &)> & ConditionFn )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [FDateTime](API\Runtime\Core\Misc\FDateTime) & Value, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const [FDateTime](API\Runtime\Core\Misc\FDateTime) *, const [FDateTime](API\Runtime\Core\Misc\FDateTime) &)> & ConditionFn )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, uint32 Value )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, int64 Value )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, uint64 Value )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, float Value )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, double Value )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, bool Value )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [FString](API\Runtime\Core\Containers\FString) & Value, uint32 CharCountCapacityHint )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [FDateTime](API\Runtime\Core\Misc\FDateTime) & Value )


description:
Updates an exiting value. The operation is atomic from the caller perspective. The function reads the actual value and invoke UpdateFn callback with the actual value. The callback can update the actual value or decline the operation. If the key is not found, the callback is not invoked.
One of the following code

code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(int32 &)> & UpdateFn )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(uint32 &)> & UpdateFn )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(uint64 &)> & UpdateFn )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(int64 &)> & UpdateFn )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(float &)> & UpdateFn )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool([FString](API\Runtime\Core\Containers\FString) &)> & UpdateFn )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(bool &)> & UpdateFn )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool([FDateTime](API\Runtime\Core\Misc\FDateTime) &)> & UpdateFn )


description: Iterates the keys currently stored and invokes the visitor function for each key, converting the value to its string representation.

code: virtual void VisitAll ( const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) &&)> & VisitFn ) const


code: FAnalyticsPropertyStore ( const [FAnalyticsPropertyStore](API\Runtime\Analytics\FAnalyticsPropertyStore) & )


description: Create an empty store.

code: FAnalyticsPropertyStore()


code: FAnalyticsPropertyStore ( [FAnalyticsPropertyStore](API\Runtime\Analytics\FAnalyticsPropertyStore) && )


code: virtual [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(double &)> & UpdateFn )


code: virtual ~FAnalyticsPropertyStore()


code: FJsonFragment ( [FString](API\Runtime\Core\Containers\FString) && StringRef )


className: FAnalyticsPropertyStore

description: Implements a fast key/value database to store the metrics gathered to create the session summary event. The store is buffered in memory until it is flushed to disk by callingFlush(). It is not designed to handle millions of key/value pairs, but rather a small subset that fits in memory. The implementation reserve disk space ahead of time and can usually perform in-place update. Setting or getting intrinsic types (int32, uint32, int64, uint64, float, double, bool as well asFDateTime) doesn't allocate memory. The string time is often updated in place if enough capacity was reserved. All store operations are thread safe and atomic from the caller perspective.

code: class FAnalyticsPropertyStore : public [IAnalyticsPropertyStore](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore)


className: FJsonFragment

code: struct FJsonFragment


description: Recursion terminator. Empty list.

code: namespace ImplMakeAnalyticsEventAttributeArray { template<typename Allocator> void ImplMakeAnalyticsEventAttributeArray::MakeArray ( [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute), Allocator > & Attrs ) }


description: Recursion terminator. Convert the key/value pair to analytics strings.

code: namespace ImplMakeAnalyticsEventAttributeArray { template<typename Allocator, typename KeyType, typename ValueType> void ImplMakeAnalyticsEventAttributeArray::MakeArray ( [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute), Allocator > & Attrs, KeyType && Key, ValueType && Value ) }


code: bool Contains ( const [FString](API\Runtime\Core\Containers\FString) & Key ) const


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( const [FString](API\Runtime\Core\Containers\FString) & Key, int32 & OutValue ) const


description:
Flushes cached values to persistent storage.
True if the flush was executed (synchronous) or scheduled (asynchronous), false if the operation timed out.

code: bool Flush ( bool bAsync, const [FTimespan](API\Runtime\Core\Misc\FTimespan) & Timeout )


className: EStatusCode

description: The list of store operation outcome.

code: enum EStatusCode { Success, NotFound, BadType, Declined, }


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( const [FString](API\Runtime\Core\Containers\FString) & Key, uint32 & OutValue ) const


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( const [FString](API\Runtime\Core\Containers\FString) & Key, int64 & OutValue ) const


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( const [FString](API\Runtime\Core\Containers\FString) & Key, uint64 & OutValue ) const


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( const [FString](API\Runtime\Core\Containers\FString) & Key, float & OutValue ) const


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( const [FString](API\Runtime\Core\Containers\FString) & Key, double & OutValue ) const


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( const [FString](API\Runtime\Core\Containers\FString) & Key, bool & OutValue ) const


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( const [FString](API\Runtime\Core\Containers\FString) & Key, [FString](API\Runtime\Core\Containers\FString) & OutValue ) const


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( const [FString](API\Runtime\Core\Containers\FString) & Key, [FDateTime](API\Runtime\Core\Misc\FDateTime) & OutValue ) const


code: uint32 Num() const


code: bool Remove ( const [FString](API\Runtime\Core\Containers\FString) & Key )


code: void RemoveAll()


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, int32 Value )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, uint32 Value, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const uint32 *, const uint32 &)> & ConditionFn )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, int32 Value, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const int32 *, const int32 &)> & ConditionFn )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, int64 Value, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const int64 *, const int64 &)> & ConditionFn )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, uint64 Value, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const uint64 *, const uint64 &)> & ConditionFn )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, double Value, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const double *, const double &)> & ConditionFn )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, float Value, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const float *, const float &)> & ConditionFn )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, bool Value, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const bool *, const bool &)> & ConditionFn )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [FString](API\Runtime\Core\Containers\FString) & Value, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const [FString](API\Runtime\Core\Containers\FString) *, const [FString](API\Runtime\Core\Containers\FString) &)> & ConditionFn )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [FDateTime](API\Runtime\Core\Misc\FDateTime) & Value, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const [FDateTime](API\Runtime\Core\Misc\FDateTime) *, const [FDateTime](API\Runtime\Core\Misc\FDateTime) &)> & ConditionFn )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, uint32 Value )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, uint64 Value )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, float Value )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, double Value )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, bool Value )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [FDateTime](API\Runtime\Core\Misc\FDateTime) & Value )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [FString](API\Runtime\Core\Containers\FString) & Value, uint32 CharCountCapacityHint )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(int32 &)> & UpdateFn )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(uint32 &)> & UpdateFn )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(uint64 &)> & UpdateFn )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(int64 &)> & UpdateFn )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(float &)> & UpdateFn )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(double &)> & UpdateFn )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool([FString](API\Runtime\Core\Containers\FString) &)> & UpdateFn )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(bool &)> & UpdateFn )


code: [EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool([FDateTime](API\Runtime\Core\Misc\FDateTime) &)> & UpdateFn )


code: void VisitAll ( const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) &&)> & VisitFn ) const


code: virtual ~IAnalyticsPropertyStore()


className: IAnalyticsPropertyStore

description: Implements a fast type safe key/value database to store analytics properties collected during a session.

code: class IAnalyticsPropertyStore


description: Ends the session. Usually no need to call explicitly, as the provider should do this for you when the instance is destroyed.

code: void EndSession()


description: Note that not all providers support explicitly sending any cached events. In which case this method does nothing.

code: void FlushEvents()


description: Gets the opaque session identifier string for the provider.


description: Gset the current UserID. Use -ANALYTICSUSERID=command line to force the provider to use a specific UserID for this run.


description: Note that not all providers support currency events. In this case this method is equivalent to sending a regular event with name "Currency Given".

code: virtual void RecordCurrencyGiven ( const [FString](API\Runtime\Core\Containers\FString) & GameCurrencyType, int GameCurrencyAmount )


code: virtual void RecordCurrencyGiven ( const [FString](API\Runtime\Core\Containers\FString) & GameCurrencyType, int GameCurrencyAmount, const [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > & EventAttrs )


description: Note that not all providers support item purchase events. In this case this method is equivalent to sending a regular event with name "Item Purchase".

code: virtual void RecordCurrencyPurchase ( const [FString](API\Runtime\Core\Containers\FString) & GameCurrencyType, int GameCurrencyAmount )


description: Note that not all providers support currency events. In this case this method is equivalent to sending a regular event with name "Currency Purchase".

code: virtual void RecordCurrencyPurchase ( const [FString](API\Runtime\Core\Containers\FString) & GameCurrencyType, int GameCurrencyAmount, const [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > & EventAttrs )


code: virtual void RecordCurrencyPurchase ( const [FString](API\Runtime\Core\Containers\FString) & GameCurrencyType, int GameCurrencyAmount, const [FString](API\Runtime\Core\Containers\FString) & RealCurrencyType, float RealMoneyCost, const [FString](API\Runtime\Core\Containers\FString) & PaymentProvider )


description: Note that not all providers support all events. In this case this method is equivalent to sending a regular event with name "Game Error".

code: virtual void RecordError ( const [FString](API\Runtime\Core\Containers\FString) & Error )


code: virtual void RecordError ( const [FString](API\Runtime\Core\Containers\FString) & Error, const [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > & EventAttrs )


description: Overload for RecordEvent that takes no parameters

code: void RecordEvent ( const [FString](API\Runtime\Core\Containers\FString) & EventName )


description: Records a named event with an array of attributes

code: void RecordEvent ( const [FString](API\Runtime\Core\Containers\FString) & EventName, const [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > & Attributes )