description: Overload for RecordEvent that takes a single attribute

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


description: Overload for RecordEvent that takes a single name/value pair

module: Analytics

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


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: void RecordItemPurchase ( const [FString](API\Runtime\Core\Containers\FString) & ItemId, int ItemQuantity )


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


code: virtual void RecordItemPurchase ( const [FString](API\Runtime\Core\Containers\FString) & ItemId, const [FString](API\Runtime\Core\Containers\FString) & Currency, int PerItemCost, int ItemQuantity )


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

code: virtual void RecordProgress ( const [FString](API\Runtime\Core\Containers\FString) & ProgressType, const [FString](API\Runtime\Core\Containers\FString) & ProgressHierarchy )


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


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


description: Sets the location the game believes the user is playing in as part of the session

code: virtual void SetAge ( const int32 InAge )


description: Sets a user defined string as the build information/version for the session

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


description: Sets the gender the game believes the user is as part of the session

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


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


description: Sets the session ID of the analytics session. This is not something you normally have to do, except for circumstances where you need to send events on behalf of another user (like a dedicated server sending events for the connected clients).

code: bool SetSessionID ( const [FString](API\Runtime\Core\Containers\FString) & InSessionID )


description: Set the UserID for use with analytics. Some providers require a unique ID to be provided when supplying events, and some providers create their own. If you are using a provider that requires you to supply the ID, use this method to set it.

code: void SetUserID ( const [FString](API\Runtime\Core\Containers\FString) & InUserID )


description:
Starts a session. It's technically legal to send events without starting a session. The use case is for backends and dedicated servers to send events on behalf of a user without technically affecting the session length of the local player. Local players log in and start/end the session, but remote players simply call SetUserID and start sending events, which is legal and analytics providers should gracefully handle this. Repeated calls to this method will be ignored.
true if the session started successfully.

code: bool StartSession()


description: Starts a session. See parameterless-version for contract details.

code: bool StartSession ( const [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > & Attributes )


description: Overload for StartSession that takes a single name/value pair

code: bool StartSession ( const [FString](API\Runtime\Core\Containers\FString) & ParamName, const [FString](API\Runtime\Core\Containers\FString) & ParamValue )


description: Overload for StartSession that takes a single attribute

code: bool StartSession ( const [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) & Attribute )


className: IAnalyticsProvider

description: There are several other methods to record specific types of events. They were added for legacy reasons to support specific third party implementations. Derived classes generally do not have to worry about them.

code: class IAnalyticsProvider


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


className: IAnalyticsProviderModule

description: Generic interface for an analytics provider. Other modules can define more and register them with this module.

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


code: [IAnalyticsPropertyStore::EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Get ( [IAnalyticsPropertyStore](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore) * Store, T & OutValue ) const


code: [IAnalyticsPropertyStore::EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Set ( [IAnalyticsPropertyStore](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore) * Store, const T & Value ) const


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


code: [IAnalyticsPropertyStore::EStatusCode](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore\EStatusCode) Update ( [IAnalyticsPropertyStore](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore) * Store, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(T &InOutValue)> & UpdateFn ) const


code: TAnalyticsProperty ( const TCHAR * InKey )


className: TAnalyticsProperty

description: TAnalyticsProperty< FString >

code: template<typename T> class TAnalyticsProperty

Key

type: constFString


className: TAnalyticsProperty< FString >::Get

code: IAnalyticsPropertyStore::EStatusCode Get &40; IAnalyticsPropertyStore &42; Store, FString & OutValue &41; const


className: TAnalyticsProperty< FString >::Set

code: IAnalyticsPropertyStore::EStatusCode Set &40; IAnalyticsPropertyStore &42; Store, const FString & Value, uint32 CharCountCapacityHint &41; const


code: IAnalyticsPropertyStore::EStatusCode Set &40; IAnalyticsPropertyStore &42; Store, const FString & Value, const TFunction< bool(const FString &42;, const FString &)> & ConditionFn &41; const


code: TAnalyticsProperty &40; const TCHAR &42; InKey &41;


className: TAnalyticsProperty< FString >::Update

code: IAnalyticsPropertyStore::EStatusCode Update &40; IAnalyticsPropertyStore &42; Store, const TFunction< bool(FString &InOutValue)> & UpdateFn &41; const


className: TAnalyticsProperty< FString >

description: Specialization forFStringbecause the caller can specifies a capacity when adding a string.

code: template<> class TAnalyticsProperty< FString >


description: Default value if no APIServer configuration is provided.

module: AnalyticsET


description: Default value if no UploadType is given, and UseDataRouter protocol is specified.


description: KeyName required for APIKey configuration.


description: KeyName required for APIServer configuration.


description: KeyName required for AppVersion configuration.


description: For the the data router backend protocol.


description: Optional parameter to use the legacy backend protocol.


description: Default ctor to ensure all values have their proper default.


description: Ctor exposing common configurables .

code: Config &40; FString InAPIKeyET, FString InAPIServerET, FString InAppVersionET, bool InUseLegacyProtocol, FString InAppEnvironment, FString InUploadType, TArray< FString > InAltApiServers, float InFlushIntervalSec, int32 InMaximumPayloadSize, int32 InPreallocatedPayloadSize &41;


className: Config

description: Defines required configuration values for ET analytics provider. APIKeyET MUST be set. Set APIServerET to an empty string to create a "NULL" analytics provider that will be a valid instance but will suppress sending any events.

code: struct Config

AltAPIServersET

type: TArray<FString...

description: ET Alt API Servers - Base URLs to send events on retry.

APIKeyET

type: FString

description: ET APIKey - Get from your account manager

APIServerET

description: ET API Server - Base URL to send events.

AppEnvironment

description: The AppEnvironment that the data router should use. Defaults to GetDefaultAppEnvironment.

AppVersionET

description: AppVersion - defines the app version passed to the provider.

bDropEventsOnFlushFailure

type: bool

description: When true (default), events are dropped if flush fails

FlushIntervalSec

type: float

description: Maximum time to elapse before forcing events to be flushed.

MaximumPayloadSize

description: Maximum size a payload can reach before we force a flush of the payload.

PreallocatedPayloadSize

description: We preallocate a payload.

RetryLimitCount

description: Maximum number of retries to attempt.

UploadType

description: The UploadType that the data router should use. Defaults to GetDefaultUploadType.

UseLegacyProtocol

description: When true, sends events using the legacy ET protocol that passes all attributes as URL parameters.


description: Construct an ET analytics provider directly from a config object.

code: virtual [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IAnalyticsProviderET](API\Runtime\AnalyticsET\IAnalyticsProviderET) > CreateAnalyticsProvider ( const [Config](API\Runtime\AnalyticsET\FAnalyticsET\Config) & ConfigValues ) const


description: IAnalyticsProviderModuleinterface. Creates the analytics provider given a configuration delegate. The keys required exactly match the field names in theConfigobject.

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


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


className: FAnalyticsET

description: Public implementation of EpicGames.MCP.AnalyticsProvider

code: class FAnalyticsET : public [IAnalyticsProviderModule](API\Runtime\Analytics\Interfaces\IAnalyticsProviderModule)


description: End the flow for the current context and pop the stack

code: bool EndFlow ( bool bSuccess, const [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > & AdditionalAttributes )


description: End an existing flow by name

code: bool EndFlow ( const [FName](API\Runtime\Core\UObject\FName) & FlowName, bool bSuccess, const [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > & AdditionalAttributes )


description: End an bool flow by GUID

code: bool EndFlow ( const [FGuid](API\Runtime\Core\Misc\FGuid) & FlowGuid, bool bSuccess, const [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > & AdditionalAttributes )


description: Ends all open Flows and SubFlows

code: void EndSession()


description: End an existing flow step by name

code: bool EndSubFlow ( const [FName](API\Runtime\Core\UObject\FName) & SubFlowName, bool bSuccess, const [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > & AdditionalAttributes )


description: End an existing flow step by GUID

code: bool EndSubFlow ( const [FGuid](API\Runtime\Core\Misc\FGuid) & SubFlowGuid, bool bSuccess, const [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > & AdditionalAttributes )


description: Sets the analytics provider for the flow tracker.

code: void SetProvider ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IAnalyticsProviderET](API\Runtime\AnalyticsET\IAnalyticsProviderET) > & AnalyticsProvider )


description: Start a new Flow, the existing flow context will be pushed onto a stack and the new flow will become the current context

code: [FGuid](API\Runtime\Core\Misc\FGuid) StartFlow ( const [FName](API\Runtime\Core\UObject\FName) & FlowName )


description: Begins a new flow tracking session. Will emit Flow and SubFlow events to the specified analytics provider

code: void StartSession()


description: Start a new flow and add it to the current flow context

code: [FGuid](API\Runtime\Core\Misc\FGuid) StartSubFlow ( const [FName](API\Runtime\Core\UObject\FName) & SubFlowName )


description: Start a new flow step and add it to a specific flow context by GUID

code: [FGuid](API\Runtime\Core\Misc\FGuid) StartSubFlow ( const [FName](API\Runtime\Core\UObject\FName) & SubFlowName, const [FGuid](API\Runtime\Core\Misc\FGuid) & FlowGuid )


className: FAnalyticsFlowTracker

code: class FAnalyticsFlowTracker : private [FNoncopyable](API\Runtime\Core\Templates\FNoncopyable)


description: Adds a new event to the cache. If the estimated payload size will increase beyond MaximumPayloadSize then a flush will be queued here. This will makeHasFlushesQueued()== true.

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


code: void AddToCache ( [FString](API\Runtime\Core\Containers\FString) EventName )


description: Determines whether we have anything we need to flush, either a queued flush or existing events in the payload.

code: bool CanFlush() const


description: the number of default attributes are currently being applied.

code: int32 GetDefaultAttributeCount() const


description: Flushes the cache as a UTF8 char array. Returns a uint8 because that's whatIHttpRequestprefers. If nothing is cached, returns an empty array.

code: [TArray](API\Runtime\Core\Containers\TArray)< uint8 > FlushCacheUTF8()


description:
Range checking is not done, similar toTArray. UseGetDefaultAttributeCount()first!
one attribute of the default attributes so we don't have to copy the entire attribute array.

code: [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) GetDefaultAttribute ( int32 AttributeIndex ) const


description: the current array of default attributes.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > GetDefaultAttributes() const


description: Gets the number of cached events (doesn't include any flushes that are already queued for flush).

code: int GetNumCachedEvents() const


description: Flushes the cache as a string. This method is inefficient because we build up the array directly as UTF8. If nothing is cached, returns an empty string.

code: [FString](API\Runtime\Core\Containers\FString) FlushCache ( SIZE_T * OutEventCount )


description: Lets external code know that there are payloads queued for flush. This happens when AddCache() calls cause the payload size to exceed MaxPayloadSize. Calling code needs to notice this and flush the queue.

code: bool HasFlushesQueued() const


description: Gets the preallocated size of the payload buffer.


code: Lock &40; FAnalyticsProviderETEventCache & EventCache &41;


className: Lock

description: For when you need to take a lock across multiple API calls

code: class Lock


description: Sets the preallocated payload size

code: void SetPreallocatedPayloadSize ( int32 InSetPreallocatedPayloadSize )


description: Default ctor.

code: FAnalyticsProviderETEventCache ( int32 MaximumPayloadSize, int32 InPreallocatedPayloadSize )


description: Sets an array of attributes that will automatically be appended to any event that is sent. Logical effect is like adding them to all events before calling RecordEvent. Practically, it is implemented much more efficiently from a storage and allocation perspective.

code: void SetDefaultAttributes ( [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > && DefaultAttributes )


className: FAnalyticsProviderETEventCache

description: All public APIs in this class are threadsafe. Implemented via crappy critical sections for now, but they are safe.

code: class FAnalyticsProviderETEventCache


description: Cleans up all expired files that match the analytics session filename pattern. The manager automaticallly clean up if it runs, but if the analytics is off and the manager is not instantiated anymore, some dead files can be left over.

code: static void CleanupExpiredFiles ( const [FString](API\Runtime\Core\Containers\FString) & SavedDir )


description:
Returns the age at which a session is considered expired and shouldn't be sent anymore.
The expiration delay.


className: IsUserLoggingOutProperty

description: Special key handled in CRC to decide if an abnormal shutdown crash report should be generated.

code: static const [TAnalyticsProperty](API\Runtime\Analytics\Interfaces\TAnalyticsProperty)< bool > IsUserLoggingOutProperty = TEXT("IsUserLoggingOut");


description: Creates a new property store associated to this manager process group. The manager only sends an analytics session summary when all collecting processes have closed their property store. Ensure to flush and release the store before calling the managerShutdown()to ensure the session is sent as soon a possible. Subsequent calls to MakeStore will increment an internal counter in the store's filename.

code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IAnalyticsPropertyStore](API\Runtime\Analytics\Interfaces\IAnalyticsPropertyStore) > MakeStore ( uint32 InitialCapacity )


description: Sets a the user id used for reporting analytics. Allows for changing the application user after startup. Will set the user id on all existing stores created from this session summary manager.

code: void SetUserId ( const [FString](API\Runtime\Core\Containers\FString) & UserId )


description: Sets a summary sender to enable the manager to send sessions. If the sender is null, the sessions are not sent. If the sender is set, the manager will periodically search and send pending sessions, usually the one left over from processes that died unexpectedly. As a rule, the principal process is responsible to send the left over summary sessions and a subsidiary process only sends the current sessions summary if it is the last process of the group to exit. The manager deletes the session data while sending.

code: void SetSender ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IAnalyticsSessionSummarySender](API\Runtime\AnalyticsET\IAnalyticsSessionSummarySender) > Sender )


description: MakeStore()

code: void Shutdown ( bool bDiscard )


className: ShutdownTypeCodeProperty

description: Special key handled by the manager for the analytics backend. Its value must be one of EAnalyticsSessionShutdownType enum value.

code: static const [TAnalyticsProperty](API\Runtime\Analytics\Interfaces\TAnalyticsProperty)< int32 > ShutdownTypeCodeProperty = TEXT("ShutdownTypeCode");


description: Constructs a manager for a subsidiary process, usually a companion process that collects extra information on the behalf of the principal process.

code: FAnalyticsSessionSummaryManager ( const [FString](API\Runtime\Core\Containers\FString) & ProcessName, const [FString](API\Runtime\Core\Containers\FString) & ProcessGroupId, uint32 PrincipalProcessId, const [FString](API\Runtime\Core\Containers\FString) & SavedDir )


description: Discovers and salvages/sends/cleans up left over from previous execution(s), if any. Only the principal process can send left over sessions.

code: void Tick()


description: IAnalyticsProviderET

code: FAnalyticsSessionSummaryManager ( const [FString](API\Runtime\Core\Containers\FString) & ProcessName, const [FString](API\Runtime\Core\Containers\FString) & ProcessGroupId, const [FString](API\Runtime\Core\Containers\FString) & UserId, const [FString](API\Runtime\Core\Containers\FString) & AppId, const [FString](API\Runtime\Core\Containers\FString) & AppVersion, const [FString](API\Runtime\Core\Containers\FString) & SessionId, const [FString](API\Runtime\Core\Containers\FString) & SavedDir )


description: Delegate constructor.

code: FAnalyticsSessionSummaryManager &40; const FString & ProcessName, const FString & ProcessGroupId, uint32 InCurrentProcessId, uint32 PrincipalProcessId, const FString & UserId, const FString & AppId, const FString & AppVersion, const FString & SessionId, const FString & SessionRootDir &41;


description: Destructor.

code: ~FAnalyticsSessionSummaryManager()


className: FAnalyticsSessionSummaryManager

description: Several processes can collaborate to collect analytics for one principal process. The common case being the Editor acting as the principal process and CrashReportClient (CRC) acting as a subsidiary process. The principal process and its subsidiaries form a group of processes tied together. The last process of the group to exit is responsible to aggregates and sends the final report for the principal process. For any reasons, if the final report cannot be sent by a group, the responsibility to deal with the left over is put on the principal process. The principal process is responsible to clean up the left over from its previous execution(s) and possibly salvage and send reports delayed.

code: class FAnalyticsSessionSummaryManager


description: Emits the summary events for the specified session id on behalf of the specified user/app/appversion. The function filters the properties by invoking the functor specified at construction.

code: virtual bool SendSessionSummary ( const [FString](API\Runtime\Core\Containers\FString) & UserId, const [FString](API\Runtime\Core\Containers\FString) & AppId, const [FString](API\Runtime\Core\Containers\FString) & AppVersion, const [FString](API\Runtime\Core\Containers\FString) & SessionId, const [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > & Properties )


description: Construction a summary sender.

code: FAnalyticsSessionSummarySender ( [IAnalyticsProviderET](API\Runtime\AnalyticsET\IAnalyticsProviderET) & Provider, [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) &)> ShouldEmitFilterFunc )


className: FAnalyticsSessionSummarySender

description: Sends the analytics session summary to Epic Games analytics service.

code: class FAnalyticsSessionSummarySender : public [IAnalyticsSessionSummarySender](API\Runtime\AnalyticsET\IAnalyticsSessionSummarySender)


description:
Method to get the AppID (APIKey)
the AppID (APIKey)

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


description:
Method to get the AppVersion
the AppVersion

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


description: Return the current provider configuration.

code: const [FAnalyticsET::Config](API\Runtime\AnalyticsET\FAnalyticsET\Config) & GetConfig() const


description:
Range checking is not done, similar toTArray. Use GetDefaultAttributeCount() first!
one attribute of the default attributes so we don't have to copy the entire attribute array.

code: [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) GetDefaultEventAttribute ( int AttributeIndex ) const


description: the current array of default attributes.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > GetDefaultEventAttributesSafe() const


description: Blocks execution in the thread until all events have been flushed to the network.

code: void BlockUntilFlushed ( float InTimeoutSec )


className: OnEventRecorded

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(const [FString](API\Runtime\Core\Containers\FString) &EventName, const [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > &Attrs, bool bJson)> OnEventRecorded


description: Primary RecordEvent API. Allow move semantics to capture the attributes.

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


description: This class augments RecordEvent with a version that takes the EventName by rvalue reference to save a string copy. Implement the base version in terms of this one.

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


description: Special setter to set the AppID, something that is not normally allowed for third party analytics providers.

code: void SetAppID ( [FString](API\Runtime\Core\Containers\FString) && AppID )


description: Sets the AppVersion.

code: void SetAppVersion ( [FString](API\Runtime\Core\Containers\FString) && AppVersion )


description: Set a callback to be invoked any time an event is queued.

code: void SetEventCallback ( const [OnEventRecorded](API\Runtime\AnalyticsET\IAnalyticsProviderET\OnEventRecorded) & Callback )


description:
Used with GetDefaultAttribute to iterate over the default attributes.
the number of default attributes are currently being applied.


description: Sets an array of attributes that will automatically be appended to any event that is sent. Logical effect is like adding them to all events before calling RecordEvent. Practically, it is implemented much more efficiently from a storage and allocation perspective.

code: void SetDefaultEventAttributes ( [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > && Attributes )


description: Set an event filter to dynamically control whether an event should be sent.

code: void SetShouldRecordEventFunc ( const [ShouldRecordEventFunction](API\Runtime\AnalyticsET\IAnalyticsProviderET\ShouldRecordEventFunction) & ShouldRecordEventFunc )


description: Sets a header to be included with analytics http requests

code: void SetHeader ( const [FString](API\Runtime\Core\Containers\FString) & HeaderName, const [FString](API\Runtime\Core\Containers\FString) & HeaderValue )


description: Updates the default URL endpoint and AltDomains.

code: void SetURLEndpoint ( const [FString](API\Runtime\Core\Containers\FString) & UrlEndpoint, const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & AltDomains )


description: This class augments StartSession with a version that takes the SessionID instead of always generating it. Implement the base version in terms of this one.

code: virtual bool StartSession ( const [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > & Attributes )


className: ShouldRecordEventFunction

description: Callback used before any event is actually sent. Allows higher level code to disable events.

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const [IAnalyticsProviderET](API\Runtime\AnalyticsET\IAnalyticsProviderET) &ThisProvider, const [FString](API\Runtime\Core\Containers\FString) &EventName)> ShouldRecordEventFunction


description:
Allows higher level code to abort logic to set up for a RecordEvent call by checking the filter that will be used to send the event first.
true if the event will be recorded using the currently installed ShouldRecordEvent function

code: bool ShouldRecordEvent ( const [FString](API\Runtime\Core\Containers\FString) & EventName ) const


description: Primary StartSession API. Allow move semantics to capture the attributes.

code: bool StartSession ( [FString](API\Runtime\Core\Containers\FString) InSessionID, const [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > & Attributes )


className: IAnalyticsProviderET

description: ET specific analytics provider instance. Exposes additional APIs to support Json-based events, default attributes, and allowing events to be disabled (generally via hotfixing).

code: class IAnalyticsProviderET : public [IAnalyticsProvider](API\Runtime\Analytics\Interfaces\IAnalyticsProvider)


description: Emits the summary events for the specified session id on behalf of the specified user/app/appversion. The function filters the properties by invoking the functor specified at construction.

code: bool SendSessionSummary ( const [FString](API\Runtime\Core\Containers\FString) & UserId, const [FString](API\Runtime\Core\Containers\FString) & AppId, const [FString](API\Runtime\Core\Containers\FString) & AppVersion, const [FString](API\Runtime\Core\Containers\FString) & SessionId, const [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > & Properties )


className: IAnalyticsSessionSummarySender

description: Sends the analytics session summary to a backend service.

code: class IAnalyticsSessionSummarySender


className: FAnalyticsVisualEditingModule

description: This module holds the baseUObjectclass that allows visual editing of configuration settings in the Unreal Editor. This is needed because the settings need to be usable outside of theUObjectframework so these objects wrap those settings for editor display purposes and write the non-UObject config property information out

module: AnalyticsVisualEditing

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


description: Provides a mechanism to read the section based information into thisUObject's properties

code: virtual void ReadConfigSettings()


description: Provides a mechanism to save this object's properties to the section based ini values

code: virtual void WriteConfigSettings()


className: UAnalyticsSettings

code: class UAnalyticsSettings : public [UAnalyticsSettingsBase](API\Runtime\AnalyticsVisualEditing\UAnalyticsSettingsBase)

DebugProviderName

description: The name of the plugin containing your desired analytics provider


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


description: Helpers so that subclasses don't need to hardcode the strings in case they change


description: Gets the description for the section, uses the classes ToolTip by default.

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


description: Gets the section text for this

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


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


className: UAnalyticsSettingsBase

code: class UAnalyticsSettingsBase : public [UDeveloperSettings](API\Runtime\DeveloperSettings\Engine\UDeveloperSettings)

SettingsDisplayName

type: FText


module: AnimationCore

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


description: Since same component will be blended by weight correctly, this has to split to each component

code: virtual bool DoesAffectRotation() const


description:
Apply Constraint : Apply Constraint transform to BlendHelperInLocalSpace in local space
BlendHelperInLocalSpace will contains constraint's local transform result, it is local because that's how you want to compose multiple to one transform at the end

code: virtual void AccumulateConstraintTransform ( const FTransform & TargetTransform, const FTransform & CurrentTransform, const FTransform & CurrentParentTransform, float Weight, FMultiTransformBlendHelper & BlendHelperInLocalSpace ) const


code: FAimConstraintDescription()


className: FAimConstraintDescription

description: A description of how to apply aim constraint

code: struct FAimConstraintDescription : public [FConstraintDescriptionEx](API\Runtime\AnimationCore\FConstraintDescriptionEx)

type: FAxis

LookUpTarget

type: FVector


description: Return transformed axis based on ComponentSpaceTransform

code: FVector GetTransformedAxis ( const FTransform & ComponentSpaceTransform ) const


description: Initialize the set up

code: void Initialize()


description: Return true if Valid data

code: bool IsValid() const


code: FAxis ( const FVector & InAxis )


className: FAxis

description: Axis to represent direction

code: struct FAxis


description: Serializer

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


className: FBoneIndexBase::operator bool

code: operator bool() const


className: FBoneIndexBase::operator int32

code: operator int32() const


className: FBoneIndexBase

code: struct FBoneIndexBase


code: const RealBoneIndexType & operator= ( const RealBoneIndexType & Rhs )


code: RealBoneIndexType & operator--()


code: RealBoneIndexType & operator++()


className: FBoneIndexWithOperators

code: template<class RealBoneIndexType> struct FBoneIndexWithOperators : public [FBoneIndexBase](API\Runtime\AnimationCore\FBoneIndexBase)


description: A standard predicate we use for sorting by weight, in a descending order of weights

code: static bool DescSortByWeightPredicate ( const [FBoneWeight](API\Runtime\AnimationCore\FBoneWeight) & A, const [FBoneWeight](API\Runtime\AnimationCore\FBoneWeight) & B )


description: Returns the bone stored index.

code: FBoneIndexType GetBoneIndex() const


description: The maximum raw weight value for a bone influence.

code: static constexpr FBoneIndexType GetMaxRawWeight()


description: Returns the stored weight in the container's raw format, avoiding floating point conversion.

code: uint16 GetRawWeight() const


description: Returns a hash value from the bone weight values

code: uint32 GetTypeHash() const


description: Converts an int32 to anFBoneWeightobject and returns it.

code: static [FBoneWeight](API\Runtime\AnimationCore\FBoneWeight) FromInt32 ( int32 InBoneWeight )


description: Only equality comparison are supported. Relational comparisons are meaningless.

code: bool operator== ( const [FBoneWeight](API\Runtime\AnimationCore\FBoneWeight) & InBoneWeight ) const


code: bool operator!= ( const [FBoneWeight](API\Runtime\AnimationCore\FBoneWeight) & InBoneWeight ) const


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


description: Set the stored weight in the raw format. This avoids any floating point conversion.

code: void SetRawWeight ( const uint16 InRawWeight )


description: Set the bone stored index.

code: void SetBoneIndex ( FBoneIndexType InBoneIndex )


description: Returns the stored weight value as a float in the [0-1] range.

code: float GetWeight() const


description: Set stored weight as a float. Values outside the [0-1] range are clamped to that range. Undefined float values will result in an undefined weight.

code: void SetWeight ( float InWeight )


description: Returns the contents of this object as an int32.

code: int32 ToInt32() const


description: A helper function to return a human-readable version of the bone weight.


description: Default constructor. NOTE: The values are uninitialized.

code: FBoneWeight()


description: A constructor for bone weights where the weight is stored as an unsigned sixteen bit integer. This is the natural storage format for this container.

code: FBoneWeight ( FBoneIndexType InBoneIndex, uint16 InRawWeight )


description: A constructor for old-style bone weights where the weight was stored as an unsigned eight bit integer.

code: FBoneWeight ( FBoneIndexType InBoneIndex, uint8 InWeight )


description: A constructor for bone weights which converts the weight from a float value in the [0-1] range. Values outside of that range are clamped to the range.

code: FBoneWeight ( FBoneIndexType InBoneIndex, float InWeight )


code: static void Add ( [ContainerType](API\Runtime\AnimationCore\FBoneWeightNullAdapter\ContainerType) & InContainer, [FBoneWeight](API\Runtime\AnimationCore\FBoneWeight) InBoneWeight )


className: FBoneWeight

code: class FBoneWeight


code: static [FBoneWeight](API\Runtime\AnimationCore\FBoneWeight) Get ( const [ContainerType](API\Runtime\AnimationCore\FBoneWeightNullAdapter\ContainerType) & InContainer, int32 InIndex )


code: template<typename Predicate> static int32 IndexOf ( const [ContainerType](API\Runtime\AnimationCore\FBoneWeightNullAdapter\ContainerType) & InContainer, Predicate InPredicate )


code: static int32 Num ( const [ContainerType](API\Runtime\AnimationCore\FBoneWeightNullAdapter\ContainerType) & InContainer )


code: static void Remove ( [ContainerType](API\Runtime\AnimationCore\FBoneWeightNullAdapter\ContainerType) & InContainer, int32 InIndex )


description: Set the number of elements to reserve in the container. The elements can be left in an uninitialized state. TheTBoneWeightsalgorithms will ensure that all elements will be properly defined at the end of an operation.

code: static void SetNum ( [ContainerType](API\Runtime\AnimationCore\FBoneWeightNullAdapter\ContainerType) & InContainer, int32 InNum )


code: static void Set ( [ContainerType](API\Runtime\AnimationCore\FBoneWeightNullAdapter\ContainerType) & InContainer, int32 InIndex, [FBoneWeight](API\Runtime\AnimationCore\FBoneWeight) InBoneWeight )


code: template<typename Predicate> static void Sort ( [ContainerType](API\Runtime\AnimationCore\FBoneWeightNullAdapter\ContainerType) & InContainer, Predicate InPredicate )


description: Blend two bone weights together, making sure to add in every influence from both, using the given settings. The bias value should lie on the [0,1] interval. Values outside that range may give unwanted results.

code: static [FBoneWeights](API\Runtime\AnimationCore\FBoneWeights) Blend ( const [FBoneWeights](API\Runtime\AnimationCore\FBoneWeights) & InA, const [FBoneWeights](API\Runtime\AnimationCore\FBoneWeights) & InB, float InBias, const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


description: Blend three bone weights via barycentric coordinates using the given settings. Considers the influence from all of the bones. Coordinates should sum to one.

code: static [FBoneWeights](API\Runtime\AnimationCore\FBoneWeights) Blend ( const [FBoneWeights](API\Runtime\AnimationCore\FBoneWeights) & InA, const [FBoneWeights](API\Runtime\AnimationCore\FBoneWeights) & InB, const [FBoneWeights](API\Runtime\AnimationCore\FBoneWeights) & InC, float InBaryX, float InBaryY, float InBaryZ, const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


className: BoneWeightsTempAllocatorT

code: typedef TInlineAllocator< MaxInlineBoneWeightCount > BoneWeightsTempAllocatorT


className: FBoneWeightNullAdapter

description: A null adapter for a bone weight container to use withTBoneWeights. Use as a template to create adapters for other types of containers.

code: struct FBoneWeightNullAdapter


description: A helper to createFBoneWeightscontainer from aTArrayofFBoneWeightobjects.

code: static [FBoneWeights](API\Runtime\AnimationCore\FBoneWeights) Create ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FBoneWeight](API\Runtime\AnimationCore\FBoneWeight) > BoneWeights, const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


description: A helper to createFBoneWeightscontainer from aTBoneWeightsderivative object

code: template<typename OtherContainerAdapter> static [FBoneWeights](API\Runtime\AnimationCore\FBoneWeights) Create ( [TBoneWeights](API\Runtime\AnimationCore\TBoneWeights)< OtherContainerAdapter > InBoneWeights, const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


description: A helper to create aFBoneWeightscontainer fromFSoftSkinVertexdata structure.

code: static [FBoneWeights](API\Runtime\AnimationCore\FBoneWeights) Create ( const FBoneIndexType InBones, const uint16 InWeights, const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


description: A helper to create aFBoneWeightscontainer from separated bone index and weight arrays. The size of the two arraysmustbe the same  otherwise the behavior is undefined.

code: static [FBoneWeights](API\Runtime\AnimationCore\FBoneWeights) Create ( const FBoneIndexType * InBones, const float * InWeights, int32 NumEntries, const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


className: FArrayWrapper

code: typedef [TBoneWeights](API\Runtime\AnimationCore\TBoneWeights)< TArrayAdapter< [BoneWeightArrayT](API\Runtime\Core\Containers\TArray) >> FArrayWrapper


description: Find the bone weight corresponding to the given bone index. If a bone weight with this bone index does not exist it, a value of INDEX_NONE is returned.

code: int32 FindWeightIndexByBone ( FBoneIndexType InBoneIndex ) const


description:
Return the number of bone weights in this container.
The number of bone weights.

code: int32 Num() const


description: Only equality comparison are supported. Relational comparisons are meaningless.

code: bool operator!= ( const [FBoneWeights](API\Runtime\AnimationCore\FBoneWeights) & InBoneWeight ) const


code: bool operator== ( const [FBoneWeights](API\Runtime\AnimationCore\FBoneWeights) & InBoneWeight ) const


description:
Return the weight at indexIndex. Using an index value less than zero  or equal to or greater than the result ofNum()is an undefined operation.
The bone weight value for that index, or undefined if outside the valid range.

code: const [FBoneWeight](API\Runtime\AnimationCore\FBoneWeight) & operator[] ( int32 Index ) const


className: RangedForConstIteratorType

description: Ranged-based for loop compatibility  but only the const version.


description: Removes a specific bone from the list of weights, re-normalizing and pruning bones, if needed.

code: bool RemoveBoneWeight ( FBoneIndexType InBone, const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


description: Force normalization of weights. This is useful if a set of operations were performed with no normalization, for efficiency, and normalization is needed post-operation.

code: void Renormalize ( const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


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


description: Set a new bone weight. If an existing weight exists with the same bone index, it's weight value is replaced with the weight value of the given entry. Otherwise a new index is added. In both cases the new entry is subject to the given settings, which may influence what the entry's final weight value is and whether it gets thrown away for not passing the threshold value. If the weight was successfully incorporated, then this function returns true. Otherwise it returns false.

code: bool SetBoneWeight ( [FBoneWeight](API\Runtime\AnimationCore\FBoneWeight) InBoneWeight, const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


code: bool SetBoneWeight ( FBoneIndexType InBone, float InWeight, const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


description: Returns theFBoneWeightlist as an array view

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FBoneWeight](API\Runtime\AnimationCore\FBoneWeight) > ToArrayView() const


description: Clears the default bone index. This allows bone weights arrays to be empty if no weights are set.

code: void ClearDefaultBoneIndex()


description: Return true if bones with no influence are considered to have a zero weight during the blend calculation.

code: bool GetBlendZeroInfluence() const


description: Returns the current default bone index to set if no weights were set. If no default bone index has been set, then this value is undefined. Call HasDefaultBoneIndex to check


description: Returns the maximum number of weights for these settings

code: int32 GetMaxWeightCount() const


description: Returns the current normalization type for these settings


className: FBoneWeights

description: A simple container for per-vertex influence of bones and their weights.

code: class FBoneWeights


description: Returns the raw weight threshold. This is the value used internally for weight computation.

code: uint16 GetRawWeightThreshold() const


description: Returns the weight threshold as a float value between (0, 1].

code: float GetWeightThreshold() const


description: Returns `true_ if a default bone index should be applied in the absence of other weights.

code: bool HasDefaultBoneIndex() const


description: Set the way we treat the bones with zero influence during the blend. If true, we assume all bones with no influence have a zero weight (default) and participate in the blend calculation. If false, we ignore the bone during the blend.

code: void SetBlendZeroInfluence ( bool bInBlendZeroInfluence )


description: Set the default bone index to use if no weights were set. This can be used to ensure that there's always a valid weight applied to a skinned vertex.

code: void SetDefaultBoneIndex ( FBoneIndexType InBoneIndex )


description: Sets the maximum number of weights that can be applied to a singleFBoneWeightsobject. When weights are added, the smallest weights, past this limit, are dropped.

code: [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & SetMaxWeightCount ( int32 InMaxWeightCount )


description: Set the normalization type when manipulating the weight values inFBoneWeights

code: [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & SetNormalizeType ( [EBoneWeightNormalizeType](API\Runtime\AnimationCore\UE__AnimationCore__EBoneWeightNo-) InNormalizeType )


description: Sets the minimum influence allowed. Any bone weight value below this threshold value is discarded. The threshold value is clamped to the half-closed interval (0, 1] since weight values of zero indicate no influence at all and are ignored completely.Bydefault, all non-zero weights are allowed.

code: [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & SetWeightThreshold ( float InWeightThreshold )


className: FBoneWeightsSettings

code: class FBoneWeightsSettings


code: FCCDIKChainLink ( const FTransform & InTransform, const FTransform & InLocalTransform, const int32 & InTransformIndex )


className: FCCDIKChainLink

description: Transient structure for CCDIK node evaluation

code: struct FCCDIKChainLink

ChildZeroLengthTransformIndices

type: TArray< int32 >

description: Child bones which are overlapping this bone.

CurrentAngleDelta

type: double

LocalTransform

type: FTransform

description: Transform of bone in local space. This is mutable as their component space changes or parents

Transform

description: Transform of bone in component space.

TransformIndex

description: TransformIndexthat this control will output


code: FCompactPoseBoneIndex ( int32 InBoneIndex )


className: FCompactPoseBoneIndex

code: struct FCompactPoseBoneIndex : public [FBoneIndexWithOperators< FCompactPoseBoneIndex >](API\Runtime\AnimationCore\FBoneIndexWithOperators)


code: void ApplyConstraintTransform ( const FTransform & TargetTransform, const FTransform & InCurrentTransform, const FTransform & CurrentParentTransform, FMultiTransformBlendHelper & BlendHelperInLocalSpace ) const


code: void ApplyInverseOffset ( const FTransform & InTarget, FTransform & OutSource, const FTransform & InBaseTransform ) const


code: void SaveInverseOffset ( const FTransform & Source, const FTransform & Target, const FTransform & InBaseTransform )


code: FConstraintData ( const [FAimConstraintDescription](API\Runtime\AnimationCore\FAimConstraintDescription) & InAim, [FName](API\Runtime\Core\UObject\FName) InTargetNode, float InWeight, bool bInMaintainOffset, const FTransform & InOffset )


code: FConstraintData ( const [FTransformConstraintDescription](API\Runtime\AnimationCore\FTransformConstraintDescription) & InTrans, [FName](API\Runtime\Core\UObject\FName) InTargetNode, float InWeight, bool bInMaintainOffset, const FTransform & InOffset )


className: FConstraintData

description: Constraint Data that is contained in Node Datat You can have as many of these per node

code: struct FConstraintData

bMaintainOffset

description: When the constraint is first applied, maintain the offset from the target node

Constraint

type: FConstraintDesc...

description: Constraint Description

Offset

description: Constraint offset if bMaintainOffset is used

Weight

description: Weight of the constraint


description:
Apply Constraint : Apply Constraint transform to BlendHelperInLocalSpace in local space
BlendHelperInLocalSpace will contains constraint's local transform result, it is local because that's how you want to compose multiple to one transform at the end

code: virtual void AccumulateConstraintTransform ( const FTransform & TargetTransform, const FTransform & CurrentTransform, const FTransform & CurrentParentTransform, float Weight, FMultiTransformBlendHelper & BlendHelperInLocalSpace ) const


className: FConstraintDescription

description: A description of how to apply a simple transform constraint

code: struct FConstraintDescription

bParent

description: This does composed transform - where as individual will accumulate per component

RotationAxes

type: FFilterOptionPe...


description: Since same component will be blended by weight correctly, this has to split to each component

code: virtual bool DoesAffectRotation() const


code: virtual bool DoesAffectScale() const


description: Functions that describes what they modify - this means, whole Transform, so combined transform, not individual component This will override any individual component if returning true

code: virtual bool DoesAffectTransform() const


code: virtual bool DoesAffectTranslation() const


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


description: Serializer

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


className: FConstraintDescriptionEx

code: struct FConstraintDescriptionEx


code: void ApplyConstraintTransform ( const FTransform & TargetTransform, const FTransform & CurrentTransform, const FTransform & CurrentParentTransform, float Weight, FMultiTransformBlendHelper & BlendHelperInLocalSpace ) const


code: virtual ~FConstraintDescriptionEx()


code: bool DoesAffectRotation() const


code: bool DoesAffectScale() const


code: bool DoesAffectTranslation() const


code: bool DoesAffectTransform() const


description: This does not check type - we can, but that is hard to maintain, maybe I'll change later

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


code: [FConstraintDescriptor](API\Runtime\AnimationCore\FConstraintDescriptor) & operator= ( const [FConstraintDescriptor](API\Runtime\AnimationCore\FConstraintDescriptor) & Other )


code: FConstraintDescriptor ( const [FTransformConstraintDescription](API\Runtime\AnimationCore\FTransformConstraintDescription) & InT )


code: FConstraintDescriptor ( const [FConstraintDescriptor](API\Runtime\AnimationCore\FConstraintDescriptor) & InOther )


code: FConstraintDescriptor ( const [FAimConstraintDescription](API\Runtime\AnimationCore\FAimConstraintDescription) & InA )


description: Clear the offset

code: void Reset()


className: FConstraintDescriptor

description: These are the one contained in NodeData, and it will be iterated via evaluate process The goal is to have contiguous memory location where they can iterate through linearly

code: struct FConstraintDescriptor

Type

type: EConstraintType


description: Apply the Inverse offset

code: void ApplyInverseOffset ( const FTransform & InTarget, FTransform & OutSource ) const


description: Save the Inverse offset

code: void SaveInverseOffset ( const FTransform & Source, const FTransform & Target, const [FConstraintDescription](API\Runtime\AnimationCore\FConstraintDescription) & Operator )


className: FConstraintOffset

description: Saves individual component (translation, rotation, scale or parent) Used by Constraint for saving the offset, and recovering the offset

code: struct FConstraintOffset

Rotation

type: FQuat


description: Test if all components of the transforms are equal, within a tolerance.

code: bool Equals ( const [FEulerTransform](API\Runtime\AnimationCore\FEulerTransform) & Other, [FReal](API\Runtime\AnimationCore\FEulerTransform\FReal) Tolerance ) const


code: const FVector & GetLocation() const


description: Convert from an FTransform

code: void FromFTransform ( const FTransform & InTransform )


code: const FVector & GetScale3D() const


className: Identity

description: The identity transformation (Rotation = FRotator::ZeroRotator, Translation = FVector::ZeroVector, Scale = (1,1,1)).

code: static const [FEulerTransform](API\Runtime\AnimationCore\FEulerTransform) Identity;


code: const FRotator & Rotator() const


code: void SetLocation ( const FVector & InValue )


code: void SetScale3D ( const FVector & InValue )


code: void SetRotator ( const FRotator & InValue )


code: void SetRotation ( const FQuat & InValue )


code: FEulerTransform ( const FTransform & InTransform )


code: FEulerTransform ( const FVector & InLocation, const FRotator & InRotation, const FVector & InScale )


code: FEulerTransform ( const FRotator & InRotation, const FVector & InLocation, const FVector & InScale )


description: Convert to an FTransform

code: FTransform ToFTransform() const


className: FEulerTransform

code: struct FEulerTransform

Location

description: The translation of this transform

type: FRotator

description: The rotation of this transform

Scale

description: The scale of this transform


code: FFABRIKChainLink ( const FVector & InPosition, const double InLength, const [FCompactPoseBoneIndex](API\Runtime\AnimationCore\FCompactPoseBoneIndex) & InBoneIndex, const int32 & InTransformIndex )


code: FFABRIKChainLink ( const FVector & InPosition, const double InLength, const [FCompactPoseBoneIndex](API\Runtime\AnimationCore\FCompactPoseBoneIndex) & InBoneIndex, const int32 & InTransformIndex, const FVector & InDefaultDirToParent )


code: FFABRIKChainLink ( const FVector & InPosition, const double InLength, const int32 InBoneIndex, const int32 InTransformIndex )


className: FFABRIKChainLink

description: Controller which implements the FABRIK IK approximation algorithm - seehttp://andreasaristidou.com/publications/FABRIK.pdffor detailsTransient structure for FABRIK node evaluation Transient structure for FABRIK node evaluation

code: struct FFABRIKChainLink

BoneIndex

description: BoneIndexin SkeletalMesh

DefaultDirToParent

description: Default Direction to Parent

Length

description: Distance to its parent link.

Position

description: Position of bone in component space.


code: void FilterQuat ( FQuat & Input, const FQuat & ResetValue ) const


code: void FilterRotator ( FRotator & Input, const FRotator & ResetValue ) const


code: void FilterVector ( FVector & Input, const FVector & ResetValue ) const


code: FMeshPoseBoneIndex ( int32 InBoneIndex )


className: FFilterOptionPerAxis

description: This is used to filter per axis for constraint options

code: struct FFilterOptionPerAxis


className: FNodeChain

description: A chain of nodes in a hierarchy

code: struct FNodeChain

Nodes

type: TArray<FName>


className: FMeshPoseBoneIndex

code: struct FMeshPoseBoneIndex : public [FBoneIndexWithOperators< FMeshPoseBoneIndex >](API\Runtime\AnimationCore\FBoneIndexWithOperators)


code: void Allocate ( int32 Size )


code: int32 Add ( const [FName](API\Runtime\Core\UObject\FName) & InNodeName, const [FName](API\Runtime\Core\UObject\FName) & InParentName, const FTransform & InTransform )


code: void BuildNodeNameToIndexMapping()


code: [FName](API\Runtime\Core\UObject\FName) GetNodeName ( int32 Index ) const


code: int32 GetNodeIndex ( const [FName](API\Runtime\Core\UObject\FName) & NodeName ) const


code: int32 GetParentIndex ( int32 Index ) const


code: const FTransform & GetTransform ( int32 Index ) const


code: FTransform & GetTransform ( int32 Index )


code: [FName](API\Runtime\Core\UObject\FName) GetParentName ( int32 Index ) const


code: bool IsValidIndex ( int32 Index ) const


description: Returns number of bones in Skeleton.

code: int32 Num() const


code: int32 Remove ( const [FName](API\Runtime\Core\UObject\FName) & InNodeName )


code: void SetParentName ( int32 Index, [FName](API\Runtime\Core\UObject\FName) NewParent )


code: void SetTransform ( int32 Index, const FTransform & NewTransform )


className: FNodeHierarchyData

description: Hierarchy of nodes

code: struct FNodeHierarchyData

NodeNameToIndexMapping

type: TMap<FName, in...

description: Transient look up mapping from name to index to array

type: TArray<FNodeOb...

description: Node hierarchy data

Transforms

type: TArray< FTransf...

description: Node transform data


code: template<typename [DataType](API\Plugins\OptimusCore\DataType)> int32 Add ( const [FName](API\Runtime\Core\UObject\FName) & InNodeName, const [FName](API\Runtime\Core\UObject\FName) & InParentName, const FTransform & InTransform, const [DataType](API\Plugins\OptimusCore\DataType) & InNodeData )


code: virtual int32 AddUserDataImpl ( const void * InData )


code: void SetNodeName ( int32 Index, const [FName](API\Runtime\Core\UObject\FName) & NewNodeName )


code: bool Contains ( const [FName](API\Runtime\Core\UObject\FName) InNodeName ) const


code: virtual void EmptyUserData ( int32 Size )


description: Get all list of children

code: [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > GetChildren ( int32 Index ) const


code: virtual const FTransform & GetGlobalTransform ( int32 Index ) const


code: virtual FTransform & GetGlobalTransform ( int32 Index )


code: FTransform GetGlobalTransformByName ( const [FName](API\Runtime\Core\UObject\FName) & NodeName ) const


code: const [FNodeHierarchyData](API\Runtime\AnimationCore\FNodeHierarchyData) & GetHierarchy() const


description: It's up to your hierarchy to decide what to do with this

code: virtual const FTransform & GetLocalTransform ( int32 Index ) const


code: virtual FTransform & GetLocalTransform ( int32 Index )


code: FTransform GetLocalTransformByName ( const [FName](API\Runtime\Core\UObject\FName) & NodeName ) const


code: template<typename [DataType](API\Plugins\OptimusCore\DataType)> const [DataType](API\Plugins\OptimusCore\DataType) & GetNodeData ( int32 Index ) const


code: template<typename [DataType](API\Plugins\OptimusCore\DataType)> [DataType](API\Plugins\OptimusCore\DataType) & GetNodeData ( int32 Index )


code: int32 GetNodeIndex ( const [FName](API\Runtime\Core\UObject\FName) & InNodeName ) const


code: [FName](API\Runtime\Core\UObject\FName) GetNodeName ( int32 Index ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FNodeObject](API\Runtime\AnimationCore\FNodeObject) > & GetNodes() const


code: virtual int32 GetNumUserData() const


code: int32 GetParentIndex ( int32 Index ) const


code: [FName](API\Runtime\Core\UObject\FName) GetParentName ( int32 Index ) const


code: [FName](API\Runtime\Core\UObject\FName) GetParentName ( const [FName](API\Runtime\Core\UObject\FName) & NodeName ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< FTransform > & GetTransforms() const


code: [TArray](API\Runtime\Core\Containers\TArray)< FTransform > & GetTransforms()


description: Derived classes can implement this to supply per-node user data

code: virtual const void * GetUserDataImpl ( int32 Index ) const


code: virtual void * GetUserDataImpl ( int32 Index )


code: virtual bool HasUserData() const


description: Should initialize all transient data for fast look up

code: virtual void Initialize()


code: bool IsValidIndex ( int32 Index ) const


code: void Remove ( const [FName](API\Runtime\Core\UObject\FName) & InNodeName )


code: virtual void RemoveUserData ( int32 Index )


code: virtual void SetGlobalTransform ( int32 Index, const FTransform & NewTransform )


code: void SetGlobalTransformByName ( const [FName](API\Runtime\Core\UObject\FName) & NodeName, const FTransform & NewTransform )


code: virtual void SetLocalTransform ( int32 Index, const FTransform & NewTransform )


code: void SetLocalTransformByName ( const [FName](API\Runtime\Core\UObject\FName) & NodeName, const FTransform & NewTransform )


code: void SetNodeName ( int32 Index, const [FName](API\Runtime\Core\UObject\FName) & NewNode )


code: void SetParentName ( int32 Index, [FName](API\Runtime\Core\UObject\FName) NewParent )


code: virtual ~FNodeHierarchyWithUserData()


className: FNodeHierarchyWithUserData

code: struct FNodeHierarchyWithUserData

Hierarchy

type: FNodeHierarchyD...


code: FNodeObject ( const [FName](API\Runtime\Core\UObject\FName) & InName, const [FName](API\Runtime\Core\UObject\FName) & InParentName )


className: FNodeObject

description: A node in a named hierarchy

code: struct FNodeObject

Name

type: FName

description: The name of this node

ParentName

description: The name of this node's parent


code: FSkeletonPoseBoneIndex ( int32 InBoneIndex )


className: FSkeletonPoseBoneIndex

code: struct FSkeletonPoseBoneIndex : public [FBoneIndexWithOperators< FSkeletonPoseBoneIndex >](API\Runtime\AnimationCore\FBoneIndexWithOperators)


className: FTransformConstraint

code: struct FTransformConstraint

bMaintainOffset

type: bool

description: When the constraint is first applied, maintain the offset from the target node

Operator

description: Thought of separating this out per each but we'll have an issue with applying transform in what order but something to think about if that seems better

Weight

type: float


description:
Apply Constraint : Apply Constraint transform to BlendHelperInLocalSpace in local space
BlendHelperInLocalSpace will contains constraint's local transform result, it is local because that's how you want to compose multiple to one transform at the end

code: virtual void AccumulateConstraintTransform ( const FTransform & TargetTransform, const FTransform & CurrentTransform, const FTransform & CurrentParentTransform, float Weight, FMultiTransformBlendHelper & BlendHelperInLocalSpace ) const


code: virtual bool DoesAffectRotation() const


code: virtual bool DoesAffectScale() const


code: virtual bool DoesAffectTransform() const


code: virtual bool DoesAffectTranslation() const


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


description: Serializer

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


code: FTransformConstraintDescription ( const ETransformConstraintType InType )


code: void FilterTransform ( FTransform & Input ) const


className: FTransformConstraintDescription

description: A description of how to apply a simple transform constraint

code: struct FTransformConstraintDescription : public [FConstraintDescriptionEx](API\Runtime\AnimationCore\FConstraintDescriptionEx)

TransformType

type: ETransformConst...


code: void FilterTransform ( [FEulerTransform](API\Runtime\AnimationCore\FEulerTransform) & Input ) const


className: FTransformFilter

description: A filter for a whole transform

code: struct FTransformFilter


description: Convert from an FTransform

code: void FromFTransform ( const FTransform & InTransform )


className: FTransformNoScale::operator FTransform

code: operator FTransform() const


code: static const [FTransformNoScale](API\Runtime\AnimationCore\FTransformNoScale) Identity;


description: Convert to an FTransform

code: FTransform ToFTransform() const


code: [FTransformNoScale](API\Runtime\AnimationCore\FTransformNoScale) & operator= ( const FTransform & InTransform )


code: FTransformNoScale ( const FTransform & InTransform )


code: FTransformNoScale ( const FVector & InLocation, const FQuat & InRotation )


className: FTransformNoScale

code: struct FTransformNoScale

Location

type: FVector

description: The translation of this transform

Rotation

description: The rotation of this transform


className: TBaseStructure< FEulerTransform >::Get

code: static UScriptStruct &42; Get&40;&41;


className: TBaseStructure< FEulerTransform >

code: template<> struct TBaseStructure< FEulerTransform >


code: template<typename CT> std::enable_if<!std::is_const< CT >::value, bool >::type AddBoneWeight ( [FBoneWeight](API\Runtime\AnimationCore\FBoneWeight) InBoneWeight, const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


description: Blend two bone weights together, making sure to add in every influence from both, using the given settings. The bias value should lie on the [0,1] interval. Values outside that range may give unwanted results. NOTE: The current container can also be used as an input.

code: template<typename ContainerTypeA, typename ContainerTypeB, typename CT> std::enable_if<!std::is_const< CT >::value, void >::type Blend ( const [TBoneWeights](API\Runtime\AnimationCore\TBoneWeights)< ContainerTypeA > & InBoneWeightsA, const [TBoneWeights](API\Runtime\AnimationCore\TBoneWeights)< ContainerTypeB > & InBoneWeightsB, float InBias, const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


className: ContainerType

code: typedef typename ContainerAdapter::ContainerType ContainerType


code: template<typename ContainerAdapterA, typename ContainerAdapterB, typename CT> std::enable_if<!std::is_const< CT >::value, void >::type Blend ( const [TBoneWeights](API\Runtime\AnimationCore\TBoneWeights)< ContainerAdapterA > & InBoneWeightsA, const [TBoneWeights](API\Runtime\AnimationCore\TBoneWeights)< ContainerAdapterB > & InBoneWeightsB, const float InBias, const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


code: int32 FindWeightIndexByBone ( FBoneIndexType InBoneIndex ) const


code: [FBoneWeight](API\Runtime\AnimationCore\FBoneWeight) Get ( int32 Index ) const


code: [FBoneWeight](API\Runtime\AnimationCore\FBoneWeight) operator[] ( int32 Index ) const


code: template<typename CT> std::enable_if<!std::is_const< CT >::value, bool >::type RemoveBoneWeight ( FBoneIndexType InBoneIndex, const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


code: template<typename CT> std::enable_if<!std::is_const< CT >::value, void >::type Renormalize ( const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


code: template<typename CT> std::enable_if<!std::is_const< CT >::value, void >::type SetBoneWeights ( const FBoneIndexType InBones, const uint16 InInfluences, const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


code: template<typename CT> std::enable_if<!std::is_const< CT >::value, void >::type SetBoneWeights ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FBoneWeight](API\Runtime\AnimationCore\FBoneWeight) > BoneWeights, const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


description: TBoneWeightsimplementation.

code: template<typename OtherContainerAdapter, typename CT> std::enable_if<!std::is_const< CT >::value, void >::type SetBoneWeights ( const [TBoneWeights](API\Runtime\AnimationCore\TBoneWeights)< OtherContainerAdapter > & InBoneWeights, const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


code: template<typename CT> std::enable_if<!std::is_const< CT >::value, void >::type SetBoneWeights ( const FBoneIndexType * InBones, const float * InInfluences, int32 NumEntries, const [FBoneWeightsSettings](API\Runtime\AnimationCore\FBoneWeightsSettings) & InSettings )


code: TBoneWeights ( [ContainerType](API\Runtime\AnimationCore\TBoneWeights\ContainerType) & InContainer )


className: TBoneWeights

description: A templated collection of bone weights algorithms. Requires an adapter to work with a dynamically resizable container.

code: template<typename ContainerAdapter> class TBoneWeights


code: static uint32 GetKeyHash ( [FCompactPoseBoneIndex](API\Runtime\AnimationCore\FCompactPoseBoneIndex) const & Key )


code: static [FCompactPoseBoneIndex](API\Runtime\AnimationCore\FCompactPoseBoneIndex) GetSetKey ( TPair< [FCompactPoseBoneIndex](API\Runtime\AnimationCore\FCompactPoseBoneIndex), ValueType > const & Element )


className: TCompactPoseBoneIndexMapKeyFuncs

code: template<typename ValueType> struct TCompactPoseBoneIndexMapKeyFuncs : public [TDefaultMapKeyFuncs< const FCompactPoseBoneIndex, ValueType, false >](API\Runtime\Core\Containers\TDefaultMapKeyFuncs)


code: static bool Matches ( [FCompactPoseBoneIndex](API\Runtime\AnimationCore\FCompactPoseBoneIndex) const & A, [FCompactPoseBoneIndex](API\Runtime\AnimationCore\FCompactPoseBoneIndex) const & B )


code: template<> struct TStructOpsTypeTraits< FConstraintDescriptionEx > : public [TStructOpsTypeTraitsBase2< FConstraintDescriptionEx >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


className: WithPureVirtual

code: enum &123; WithPureVirtual = true &125;


code: template<> struct TStructOpsTypeTraits< FNodeHierarchyWithUserData > : public [TStructOpsTypeTraitsBase2< FNodeHierarchyWithUserData >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


description:
Returns true if this registry contains a source with the given name
true if a source with the given name exists

code: bool ContainsSource ( const [FName](API\Runtime\Core\UObject\FName) & InName ) const


description:
Registers a new data source under a given name. Returns false in case the data source has already been registered.
true if succeeded

code: bool RegisterDataSource ( const [FName](API\Runtime\Core\UObject\FName) & InName, [UObject](API\Runtime\CoreUObject\UObject\UObject) * InDataSource )


description:
Returns a given data source and cast it to the expected class.
The requested data source

code: template<class T> T * RequestSource ( const [FName](API\Runtime\Core\UObject\FName) & InName ) const


code: [UObject](API\Runtime\CoreUObject\UObject\UObject) * RequestSource ( const [FName](API\Runtime\Core\UObject\FName) & InName, [UClass](API\Runtime\CoreUObject\UObject\UClass) * InExpectedClass ) const


description:
Unregisters / removes an existing data source under a given name. Returns false in case the data source has already been unregistered.
true if succeeded

code: bool UnregisterDataSource ( const [FName](API\Runtime\Core\UObject\FName) & InName )


className: UAnimationDataSourceRegistry

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


description: The threshold value at or above which a 0-1 normalized bone weight value will be stored as a non-zero value after scaling and quantizing to a 16-bit integer

code: namespace UE { namespace AnimationCore { static constexpr float UE::AnimationCore::BoneWeightThreshold = InvMaxRawBoneWeightFloat; } }


description: Specifies the method for which the bone weights are normalized after the bone weight list is modified.

code: namespace UE { namespace AnimationCore { enum EBoneWeightNormalizeType { None, AboveOne, Always, } } }


description: The inverse of the maximum raw weight value as a float value. Used for scaling.

code: namespace UE { namespace AnimationCore { static constexpr float UE::AnimationCore::InvMaxRawBoneWeightFloat = 1.0f / MaxRawBoneWeightFloat; } }


description: The maximum number of inline bone weights.

code: namespace UE { namespace AnimationCore { static constexpr int32 UE::AnimationCore::MaxInlineBoneWeightCount = 12; } }


description: The maximum raw weight value

code: namespace UE { namespace AnimationCore { static constexpr uint16 UE::AnimationCore::MaxRawBoneWeight = std::numeric_limits<uint16>::max(); } }


description: The maximum raw weight value as a float value

code: namespace UE { namespace AnimationCore { static constexpr float UE::AnimationCore::MaxRawBoneWeightFloat = static_cast<float>(std::numeric_limits<uint16>::max()); } }


description: FBoneWeightsimplementations.

code: namespace UE { namespace AnimationCore { static auto UE::AnimationCore::WeightSortPredicate = [](const FBoneWeight& A, const FBoneWeight& B) { return A.GetRawWeight() > B.GetRawWeight(); }; } }


module: AnimGraphRuntime

code: namespace ESequenceEvalReinit { enum Type { NoReset, StartPosition, ExplicitTime, } }


description: Called to cache any bones that this node needs to track (e.g. in aFBoneReference). This is usually called at startup when LOD switches occur. This can be called on any thread.

code: virtual void CacheBones_AnyThread ( const [FAnimationCacheBonesContext](API\Runtime\Engine\Animation\FAnimationCacheBonesContext) & Context )


description: Called to evaluate local-space bones transforms according to the weights set up in Update(). You should implement either Evaluate or EvaluateComponentSpace, but not both of these. This can be called on any thread.

code: virtual void Evaluate_AnyThread ( [FPoseContext](API\Runtime\Engine\Animation\FPoseContext) & Output )


description: Called to gather on-screen debug data. This is called on the game thread.

code: virtual void GatherDebugData ( [FNodeDebugData](API\Runtime\Engine\Animation\FNodeDebugData) & DebugData )


description: Get the LOD threshold at which this node is enabled. Node is enabled if the current LOD >= threshold.

code: virtual int32 GetLODThreshold() const


description: Get the coordinates that are currently being sampled by the blendspace.

code: virtual FVector GetPosition() const


description: Initialize function for setup purposes

code: virtual void Initialize_AnyThread ( const [FAnimationInitializeContext](API\Runtime\Engine\Animation\FAnimationInitializeContext) & Context )


description: For nodes that need some kind of initialization that is not dependent on node relevancy (i.e. it is insufficient or inefficient to use Initialize_AnyThread), return true here. Note that this is called at load on theUAnimInstanceCDO to avoid needing to call this at runtime.

code: virtual bool NeedsOnInitializeAnimInstance() const


description: Called once, from game thread as the parent anim instance is created

code: virtual void OnInitializeAnimInstance ( const [FAnimInstanceProxy](API\Runtime\Engine\Animation\FAnimInstanceProxy) * InProxy, const [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * InAnimInstance )


description: Update method for the asset player, to be implemented by derived classes

code: virtual void UpdateAssetPlayer ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


code: void UpdateFromLookAtTarget ( [FPoseContext](API\Runtime\Engine\Animation\FPoseContext) & LocalPoseContext )


description: This node uses a source transform of a socket on the skeletal mesh to automatically calculate Yaw and Pitch directions for a referenced aim offset given a point in the world to look at.

code: struct FAnimNode_AimOffsetLookAt : public [FAnimNode_BlendSpacePlayer](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_BlendSpacePlayer)

Alpha

description: Amount of this node to blend into the output pose

BasePose

type: FPoseLink

bIsLODEnabled

description: Cached flag to indicate whether LOD threshold is enabled

CurrentBlendInput

description: Cached calculated blend input

LODThreshold

description: Max LOD that this node is allowed to run For example if you have LODThreshold to be 2, it will run until LOD 2 (based on 0 index) when the component LOD becomes 3, it will stop update/evaluate currently transition would be issue and that has to be re-visited

LookAtLocation

description: Location, in world space to look at

PivotSocketBoneReference

type: FBoneReference

description: Cached reference to the pivot socket's bone

PivotSocketLocalTransform

description: Cached local transform of the pivot socket

PivotSocketName

description: Socket or bone to treat as the look at pivot (optional).

SocketAxis

description: Direction in the socket transform to consider the 'forward' or look at axis

SocketBoneReference

description: Cached reference to the source socket's bone

SocketLocalTransform

description: Cached local transform of the source socket

SourceSocketName

description: Socket or bone to treat as the look at source. This will then be pointed at LookAtLocation


description: Called to update the state of the graph relative to this node. Generally this should configure any weights (etc.) that could affect the poses that will need to be evaluated. This function is what usually executes EvaluateGraphExposedInputs. This can be called on any thread.

code: virtual void Update_AnyThread ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


code: struct FAnimNode_ApplyAdditive : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)

AlphaBoolBlend

type: FInputAlphaBool...

AlphaInputType

type: EAnimAlphaInput...

AlphaScaleBias

type: FInputScaleBias

AlphaScaleBiasClamp

type: FInputScaleBias...


description: Called when the node first runs. If the node is inside a state machine or cached pose branch then this can be called multiple times. This can be called on any thread.


code: struct FAnimNode_BlendBoneByChannel : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)

BoneDefinitions

type: TArray<FBlendB...

TransformsSpace

type: TEnumAsByte< EB...

description: Space to convert transforms into prior to copying channels


className: FBlendData

description: Struct for tracking blends for each pose.

code: struct FBlendData

Blend

type: FAlphaBlend


code: virtual int32 GetActiveChildIndex()


description: Get the blend profile to use when blending, if any.

code: [UBlendProfile](API\Runtime\Engine\Animation\UBlendProfile) * GetBlendProfile() const


description: Get the array of blend times to apply to our input poses.

code: const [TArray](API\Runtime\Core\Containers\TArray)< float > & GetBlendTimes() const


description: Get the blend type we will use when blending.

code: EAlphaBlendOption GetBlendType() const


description: Get the custom blend curve to apply when blending, if any.

code: [UCurveFloat](API\Runtime\Engine\Curves\UCurveFloat) * GetCustomBlendCurve() const


code: virtual [FString](API\Runtime\Core\Containers\FString) GetNodeName ( [FNodeDebugData](API\Runtime\Engine\Animation\FNodeDebugData) & DebugData )


description: Get whether to reinitialize the child pose when re-activated. For example, when active child changes

code: bool GetResetChildOnActivation() const


description: Get the type of transition that this blend list will make.


code: virtual void RemovePose ( int32 PoseIndex )


description: Blend list node; has many children.

code: struct FAnimNode_BlendListBase : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)

BlendPose

type: TArray<FPoseLi...

bResetChildOnActivation

description: This reinitializes the re-activated child if the child's weight was zero.

PerBlendData

type: TArray<FBlendD...

PerBoneSampleData

type: TArray<FBlendS...

description: Per-bone blending data, allocated when using blend profiles.


description: Get which input should be connected to the output.

code: bool GetActiveValue() const


description: This node is effectively a 'branch', picking one of two input poses based on an input Boolean value.

code: struct FAnimNode_BlendListByBool : public [FAnimNode_BlendListBase](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_BlendListBase)


description: Get the currently selected pose (as an enum value)

code: uint8 GetActiveEnumValue() const


description: Get the mapping from enum value to BlendPose index; there will be one entry per entry in the enum; entries out of range always map to pose index 0.

code: const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & GetEnumToPoseIndex() const


description: Set the mapping from enum value to BlendPose index. Called during compilation.

code: void SetEnumToPoseIndex ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & InEnumToPoseIndex )


description: Blend List by Enum, it changes based on enum input that enters.

code: struct FAnimNode_BlendListByEnum : public [FAnimNode_BlendListBase](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_BlendListBase)


description: Get the currently active child index.


description: Blend list node; has many children.

code: struct FAnimNode_BlendListByInt : public [FAnimNode_BlendListBase](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_BlendListBase)


description: Called to gather on-screen debug data. This is called on the game thread.

code: virtual void GatherDebugData ( [FNodeDebugData](API\Runtime\Engine\Animation\FNodeDebugData) & DebugData )


description: Get the play rate multiplier. Can be negative, which will cause the animation to play in reverse.

code: virtual float GetPlayRate() const


description: Indicates if we are an evaluator - i.e. will be setting the time explicitly rather than letting it play out.

code: virtual bool IsEvaluator() const


description: An evaluator will be setting the play rate to zero and setting the time explicitly. ShouldTeleportToTime indicates whether we should jump to that time, or move to it playing out root motion and events etc.

code: virtual bool ShouldTeleportToTime() const


description: Update method for the asset player, to be implemented by derived classes

code: virtual void UpdateAssetPlayer ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


description: the sync group that this blendspace uses


description: Evaluates a point in a blendspace, using a specific time input rather than advancing time internally. Typically the playback position of the animation for this node will represent something other than time, like jump height.

code: struct FAnimNode_BlendSpaceEvaluator : public [FAnimNode_BlendSpacePlayer](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_BlendSpacePlayer)

bTeleportToNormalizedTime

description: If true, teleport to normalized time, does NOT advance time (does not trigger notifies, does not extract Root Motion, etc.) If false, will advance time (will trigger notifies, extract root motion if applicable, etc).

NormalizedTime

description: Normalized time between [0,1].


description: Allows multiple animations to be blended between based on input parameters.

code: struct FAnimNode_BlendSpaceGraph : public [FAnimNode_BlendSpaceGraphBase](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_BlendSpaceGraphBase)


description: Called to cache any bones that this node needs to track (e.g. in aFBoneReference). This is usually called at startup when LOD switches occur. This can be called on any thread.

code: virtual void CacheBones_AnyThread ( const [FAnimationCacheBonesContext](API\Runtime\Engine\Animation\FAnimationCacheBonesContext) & Context )


description: Called to evaluate local-space bones transforms according to the weights set up in Update(). You should implement either Evaluate or EvaluateComponentSpace, but not both of these. This can be called on any thread.

code: virtual void Evaluate_AnyThread ( [FPoseContext](API\Runtime\Engine\Animation\FPoseContext) & Output )


description: the blendspace that this node uses

code: const [UBlendSpace](API\Runtime\Engine\Animation\UBlendSpace) * GetBlendSpace() const


description: the current sample coordinates that this node is using to sample the blendspace

code: FVector GetPosition() const


description: Called when the node first runs. If the node is inside a state machine or cached pose branch then this can be called multiple times. This can be called on any thread.

code: virtual void Initialize_AnyThread ( const [FAnimationInitializeContext](API\Runtime\Engine\Animation\FAnimationInitializeContext) & Context )


description: Set the node to preview a supplied sample value.

code: void SetPreviewPosition ( FVector InVector )


description: Forces the Position to the specified value.

code: void SnapToPosition ( const FVector & NewPosition )


description: Internal update handler, skipping evaluation of exposed inputs.

code: void UpdateInternal ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


description: Called to update the state of the graph relative to this node. Generally this should configure any weights (etc.) that could affect the poses that will need to be evaluated. This function is what usually executes EvaluateGraphExposedInputs. This can be called on any thread.

code: virtual void Update_AnyThread ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


code: struct FAnimNode_BlendSpaceGraphBase : public [FAnimNode_Base](API\Runtime\Engine\Animation\FAnimNode_Base)

BlendFilter

type: FBlendFilter

description: FIR filter applied to inputs.

BlendSampleDataCache

description: Cache of sampled data, updated each frame.

BlendSpace

type: TObjectPtr< con...

description: The internal blendspace asset to play.

bUsePreviewPosition

description: Whether to use the preview blend params.

CachedTriangulationIndex

description: Previous position in the triangulation/segmentation

GroupName

type: FName

description: The group name that we synchronize with. All nodes employing sync beyond this in the anim graph will implicitly use this sync group.

GroupRole

type: TEnumAsByte<EA...

description: The role this player can assume within the group.

PreviewPosition

description: Preview blend params - set in editor only.

SamplePoseLinks

description: Pose links for each sample in the blendspace.

X

description: The X coordinate to sample in the blendspace.

Y

description: The Y coordinate to sample in the blendspace.


description: Get the sync group method we are using.

code: virtual EAnimSyncMethod GetGroupMethod() const


description: Get the blendspace asset to play.

code: virtual [UBlendSpace](API\Runtime\Engine\Animation\UBlendSpace) * GetBlendSpace() const


description: Get the sync group name we are using.

code: virtual [FName](API\Runtime\Core\UObject\FName) GetGroupName() const


description: Get the sync group role we are using.

code: virtual [EAnimGroupRole::Type](API\Runtime\Engine\Animation\EAnimGroupRole__Type) GetGroupRole() const


description: Check whether this node should be ignored when testing for relevancy in state machines.

code: virtual bool GetIgnoreForRelevancyTest() const


description: the current sample coordinates after going through the filtering

code: FVector GetFilteredPosition() const


description: Get the play rate multiplier. Can be negative, which will cause the animation to play in reverse.

code: virtual float GetPlayRate() const


description: The start position in [0, 1] to use when initializing. When looping, play will still jump back to the beginning when reaching the end.

code: virtual float GetStartPosition() const


description: Get the coordinates that are currently being sampled by the blendspace.

code: virtual FVector GetPosition() const


description: Set the blendspace asset to play.

code: virtual bool SetBlendSpace ( [UBlendSpace](API\Runtime\Engine\Animation\UBlendSpace) * InBlendSpace )


description: Does this asset player loop back to the start when it reaches the end?

code: virtual bool IsLooping() const


description: Set the sync group method we are using.

code: virtual bool SetGroupMethod ( EAnimSyncMethod InMethod )


description: Set the sync group name we are using.

code: virtual bool SetGroupName ( [FName](API\Runtime\Core\UObject\FName) InGroupName )


description: Set the sync group role we are using.

code: virtual bool SetGroupRole ( [EAnimGroupRole::Type](API\Runtime\Engine\Animation\EAnimGroupRole__Type) InRole )


description: Set the play rate multiplier. Can be negative, which will cause the animation to play in reverse.

code: virtual bool SetPlayRate ( float InPlayRate )


description: Set whether this node should be ignored when testing for relevancy in state machines.

code: virtual bool SetIgnoreForRelevancyTest ( bool bInIgnoreForRelevancyTest )


description: Set if the animation should loop back to the start when it reaches the end?

code: virtual bool SetLoop ( bool bInLoop )


description: Set the coordinates that are currently being sampled by the blendspace.

code: virtual bool SetPosition ( FVector InPosition )


description: Set whether we should reset the current play time when the blend space changes.

code: virtual bool SetResetPlayTimeWhenBlendSpaceChanges ( bool bReset )


description: Get whether we should reset the current play time when the blend space changes.

code: virtual bool ShouldResetPlayTimeWhenBlendSpaceChanges() const


code: struct FAnimNode_BlendSpacePlayer : public [FAnimNode_BlendSpacePlayerBase](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_BlendSpacePlayerBase)


description: Called to cache any bones that this node needs to track (e.g. in aFBoneReference). This is usually called at startup when LOD switches occur. This can be called on any thread.

code: virtual void CacheBones_AnyThread ( const [FAnimationCacheBonesContext](API\Runtime\Engine\Animation\FAnimationCacheBonesContext) & Context )


description: Called to evaluate local-space bones transforms according to the weights set up in Update(). You should implement either Evaluate or EvaluateComponentSpace, but not both of these. This can be called on any thread.

code: virtual void Evaluate_AnyThread ( [FPoseContext](API\Runtime\Engine\Animation\FPoseContext) & Output )


description: Called to gather on-screen debug data. This is called on the game thread.

code: virtual void GatherDebugData ( [FNodeDebugData](API\Runtime\Engine\Animation\FNodeDebugData) & DebugData )


description: Functions to report data to getters, this is required for all asset players (but can't be pure abstract because of struct instantiation generated code).

code: virtual float GetCurrentAssetLength() const


description: Get the animation asset associated with the node, derived classes should implement this

code: virtual [UAnimationAsset](API\Runtime\Engine\Animation\UAnimationAsset) * GetAnimAsset() const


code: virtual float GetCurrentAssetTime() const


code: virtual float GetCurrentAssetTimePlayRateAdjusted() const


code: FVector GetFilteredPosition() const


description: Get the blendspace asset to play.

code: virtual [UBlendSpace](API\Runtime\Engine\Animation\UBlendSpace) * GetBlendSpace() const


description: Should the animation loop back to the start when it reaches the end?

code: virtual bool GetLoop() const


code: virtual float GetPlayRate() const


code: virtual FVector GetPosition() const


code: virtual float GetStartPosition() const


description: Get the amount of time from the end.

code: float GetTimeFromEnd ( float CurrentTime ) const


description: Initialize function for setup purposes

code: virtual void Initialize_AnyThread ( const [FAnimationInitializeContext](API\Runtime\Engine\Animation\FAnimationInitializeContext) & Context )


description: Set the blendspace asset to play.

code: virtual bool SetBlendSpace ( [UBlendSpace](API\Runtime\Engine\Animation\UBlendSpace) * InBlendSpace )


description: Indicates if we are an evaluator - i.e. will be setting the time explicitly rather than letting it play out.

code: virtual bool IsEvaluator() const


code: virtual bool SetLoop ( bool bInLoop )


code: virtual bool SetPosition ( FVector InPosition )


code: virtual bool SetPlayRate ( float InPlayRate )


code: virtual bool ShouldResetPlayTimeWhenBlendSpaceChanges() const


code: virtual bool SetResetPlayTimeWhenBlendSpaceChanges ( bool bReset )


description: An evaluator will be setting the play rate to zero and setting the time explicitly. ShouldTeleportToTime indicates whether we should jump to that time, or move to it playing out root motion and events etc.

code: virtual bool ShouldTeleportToTime() const


description: Update method for the asset player, to be implemented by derived classes

code: virtual void UpdateAssetPlayer ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


description: Forces the Position to the specified value.

code: void SnapToPosition ( const FVector & NewPosition )


code: struct FAnimNode_BlendSpacePlayerBase : public [FAnimNode_AssetPlayerBase](API\Runtime\Engine\Animation\FAnimNode_AssetPlayerBase)

BlendFilter

description: Filter used to dampen coordinate changes.

BlendSampleDataCache

description: Cache of samples used to determine blend weights.

CachedTriangulationIndex

description: Previous position in the triangulation/segmentation

PreviousBlendSpace

type: TObjectPtr<UBl...


description: Get the sync group method we are using.

code: virtual EAnimSyncMethod GetGroupMethod() const


description: Get the blendspace asset to play.

code: virtual [UBlendSpace](API\Runtime\Engine\Animation\UBlendSpace) * GetBlendSpace() const


code: void UpdateInternal ( const [FAnimationUpdateContext](API\Runtime\Engine\Animation\FAnimationUpdateContext) & Context )


description: Get the sync group name we are using.

code: virtual [FName](API\Runtime\Core\UObject\FName) GetGroupName() const


description: Check whether this node should be ignored when testing for relevancy in state machines.

code: virtual bool GetIgnoreForRelevancyTest() const


description: Get the sync group role we are using.

code: virtual [EAnimGroupRole::Type](API\Runtime\Engine\Animation\EAnimGroupRole__Type) GetGroupRole() const


description: The start position in [0, 1] to use when initializing. When looping, play will still jump back to the beginning when reaching the end.

code: virtual float GetStartPosition() const


description: Get the play rate multiplier. Can be negative, which will cause the animation to play in reverse.

code: virtual float GetPlayRate() const


description: Get the coordinates that are currently being sampled by the blendspace.

code: virtual FVector GetPosition() const


description: Set the blendspace asset to play.

code: virtual bool SetBlendSpace ( [UBlendSpace](API\Runtime\Engine\Animation\UBlendSpace) * InBlendSpace )


description: Does this asset player loop back to the start when it reaches the end?

code: virtual bool IsLooping() const


description: Set the sync group method we are using.

code: virtual bool SetGroupMethod ( EAnimSyncMethod InMethod )


description: Set the sync group name we are using.

code: virtual bool SetGroupName ( [FName](API\Runtime\Core\UObject\FName) InGroupName )


description: Set the sync group role we are using.

code: virtual bool SetGroupRole ( [EAnimGroupRole::Type](API\Runtime\Engine\Animation\EAnimGroupRole__Type) InRole )


description: Set whether this node should be ignored when testing for relevancy in state machines.

code: virtual bool SetIgnoreForRelevancyTest ( bool bInIgnoreForRelevancyTest )


description: Set if the animation should loop back to the start when it reaches the end?

code: virtual bool SetLoop ( bool bInLoop )


description: Set the play rate multiplier. Can be negative, which will cause the animation to play in reverse.

code: virtual bool SetPlayRate ( float InPlayRate )


description: Set the coordinates that are currently being sampled by the blendspace.

code: virtual bool SetPosition ( FVector InPosition )


description: Set whether we should reset the current play time when the blend space changes.

code: virtual bool SetResetPlayTimeWhenBlendSpaceChanges ( bool bReset )


description: Get whether we should reset the current play time when the blend space changes.

code: virtual bool ShouldResetPlayTimeWhenBlendSpaceChanges() const


description: Root node of a blend space sample (sink node). We dont use AnimNode_Root to let us distinguish these nodes in the property list at link time.

code: struct FAnimNode_BlendSpaceSampleResult : public [FAnimNode_Root](API\Runtime\Engine\Animation\FAnimNode_Root)


code: struct FAnimNode_BlendSpacePlayer_Standalone : public [FAnimNode_BlendSpacePlayerBase](API\Runtime\AnimGraphRuntime\AnimNodes\FAnimNode_BlendSpacePlayerBase)


description: Calls the function we hold if the callsite matches the one we have set.

code: void CallFunctionFromCallSite ( EAnimFunctionCallSite InCallSite, const [FAnimationBaseContext](API\Runtime\Engine\Animation\FAnimationBaseContext) & InContext ) const


description: Called to evaluate local-space bones transforms according to the weights set up in Update(). You should implement either Evaluate or EvaluateComponentSpace, but not both of these. This can be called on any thread.

code: virtual void Evaluate_AnyThread ( [FPoseContext](API\Runtime\Engine\Animation\FPoseContext) & Output )


description: Called to gather on-screen debug data. This is called on the game thread.

code: virtual void GatherDebugData ( [FNodeDebugData](API\Runtime\Engine\Animation\FNodeDebugData) & DebugData )


description: Get the function held on this node.

code: const [FAnimNodeFunctionRef](API\Runtime\Engine\Animation\FAnimNodeFunctionRef) & GetFunction() const


description: Called when the node first runs. If the node is inside a state machine or cached pose branch then this can be called multiple times. This can be called on any thread.

code: virtual void Initialize_AnyThread ( const [FAnimationInitializeContext](API\Runtime\Engine\Animation\FAnimationInitializeContext) & Context )