description: UAnimBoneCompressionCodecimplementation

code: virtual bool Compress ( const [FCompressibleAnimData](API\Runtime\Engine\Animation\FCompressibleAnimData) & CompressibleAnimData, [FCompressibleAnimDataResult](API\Runtime\Engine\Animation\FCompressibleAnimDataResult) & OutResult )


description: Handles Byte-swapping outgoing animation data to an array of BYTEs

module: Engine

code: virtual void ByteSwapOut ( [ICompressedAnimData](API\Runtime\Engine\Animation\ICompressedAnimData) & AnimData, [TArrayView](API\Runtime\Core\Containers\TArrayView)< uint8 > CompressedData, [FMemoryWriter](API\Runtime\Core\Serialization\FMemoryWriter) & MemoryStream ) const


description: Decompress a single bone.

code: virtual void DecompressBone ( [FAnimSequenceDecompressionContext](API\Runtime\Engine\Animation\FAnimSequenceDecompressionContex-) & DecompContext, int32 TrackIndex, FTransform & OutAtom ) const


description: Decompresses all the specified bone tracks. The caller is responsible for pre-filling the output pose with sensible values (e.g. reference/bind/additive identity pose) as the codec will only decompress and write out tracks that are contained in the compressed data.

code: virtual void DecompressPose ( [FAnimSequenceDecompressionContext](API\Runtime\Engine\Animation\FAnimSequenceDecompressionContex-) & DecompContext, const BoneTrackArray & RotationPairs, const BoneTrackArray & TranslationPairs, const BoneTrackArray & ScalePairs, [TArrayView](API\Runtime\Core\Containers\TArrayView)< FTransform > & OutAtoms ) const


description:
Implemented by child classes, this function reduces the number of keyframes in the specified sequence, given the specified skeleton (if needed).
true if the keyframe reduction was successful.

code: virtual bool DoReduction ( const [FCompressibleAnimData](API\Runtime\Engine\Animation\FCompressibleAnimData) & CompressibleAnimData, [FCompressibleAnimDataResult](API\Runtime\Engine\Animation\FCompressibleAnimDataResult) & OutResult )


description: Common compression utility to retain only intermittent animation keys. For example, calling with an Interval of 3 would keep every third key in the set and discard the rest

code: static void FilterIntermittentKeys ( [TArray](API\Runtime\Core\Containers\TArray)< struct [FTranslationTrack](API\Runtime\Engine\Animation\FTranslationTrack) > & PositionTracks, [TArray](API\Runtime\Core\Containers\TArray)< struct [FRotationTrack](API\Runtime\Engine\Animation\FRotationTrack) > & RotationTracks, int32 StartIndex, int32 Interval )


description: Common compression utility to retain only intermittent position keys. For example, calling with an Interval of 3 would keep every third key in the set and discard the rest

code: static void FilterIntermittentPositionKeys ( [TArray](API\Runtime\Core\Containers\TArray)< struct [FTranslationTrack](API\Runtime\Engine\Animation\FTranslationTrack) > & PositionTracks, int32 StartIndex, int32 Interval )


code: static void FilterIntermittentPositionKeys ( struct [FTranslationTrack](API\Runtime\Engine\Animation\FTranslationTrack) & Track, int32 StartIndex, int32 Interval )


description: Common compression utility to retain only intermittent rotation keys. For example, calling with an Interval of 3 would keep every third key in the set and discard the rest

code: static void FilterIntermittentRotationKeys ( [TArray](API\Runtime\Core\Containers\TArray)< struct [FRotationTrack](API\Runtime\Engine\Animation\FRotationTrack) > & RotationTracks, int32 StartIndex, int32 Interval )


code: static void FilterIntermittentRotationKeys ( struct [FRotationTrack](API\Runtime\Engine\Animation\FRotationTrack) & Track, int32 StartIndex, int32 Interval )


description: Common compression utility to remove 'redundant' keys based on the provided delta thresholds

code: static void FilterTrivialKeys ( [TArray](API\Runtime\Core\Containers\TArray)< struct [FTranslationTrack](API\Runtime\Engine\Animation\FTranslationTrack) > & PositionTracks, [TArray](API\Runtime\Core\Containers\TArray)< struct [FRotationTrack](API\Runtime\Engine\Animation\FRotationTrack) > & RotationTracks, [TArray](API\Runtime\Core\Containers\TArray)< struct [FScaleTrack](API\Runtime\Engine\Animation\FScaleTrack) > & ScaleTracks, float MaxPosDelta, float MaxRotDelta, float MaxScaleDelta )


description: Common compression utility to remove 'redundant' position keys based on the provided delta threshold

code: static void FilterTrivialPositionKeys ( [TArray](API\Runtime\Core\Containers\TArray)< struct [FTranslationTrack](API\Runtime\Engine\Animation\FTranslationTrack) > & Track, float MaxPosDelta )


description: Common compression utility to remove 'redundant' position keys in a single track based on the provided delta threshold

code: static void FilterTrivialPositionKeys ( struct [FTranslationTrack](API\Runtime\Engine\Animation\FTranslationTrack) & Track, float MaxPosDelta )


description: Common compression utility to remove 'redundant' rotation keys in a set of tracks based on the provided delta threshold

code: static void FilterTrivialRotationKeys ( [TArray](API\Runtime\Core\Containers\TArray)< struct [FRotationTrack](API\Runtime\Engine\Animation\FRotationTrack) > & InputTracks, float MaxRotDelta )


description: Common compression utility to remove 'redundant' Scale keys based on the provided delta threshold

code: static void FilterTrivialScaleKeys ( [TArray](API\Runtime\Core\Containers\TArray)< struct [FScaleTrack](API\Runtime\Engine\Animation\FScaleTrack) > & Track, float MaxScaleDelta )


code: static void FilterTrivialRotationKeys ( struct [FRotationTrack](API\Runtime\Engine\Animation\FRotationTrack) & Track, float MaxRotDelta )


description: Common compression utility to remove 'redundant' Scale keys in a single track based on the provided delta threshold

code: static void FilterTrivialScaleKeys ( struct [FScaleTrack](API\Runtime\Engine\Animation\FScaleTrack) & Track, float MaxScaleDelta )


description: Utility function to append a packed FQuat to a byte stream.

code: static void PackQuaternionToStream ( [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & ByteStream, AnimationCompressionFormat Format, const FQuat4f & Quat, const float * Mins, const float * Ranges )


description: Utility function to append a packed FVector to a byte stream.

code: static void PackVectorToStream ( [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & ByteStream, AnimationCompressionFormat Format, const FVector3f & Vec, const float * Mins, const float * Ranges )


description: Pads a byte stream to force a particular alignment for the data to follow.

code: static void PadByteStream ( [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & ByteStream, const int32 Alignment, uint8 Sentinel )


description: Called to generate a unique DDC key for this codec instance and input anim sequence and TargetPlatform A suitable key should be generated from: the InstanceGuid, a codec version, and all relevant properties that drive the behavior.

code: virtual void PopulateDDCKey ( const [UE::Anim::Compression::FAnimDDCKeyArgs](API\Runtime\Engine\Animation\FAnimDDCKeyArgs) & KeyArgs, [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


description: Deprecated* PopulateDDCKeyArchive has been deprecated

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


description: Common compression utility to walk an array of rotation tracks and enforce that all adjacent rotation keys are represented by shortest-arc quaternion pairs.

code: static void PrecalculateShortestQuaternionRoutes ( [TArray](API\Runtime\Core\Containers\TArray)< struct [FRotationTrack](API\Runtime\Engine\Animation\FRotationTrack) > & RotationData )


description: Utility function to append data to a byte stream.

code: static void UnalignedWriteToStream ( [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & ByteStream, const void * Src, SIZE_T Len )


description: Common compression utility to populate individual rotation and translation track arrays from a set of raw animation tracks. Used as a precurser to animation compression.

code: static void SeparateRawDataIntoTracks ( const [TArray](API\Runtime\Core\Containers\TArray)< struct [FRawAnimSequenceTrack](API\Runtime\Engine\Animation\FRawAnimSequenceTrack) > & RawAnimData, float SequenceLength, [TArray](API\Runtime\Core\Containers\TArray)< struct [FTranslationTrack](API\Runtime\Engine\Animation\FTranslationTrack) > & OutTranslationData, [TArray](API\Runtime\Core\Containers\TArray)< struct [FRotationTrack](API\Runtime\Engine\Animation\FRotationTrack) > & OutRotationData, [TArray](API\Runtime\Core\Containers\TArray)< struct [FScaleTrack](API\Runtime\Engine\Animation\FScaleTrack) > & OutScaleData )


description: Utility function to write data to a byte stream.

code: static void UnalignedWriteToStream ( [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & ByteStream, int32 & StreamOffset, const void * Src, SIZE_T Len )


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


className: UAnimCompress

code: class UAnimCompress : public [UAnimBoneCompressionCodec](API\Runtime\Engine\Animation\UAnimBoneCompressionCodec)

bNeedsSkeleton

type: uint32: 1

description: Compression algorithms requiring a skeleton should set this value to true.

RotationCompressionFormat

type: TEnumAsByte< An...

description: Format for bitwise compression of rotation data.

ScaleCompressionFormat

description: Format for bitwise compression of scale data.

TranslationCompressionFormat

description: Format for bitwise compression of translation data.


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


description:
Implemented by child classes, this function reduces the number of keyframes in the specified sequence, given the specified skeleton (if needed).
true if the keyframe reduction was successful.

code: virtual bool DoReduction ( const [FCompressibleAnimData](API\Runtime\Engine\Animation\FCompressibleAnimData) & CompressibleAnimData, [FCompressibleAnimDataResult](API\Runtime\Engine\Animation\FCompressibleAnimDataResult) & OutResult )


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


description: Reverts any animation compression, restoring the animation to the raw data.

code: class UAnimCompress_LeastDestructive : public [UAnimCompress_BitwiseCompressOnly](API\Runtime\Engine\Animation\UAnimCompress_BitwiseCompressOnl-)


description: Bitwise animation compression only; performs no key reduction.

code: class UAnimCompress_BitwiseCompressOnly : public [UAnimCompress](API\Runtime\Engine\Animation\UAnimCompress)


description: Compresses the tracks passed in using the underlying compressor for this key removal codec

code: virtual void CompressUsingUnderlyingCompressor ( const [FCompressibleAnimData](API\Runtime\Engine\Animation\FCompressibleAnimData) & CompressibleAnimData, [FCompressibleAnimDataResult](API\Runtime\Engine\Animation\FCompressibleAnimDataResult) & OutCompressedData, const [TArray](API\Runtime\Core\Containers\TArray)< [FTranslationTrack](API\Runtime\Engine\Animation\FTranslationTrack) > & TranslationData, const [TArray](API\Runtime\Core\Containers\TArray)< [FRotationTrack](API\Runtime\Engine\Animation\FRotationTrack) > & RotationData, const [TArray](API\Runtime\Core\Containers\TArray)< [FScaleTrack](API\Runtime\Engine\Animation\FScaleTrack) > & ScaleData, const bool bFinalPass )


description: Decompress a single bone.

code: virtual void DecompressBone ( [FAnimSequenceDecompressionContext](API\Runtime\Engine\Animation\FAnimSequenceDecompressionContex-) & DecompContext, int32 TrackIndex, FTransform & OutAtom ) const


description: Pre-filters the tracks before running the main key removal algorithm

code: virtual void * FilterBeforeMainKeyRemoval ( const [FCompressibleAnimData](API\Runtime\Engine\Animation\FCompressibleAnimData) & CompressibleAnimData, [TArray](API\Runtime\Core\Containers\TArray)< [FTranslationTrack](API\Runtime\Engine\Animation\FTranslationTrack) > & TranslationData, [TArray](API\Runtime\Core\Containers\TArray)< [FRotationTrack](API\Runtime\Engine\Animation\FRotationTrack) > & RotationData, [TArray](API\Runtime\Core\Containers\TArray)< [FScaleTrack](API\Runtime\Engine\Animation\FScaleTrack) > & ScaleData )


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

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


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


code: virtual void PopulateDDCKey ( const [UE::Anim::Compression::FAnimDDCKeyArgs](API\Runtime\Engine\Animation\FAnimDDCKeyArgs) & KeyArgs, [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


description: Keyframe reduction algorithm that removes keys which are linear interpolations of surrounding keys, as well as choosing the best bitwise compression for each track independently.

code: class UAnimCompress_PerTrackCompression : public [UAnimCompress_RemoveLinearKeys](API\Runtime\Engine\Animation\UAnimCompress_RemoveLinearKeys)

AllowedRotationFormats

type: TArray<TEnumAs...

description: Which encoding formats is the per-track compressor allowed to try on rotation keys

AllowedScaleFormats

description: Which encoding formats is the per-track compressor allowed to try on scale keys

AllowedTranslationFormats

description: Which encoding formats is the per-track compressor allowed to try on translation keys

bResampleAnimation

description: If true, resample the animation to ResampleFramerate frames per second

bUseAdaptiveError

description: If true, adjust the error thresholds based on the 'height' within the skeleton

description: If true, the adaptive error system will determine how much error to allow for each track, based on the error introduced in end effectors due to errors in the track.

bUseOverrideForEndEffectors

description: If true, uses MinEffectorDiff as the threhsold for end effectors

MaxAngleDiffBitwise

type: float

description: Maximum angle difference to use when testing if an animation key may be removed.

MaxErrorPerTrackRatio

description: A fraction that determines how much of the total error budget can be introduced by any particular track

MaxPosDiffBitwise

description: Maximum position difference to use when testing if an animation key may be removed.

MaxZeroingThreshold

description: Maximum threshold to use when replacing a component with zero.

MinKeysForResampling

description: Animations with fewer keys than MinKeysForResampling will not be resampled.

ParentingDivisor

description: Reduces the error tolerance the further up the tree that a key occurs EffectiveErrorTolerance = Max(BaseErrorTolerance / Power(ParentingDivisor, Max(Height+Bias,0) * ParentingDivisorExponent), ZeroingThreshold) Only has an effect bUseAdaptiveError is true

PerturbationProbeSize

description: How big of a perturbation should be made when probing error propagation

ResampledFramerate

description: When bResampleAnimation is true, this defines the desired framerate

RotationErrorSourceRatio

description: This ratio determines how much error in end effector rotation can come from a given track's rotation error or translation error.

ScaleErrorSourceRatio

description: This ratio determines how much error in end effector scale can come from a given track's rotation error or scale error.

TrackHeightBias

description: A bias added to the track height before using it to calculate the adaptive error

TranslationErrorSourceRatio

description: This ratio determines how much error in end effector translation can come from a given track's rotation error or translation error.


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


description: Keyframe reduction algorithm that simply removes every second key.

code: class UAnimCompress_RemoveEverySecondKey : public [UAnimCompress](API\Runtime\Engine\Animation\UAnimCompress)

bStartAtSecondKey

description: If bStartAtSecondKey is true, remove keys 1,3,5,etc.

MinKeys

description: Animations with fewer than MinKeys will not lose any keys.


description: If the passed in animation sequence is additive, converts it to absolute (using the frame 0 pose) and returns true (indicating it should be converted back to relative later with ConvertToRelativeSpace)

code: void ConvertFromRelativeSpace ( [FCompressibleAnimData](API\Runtime\Engine\Animation\FCompressibleAnimData) & CompressibleAnimData )


description: Converts an absolute animation sequence and matching track data to a relative (additive) one.

code: void ConvertToRelativeSpaceBoth ( [FCompressibleAnimData](API\Runtime\Engine\Animation\FCompressibleAnimData) & CompressibleAnimData, [TArray](API\Runtime\Core\Containers\TArray)< [FTranslationTrack](API\Runtime\Engine\Animation\FTranslationTrack) > & TranslationData, [TArray](API\Runtime\Core\Containers\TArray)< [FRotationTrack](API\Runtime\Engine\Animation\FRotationTrack) > & RotationData, [TArray](API\Runtime\Core\Containers\TArray)< [FScaleTrack](API\Runtime\Engine\Animation\FScaleTrack) > & ScaleData )


description: Converts an absolute animation sequence to a relative (additive) one.

code: void ConvertToRelativeSpace ( [FCompressibleAnimData](API\Runtime\Engine\Animation\FCompressibleAnimData) & CompressibleAnimData ) const


description: Converts track data to relative (additive) space.

code: void ConvertToRelativeSpace ( const [FCompressibleAnimData](API\Runtime\Engine\Animation\FCompressibleAnimData) & CompressibleAnimData, [TArray](API\Runtime\Core\Containers\TArray)< [FTranslationTrack](API\Runtime\Engine\Animation\FTranslationTrack) > & TranslationData, [TArray](API\Runtime\Core\Containers\TArray)< [FRotationTrack](API\Runtime\Engine\Animation\FRotationTrack) > & RotationData, [TArray](API\Runtime\Core\Containers\TArray)< [FScaleTrack](API\Runtime\Engine\Animation\FScaleTrack) > & ScaleData ) const


description:
Implemented by child classes, this function reduces the number of keyframes in the specified sequence, given the specified skeleton (if needed).
true if the keyframe reduction was successful.

code: virtual bool DoReduction ( const [FCompressibleAnimData](API\Runtime\Engine\Animation\FCompressibleAnimData) & CompressibleAnimData, [FCompressibleAnimDataResult](API\Runtime\Engine\Animation\FCompressibleAnimDataResult) & OutResult )


description: Creates a list of the bone atom result for every frame of a given track

code: static void UpdateBoneAtomList ( const [FCompressibleAnimData](API\Runtime\Engine\Animation\FCompressibleAnimData) & CompressibleAnimData, [FCompressibleAnimDataResult](API\Runtime\Engine\Animation\FCompressibleAnimDataResult) & OutCompressedData, int32 BoneIndex, int32 TrackIndex, int32 NumFrames, float TimePerFrame, [TArray](API\Runtime\Core\Containers\TArray)< FTransform > & BoneAtoms )


description:
Locates spans of keys within the position and rotation tracks provided which can be estimated through linear interpolation of the surrounding keys. The remaining key values are bit packed into the animation sequence provided
None.

code: void ProcessAnimationTracks ( const [FCompressibleAnimData](API\Runtime\Engine\Animation\FCompressibleAnimData) & CompressibleAnimData, [FCompressibleAnimDataResult](API\Runtime\Engine\Animation\FCompressibleAnimDataResult) & OutCompressedData, [TArray](API\Runtime\Core\Containers\TArray)< [FTranslationTrack](API\Runtime\Engine\Animation\FTranslationTrack) > & PositionTracks, [TArray](API\Runtime\Core\Containers\TArray)< [FRotationTrack](API\Runtime\Engine\Animation\FRotationTrack) > & RotationTracks, [TArray](API\Runtime\Core\Containers\TArray)< [FScaleTrack](API\Runtime\Engine\Animation\FScaleTrack) > & ScaleTracks )


description: Updates the world bone transforms for a range of bone indices

code: void UpdateWorldBoneTransformRange ( const [FCompressibleAnimData](API\Runtime\Engine\Animation\FCompressibleAnimData) & CompressibleAnimData, [FCompressibleAnimDataResult](API\Runtime\Engine\Animation\FCompressibleAnimDataResult) & OutCompressedData, const [TArray](API\Runtime\Core\Containers\TArray)< FTransform > & RefPose, const [TArray](API\Runtime\Core\Containers\TArray)< [FTranslationTrack](API\Runtime\Engine\Animation\FTranslationTrack) > & PositionTracks, const [TArray](API\Runtime\Core\Containers\TArray)< [FRotationTrack](API\Runtime\Engine\Animation\FRotationTrack) > & RotationTracks, const [TArray](API\Runtime\Core\Containers\TArray)< [FScaleTrack](API\Runtime\Engine\Animation\FScaleTrack) > & ScaleTracks, int32 StartingBoneIndex, int32 EndingBoneIndex, bool UseRaw, [TArray](API\Runtime\Core\Containers\TArray)< FTransform > & OutputWorldBones )


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


description: To guide the key removal process, we need to maintain a table of world transforms for the bones we are investigating. This helper function fills a row of the table for a specified bone.

code: void UpdateWorldBoneTransformTable ( const [FCompressibleAnimData](API\Runtime\Engine\Animation\FCompressibleAnimData) & CompressibleAnimData, [FCompressibleAnimDataResult](API\Runtime\Engine\Animation\FCompressibleAnimDataResult) & OutCompressedData, const [TArray](API\Runtime\Core\Containers\TArray)< FTransform > & RefPose, int32 BoneIndex, bool UseRaw, [TArray](API\Runtime\Core\Containers\TArray)< FTransform > & OutputWorldBones )


description: Keyframe reduction algorithm that simply removes keys which are linear interpolations of surrounding keys.

code: class UAnimCompress_RemoveLinearKeys : public [UAnimCompress](API\Runtime\Engine\Animation\UAnimCompress)

bActuallyFilterLinearKeys

description: Controls whether the final filtering step will occur, or only the retargetting after bitwise compression.

bRetarget

description: True = As the animation is compressed, adjust animated nodes to compensate for compression error.

EffectorDiffSocket

description: Error threshold for End Effectors with Sockets attached to them.

MaxAngleDiff

description: Maximum angle difference to use when testing if an animation key may be removed.

MaxEffectorDiff

description: As keys are tested for removal, we monitor the effects all the way down to the end effectors.

MaxPosDiff

description: Maximum position difference to use when testing if an animation key may be removed.

MaxScaleDiff

description: Maximum Scale difference to use when testing if an animation key may be removed.

ParentKeyScale

description: A scale value which increases the likelihood that a bone will retain a key if it's parent also had a key at the same time position.


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


description: Removes trivial frames  frames of tracks when position or orientation is constant over the entire animation  from the raw animation data. If both position and rotation go down to a single frame, the time is stripped out as well.

code: class UAnimCompress_RemoveTrivialKeys : public [UAnimCompress](API\Runtime\Engine\Animation\UAnimCompress)


description: Compresses the curve data from an animation sequence.

code: virtual bool Compress ( const [FCompressibleAnimData](API\Runtime\Engine\Animation\FCompressibleAnimData) & AnimSeq, [FAnimCurveCompressionResult](API\Runtime\Engine\Animation\FAnimCurveCompressionResult) & OutResult )


description: Decompress a single curve. Note: Codecs shouldNOTrely on any member properties during decompression. Decompression behavior should entirely be driven by code and the compressed data.

code: virtual float DecompressCurve ( const [FCompressedAnimSequence](API\Runtime\Engine\Animation\FCompressedAnimSequence) & AnimSeq, [FName](API\Runtime\Core\UObject\FName) CurveName, float CurrentTime ) const


description: Deprecated* Please use DecompressCurve that takes anFName.

code: virtual float DecompressCurve ( const [FCompressedAnimSequence](API\Runtime\Engine\Animation\FCompressedAnimSequence) & AnimSeq, [SmartName::UID_Type](API\Runtime\Engine\UID_Type) CurveUID, float CurrentTime ) const


description: Decompresses all the active blended curves. Note: Codecs shouldNOTrely on any member properties during decompression. Decompression behavior should entirely be driven by code and the compressed data.

code: virtual void DecompressCurves ( const [FCompressedAnimSequence](API\Runtime\Engine\Animation\FCompressedAnimSequence) & AnimSeq, [FBlendedCurve](API\Runtime\Engine\Animation\FBlendedCurve) & Curves, float CurrentTime ) const


description: Returns whether or not we can use this codec to compress.

code: virtual bool IsCodecValid() const


description: Allow us to convert DDC serialized path back into codec object

code: virtual [UAnimCurveCompressionCodec](API\Runtime\Engine\Animation\UAnimCurveCompressionCodec) * GetCodec ( const [FString](API\Runtime\Core\Containers\FString) & Path )


description: Called to generate a unique DDC key for this codec instance. A suitable key should be generated from: the InstanceGuid, a codec version, and all relevant properties that drive the behavior.

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


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

code: virtual void PostInitProperties()


description: Called after duplication & serialization and before PostLoad. Used to e.g. make sureUStaticMesh'sUModelgets copied as well. Note: NOT called on components on actor duplication (alt-drag or copy-paste). Use PostEditImport as well to cover that case.

code: virtual void PostDuplicate ( bool bDuplicateForPIE )


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


description: Handles reading, writing, and reference collecting usingFArchive. This implementation handles allFPropertyserialization, but can be overridden for native variables.

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


className: UAnimCurveCompressionCodec

description: Base class for all curve compression codecs.

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

InstanceGuid

type: FGuid

description: A GUID that is unique to this codec instance. After creation, it never changes.


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


description: Stores the raw rich curves asFCompressedRichCurveinternally with optional key reduction and key time quantization.

code: class UAnimCurveCompressionCodec_CompressedRichCurve : public [UAnimCurveCompressionCodec](API\Runtime\Engine\Animation\UAnimCurveCompressionCodec)

ErrorSampleRate

description: Sample rate to use when measuring the curve error

MaxCurveError

description: Max error allowed when compressing the rich curves

UseAnimSequenceSampleRate

type: bool

description: Whether to use the animation sequence sample rate or an explicit value


code: bool GetCurveBufferAndSamples ( const [FCompressedAnimSequence](API\Runtime\Engine\Animation\FCompressedAnimSequence) & AnimSeq, [FName](API\Runtime\Core\UObject\FName) CurveName, const float *& OutCurveBuffer, int32 & OutSamples, float & OutSampleRate )


description: Deprecated* Please use GetCurveBufferAndSamples that takes a curve'sFName

code: bool GetCurveBufferAndSamples ( const [FCompressedAnimSequence](API\Runtime\Engine\Animation\FCompressedAnimSequence) & AnimSeq, [SmartName::UID_Type](API\Runtime\Engine\UID_Type) CurveUID, const float *& OutCurveBuffer, int32 & OutSamples, float & OutSampleRate )


code: class UAnimCurveCompressionCodec_UniformIndexable : public [UAnimCurveCompressionCodec](API\Runtime\Engine\Animation\UAnimCurveCompressionCodec)


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


description: Compresses the curve data from an animation sequence.

code: virtual bool Compress ( const [FCompressibleAnimData](API\Runtime\Engine\Animation\FCompressibleAnimData) & AnimSeq, [FAnimCurveCompressionResult](API\Runtime\Engine\Animation\FAnimCurveCompressionResult) & OutResult )


description: Decompress a single curve. Note: Codecs shouldNOTrely on any member properties during decompression. Decompression behavior should entirely be driven by code and the compressed data.

code: virtual float DecompressCurve ( const [FCompressedAnimSequence](API\Runtime\Engine\Animation\FCompressedAnimSequence) & AnimSeq, [FName](API\Runtime\Core\UObject\FName) CurveName, float CurrentTime ) const


code: virtual void DecompressCurves ( const [FCompressedAnimSequence](API\Runtime\Engine\Animation\FCompressedAnimSequence) & AnimSeq, [FBlendedCurve](API\Runtime\Engine\Animation\FBlendedCurve) & Curves, float CurrentTime ) const


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


code: class UAnimCurveCompressionCodec_UniformlySampled : public [UAnimCurveCompressionCodec](API\Runtime\Engine\Animation\UAnimCurveCompressionCodec)

SampleRate

description: Sample rate to use when uniformly sampling


description: Returns whether or not we can use these settings to compress.

code: bool AreSettingsValid() const


description: Compresses the animation curves inside the supplied sequence data. The resultant compressed data is applied to the OutCompressedData structure.

code: bool Compress ( const [FCompressibleAnimData](API\Runtime\Engine\Animation\FCompressibleAnimData) & AnimSeq, [FCompressedAnimSequence](API\Runtime\Engine\Animation\FCompressedAnimSequence) & OutCompressedData ) const


description: Allow us to convert DDC serialized path back into codec object

code: [UAnimCurveCompressionCodec](API\Runtime\Engine\Animation\UAnimCurveCompressionCodec) * GetCodec ( const [FString](API\Runtime\Core\Containers\FString) & Path )


description: Called during cooking. Must return all objects that will be Preload()ed when this is serialized at load time. Only used by the EDL.

code: virtual void GetPreloadDependencies ( [TArray](API\Runtime\Core\Containers\TArray)< [UObject](API\Runtime\CoreUObject\UObject\UObject) * > & OutDeps )


description: Generates a DDC key that takes into account the current settings and selected codec.

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


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


className: UAnimCurveCompressionSettings

description: This object is used to wrap a curve compression codec. It allows a clean integration in the editor by avoiding the need to create asset types and factory wrappers for every codec.

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

Codec

type: TObjectPtr<UAn...

description: An animation curve compression codec.


description:
Adds a curve metadata entry with the specified name
true if an entry was added, false if an entry already existed

code: virtual bool AddCurveMetaData ( [FName](API\Runtime\Core\UObject\FName) InCurveName )


description: Iterate over all curve metadata entries, calling InFunction on each

code: virtual void ForEachCurveMetaData ( const [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void([FName](API\Runtime\Core\UObject\FName), const [FCurveMetaData](API\Runtime\Engine\Animation\FCurveMetaData) &)> & InFunction ) const


description: Gathers a list of asset registry searchable tags which are name/value pairs with some type information This only needs to be implemented for asset objects

code: virtual void GetAssetRegistryTags ( [TArray](API\Runtime\Core\Containers\TArray)< [FAssetRegistryTag](API\Runtime\CoreUObject\UObject\UObject\FAssetRegistryTag) > & OutTags ) const


description:
Get the curve metadata entry with the specified name
the curve metadata, if found, otherwise nullptr

code: virtual const [FCurveMetaData](API\Runtime\Engine\Animation\FCurveMetaData) * GetCurveMetaData ( [FName](API\Runtime\Core\UObject\FName) InCurveName ) const


code: virtual [FCurveMetaData](API\Runtime\Engine\Animation\FCurveMetaData) * GetCurveMetaData ( [FName](API\Runtime\Core\UObject\FName) InCurveName )


description: Get an array of all curve metadata names

code: virtual void GetCurveMetaDataNames ( [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & OutNames ) const


description: the number of curve metadata entries

code: virtual int32 GetNumCurveMetaData() const


description: the version number for this metadata. Can be used to regenerate cached values against the metadata.

code: virtual uint16 GetVersionNumber() const


description: Refresh the indices of any linked bone references

code: virtual void RefreshBoneIndices ( [USkeleton](API\Runtime\Engine\Animation\USkeleton) * InSkeleton )


description:
Register a delegate to be called when curve metadata changes
delegate handle

code: virtual [FDelegateHandle](API\Runtime\Core\Delegates\FDelegateHandle) RegisterOnCurveMetaDataChanged ( const FSimpleMulticastDelegate::FDelegate & InOnCurveMetaDataChanged )


description:
Removes a curve metadata entry for the specified name.
true if the entry was successfully removed (i.e. it existed)

code: virtual bool RemoveCurveMetaData ( [FName](API\Runtime\Core\UObject\FName) CurveName )


description:
Removes a group of curve metadata entries for the specified names.
true if any of the entries were successfully removed (i.e. something changed)

code: virtual bool RemoveCurveMetaData ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FName](API\Runtime\Core\UObject\FName) > CurveNames )


description:
Renames a curve metadata entry. Metadata is preserved, but assigned to a different curve name.
true if the rename was successful (the old name was found and the new name didnt collide with an existing entry)

code: virtual bool RenameCurveMetaData ( [FName](API\Runtime\Core\UObject\FName) OldName, [FName](API\Runtime\Core\UObject\FName) NewName )


description: Set the bone links for a curve's metadata

code: virtual void SetCurveMetaDataBoneLinks ( [FName](API\Runtime\Core\UObject\FName) CurveName, const [TArray](API\Runtime\Core\Containers\TArray)< [FBoneReference](API\Runtime\Engine\Animation\FBoneReference) > & BoneLinks, uint8 InMaxLOD, [USkeleton](API\Runtime\Engine\Animation\USkeleton) * InSkeleton )


description: Set the material flag for a curve's metadata

code: virtual void SetCurveMetaDataMaterial ( [FName](API\Runtime\Core\UObject\FName) CurveName, bool bOverrideMaterial )


description: Unregister a delegate to be called when curve metadata changes

code: virtual void UnregisterOnCurveMetaDataChanged ( [FDelegateHandle](API\Runtime\Core\Delegates\FDelegateHandle) InHandle )


description: Deprecated* Please use AddCurveValue that takes a CurveName

code: void AddCurveValue ( const [SmartName::UID_Type](API\Runtime\Engine\UID_Type) Uid, float Value )


className: UAnimCurveMetaData

description: Asset user data used to supply curve meta data for specific assets

code: class UAnimCurveMetaData : public [UAssetUserData](API\Runtime\Engine\Engine\UAssetUserData), public [IInterface_AnimCurveMetaData](API\Runtime\Engine\Animation\IInterface_AnimCurveMetaData)


description: Set the morph target flag for a curve's metadata

code: virtual void SetCurveMetaDataMorphTarget ( [FName](API\Runtime\Core\UObject\FName) CurveName, bool bOverrideMorphTarget )


code: void AddCurveValue ( const [FSmartNameMapping](API\Runtime\Engine\Animation\FSmartNameMapping) & Mapping, const [FName](API\Runtime\Core\UObject\FName) & CurveName, float Value )


description: Add curve float data, using a curve name.

code: void AddCurveValue ( const [FName](API\Runtime\Core\UObject\FName) & CurveName, float Value, bool bMorphtarget, bool bMaterial )


description: Allows other UObjects to bind custom event notifies similarly to the AnimBP

code: void AddExternalNotifyHandler ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * ExternalHandlerObject, [FName](API\Runtime\Core\UObject\FName) NotifyEventName )


description: Sets up a native state exit delegate from state with StateName, in the state machine with name MachineName.

code: void AddNativeStateExitBinding ( const [FName](API\Runtime\Core\UObject\FName) & MachineName, const [FName](API\Runtime\Core\UObject\FName) & StateName, const FOnGraphStateChanged & NativeExitedDelegate )


description: Sets up a native state entry delegate from state with StateName, in the state machine with name MachineName.

code: void AddNativeStateEntryBinding ( const [FName](API\Runtime\Core\UObject\FName) & MachineName, const [FName](API\Runtime\Core\UObject\FName) & StateName, const FOnGraphStateChanged & NativeEnteredDelegate )


description: Sets up a native transition delegate between states with PrevStateName and NextStateName, in the state machine with name MachineName. Note that a transition already has to exist for this to succeed

code: void AddNativeTransitionBinding ( const [FName](API\Runtime\Core\UObject\FName) & MachineName, const [FName](API\Runtime\Core\UObject\FName) & PrevStateName, const [FName](API\Runtime\Core\UObject\FName) & NextStateName, const FCanTakeTransition & NativeTransitionDelegate, const [FName](API\Runtime\Core\UObject\FName) & TransitionName )


description: Add an empty pose snapshot to the internal snapshot cache (or recycle an existing pose snapshot if the name is already in use)

code: [FPoseSnapshot](API\Runtime\Engine\Animation\FPoseSnapshot) & AddPoseSnapshot ( [FName](API\Runtime\Core\UObject\FName) SnapshotName )


code: static void AddReferencedObjects ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * InThis, [FReferenceCollector](API\Runtime\CoreUObject\UObject\FReferenceCollector) & Collector )


description: Append the type of curve to the OutCurveList specified by Curve Flags

code: void AppendAnimationCurveList ( EAnimCurveType Type, [TMap](API\Runtime\Core\Containers\TMap)< [FName](API\Runtime\Core\UObject\FName), float > & InOutCurveList ) const


description: Called on the newly created CDO during anim blueprint compilation to allow subclasses a chance to replace animations (experimental)

code: virtual void ApplyAnimOverridesToCDO ( [FCompilerResultsLog](API\Editor\UnrealEd\Kismet2\FCompilerResultsLog) & MessageLog )


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

code: virtual void BeginDestroy()


description: Executed when the Animation is initialized

code: void BlueprintInitializeAnimation()


description: Executed when begin play is called on the owning component

code: void BlueprintBeginPlay()


description: Executed when the all Linked Animation Layers are initialized


description: Executed after the Animation is evaluated

code: void BlueprintPostEvaluateAnimation()


description: Executed when the Animation Blueprint is updated on a worker thread, just prior to graph update

code: void BlueprintThreadSafeUpdateAnimation ( float DeltaTime )


description: Get local weight of any montages this slot node is playing. If this slot is not currently playing a montage, it will return 0.

code: float Blueprint_GetSlotMontageLocalWeight ( [FName](API\Runtime\Core\UObject\FName) SlotNodeName ) const


description: Executed when the Animation is updated

code: void BlueprintUpdateAnimation ( float DeltaTimeX )


description: Get local weight of any montages this slot is playing. If this slot is not current playing a montage, it will return 0. This will return up to date data if called during Update or Evaluate.

code: float CalcSlotMontageLocalWeight ( const [FName](API\Runtime\Core\UObject\FName) & SlotNodeName ) const


description: Can this animation instance run Update or Evaluation work in parallel.

code: virtual bool CanRunParallelWork() const


code: bool CanTransitionSignature() const


description: Deprecated* Please useUKismetAnimationLibrary::CalculateDirectioninstead

code: float CalculateDirection ( const FVector & Velocity, const FRotator & BaseRotation ) const


description: Removes all queued transition requests

code: void ClearAllTransitionEvents()


description: Deprecated* Function renamed, please use UnlinkAnimClassLayers

code: void ClearLayerOverlay ( [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) > InClass )


description: Clears the current morph targets.

code: void ClearMorphTargets()


code: void ClearMontageInstanceReferences ( [FAnimMontageInstance](API\Runtime\Engine\Animation\FAnimMontageInstance) & InMontageInstance )


description: Removes all queued transition requests with the given event name

code: void ClearTransitionEvents ( const [FName](API\Runtime\Core\UObject\FName) EventName )


description: Copy curves from external source

code: void CopyCurveValues ( const [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) & InSourceInstance )


description: Get current accumulated root motion, removing it from the AnimInstance in the process

code: [FRootMotionMovementParams](API\Runtime\Engine\Animation\FRootMotionMovementParams) ConsumeExtractedRootMotion ( float Alpha )


description: Override point for derived classes to destroy their own proxy objects (allows custom allocation)

code: virtual void DestroyAnimInstanceProxy ( [FAnimInstanceProxy](API\Runtime\Engine\Animation\FAnimInstanceProxy) * InProxy )


description: Override point for derived classes to create their own proxy objects (allows custom allocation)

code: virtual [FAnimInstanceProxy](API\Runtime\Engine\Animation\FAnimInstanceProxy) * CreateAnimInstanceProxy()


description: Debug output for this anim instance. Info for SyncGroups, Graph, Montages, etc.

code: void DisplayDebug ( [UCanvas](API\Runtime\Engine\Engine\UCanvas) * Canvas, const [FDebugDisplayInfo](API\Runtime\Engine\FDebugDisplayInfo) & DebugDisplay, float & YL, float & YPos )


description: Display debug info about AnimInstance. Can be overridden to add custom info from child classes.

code: virtual void DisplayDebugInstance ( [FDisplayDebugManager](API\Runtime\Engine\Engine\FDisplayDebugManager) & DisplayDebugManager, float & Indent )


description: Dispatch AnimEvents (AnimNotifies, Montage Events) queued duringUpdateAnimation()

code: void DispatchQueuedAnimEvents()


description: Triggers end on active notify states and clears the array

code: void EndNotifyStates()


className: EUpdateAnimationFlag

description: Flag passed to UpdateAnimation, determines the path we follow

code: enum EUpdateAnimationFlag { ForceParallelUpdate, Default, }


description: Find a subsystem's instance-resident data. If no subsystem of the type exists this will return nullptr.

code: [FAnimSubsystemInstance](API\Runtime\Engine\Animation\FAnimSubsystemInstance) * FindSubsystem ( [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InSubsystemType )


description: Get a subsystem's instance-resident data. If no subsystem of the type exists this will return nullptr.

code: template<typename SubsystemType> SubsystemType * FindSubsystem()


description: Gather debug data from this instance proxy and the blend tree for display

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


description: This returns last up-to-date list of active curve names

code: void GetActiveCurveNames ( EAnimCurveType CurveType, [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & OutNames ) const


description: Get ActiveFAnimMontageInstancefor given Montage asset. Will return NULL if Montage is not currently Active.

code: [FAnimMontageInstance](API\Runtime\Engine\Animation\FAnimMontageInstance) * GetActiveInstanceForMontage ( const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage ) const


description: Get Currently active montage instance. Note that there might be multiple Active at the same time. This will only return the first active one it finds.

code: [FAnimMontageInstance](API\Runtime\Engine\Animation\FAnimMontageInstance) * GetActiveMontageInstance() const


description: This returns all curve names. This is the same as calling GetActiveCurveNames with CurveType == AttributeCurve

code: void GetAllCurveNames ( [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & OutNames ) const


description: Return the list of curves that are specified by type

code: const [TMap](API\Runtime\Core\Containers\TMap)< [FName](API\Runtime\Core\UObject\FName), float > & GetAnimationCurveList ( EAnimCurveType Type ) const


description: Deprecated* This function is deprecated. Use AppendAnimationCurveList instead.

code: void GetAnimationCurveList ( EAnimCurveType Type, [TMap](API\Runtime\Core\Containers\TMap)< [FName](API\Runtime\Core\UObject\FName), float > & InOutCurveList ) const


description: Get the current value of all animation curves

code: const [TMap](API\Runtime\Core\Containers\TMap)< [FName](API\Runtime\Core\UObject\FName), float > & GetAnimationCurves ( EAnimCurveType InCurveType ) const


description: Get a current Active Montage in this AnimInstance. Note that there might be multiple Active at the same time. This will only return the first active one it finds.

code: [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * GetCurrentActiveMontage() const


description: Returns the name of a currently active state in a state machine.

code: [FName](API\Runtime\Core\UObject\FName) GetCurrentStateName ( int32 MachineIndex )


description: Returns the value of a named curve.

code: float GetCurveValue ( [FName](API\Runtime\Core\UObject\FName) CurveName ) const


description: Returns value of named curved in OutValue, returns whether the curve was actually found or not.

code: bool GetCurveValue ( [FName](API\Runtime\Core\UObject\FName) CurveName, float & OutValue ) const


description: Returns whether a named curve was found, its value, and a default value when it's not found.

code: bool GetCurveValueWithDefault ( [FName](API\Runtime\Core\UObject\FName) CurveName, float DefaultValue, float & OutValue )


description: Get the current delta time

code: float GetDeltaSeconds() const


description: Get the time as a fraction of the asset length of an animation in an asset player node

code: float GetInstanceAssetPlayerTimeFromEndFraction ( int32 AssetPlayerIndex )


description: Anim getters support a number of automatic parameters that will be baked at compile time to be passed to the functions. They will not appear as pins on the graph node. They are as follows: AssetPlayerIndex -Indexof an asset player node to operate on, one getter will be added to the blueprint action list per asset node available MachineIndex -Indexof a state machine in the animation blueprint, one getter will be added to the blueprint action list per state machine StateIndex -Indexof a state inside a state machine, also requires MachineIndex. One getter will be added to the blueprint action list per state TransitionIndex -Indexof a transition inside a state machine, also requires MachineIndex. One getter will be added to the blueprint action list per transitionGets the length in seconds of the asset referenced in an asset player node

code: float GetInstanceAssetPlayerLength ( int32 AssetPlayerIndex )


description: Get the index of the specified instance asset player. Useful to pass to GetInstanceAssetPlayerLength (etc.). Passing NAME_None to InstanceName will return the first (assumed only) player instance index found.

code: int32 GetInstanceAssetPlayerIndex ( [FName](API\Runtime\Core\UObject\FName) MachineName, [FName](API\Runtime\Core\UObject\FName) StateName, [FName](API\Runtime\Core\UObject\FName) InstanceName ) const


description: Returns all Animation Nodes ofFAnimNode_AssetPlayerBaseclass within the specified (named) Animation Graph

code: [TArray](API\Runtime\Core\Containers\TArray)< const [FAnimNode_AssetPlayerBase](API\Runtime\Engine\Animation\FAnimNode_AssetPlayerBase) * > GetInstanceAssetPlayers ( const [FName](API\Runtime\Core\UObject\FName) & GraphName ) const


description: Get the current accumulated time in seconds for an asset player node

code: float GetInstanceAssetPlayerTime ( int32 AssetPlayerIndex )


description: Get the current accumulated time as a fraction for an asset player node

code: float GetInstanceAssetPlayerTimeFraction ( int32 AssetPlayerIndex )


description: Get the time in seconds from the end of an animation in an asset player node

code: float GetInstanceAssetPlayerTimeFromEnd ( int32 AssetPlayerIndex )


description: Get the current elapsed time of a state within the specified state machine

code: float GetInstanceCurrentStateElapsedTime ( int32 MachineIndex )


description: Get the blend weight of a specified state machine

code: float GetInstanceMachineWeight ( int32 MachineIndex )


description: Returns all Animation Nodes implementingFAnimNode_AssetPlayerRelevancyBasewithin the specified (named) Animation Graph

code: [TArray](API\Runtime\Core\Containers\TArray)< const [FAnimNode_AssetPlayerRelevancyBase](API\Runtime\Engine\Animation\FAnimNode_AssetPlayerRelevancyBa-) * > GetInstanceRelevantAssetPlayers ( const [FName](API\Runtime\Core\UObject\FName) & GraphName ) const


description: Get the blend weight of a specified state

code: float GetInstanceStateWeight ( int32 MachineIndex, int32 StateIndex )


description: Get the elapsed time as a fraction of the crossfade duration of a specified transition

code: float GetInstanceTransitionTimeElapsedFraction ( int32 MachineIndex, int32 TransitionIndex )


description: Get the crossfade duration of a specified transition

code: float GetInstanceTransitionCrossfadeDuration ( int32 MachineIndex, int32 TransitionIndex )


description: Get the elapsed time in seconds of a specified transition

code: float GetInstanceTransitionTimeElapsed ( int32 MachineIndex, int32 TransitionIndex )


description: Deprecated* Function renamed, please use GetLinkedAnimLayerInstanceByClass

code: [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * GetLayerSubInstanceByClass ( [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) > InClass ) const


description: Deprecated* Function renamed, please use GetLinkedAnimLayerInstanceByGroup

code: [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * GetLayerSubInstanceByGroup ( [FName](API\Runtime\Core\UObject\FName) InGroup ) const


description: Runs through all nodes, attempting to find the first linked instance by name/tag

code: [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * GetLinkedAnimGraphInstanceByTag ( [FName](API\Runtime\Core\UObject\FName) InTag ) const


description: Runs through all nodes, attempting to find all linked instances that match the name/tag

code: void GetLinkedAnimGraphInstancesByTag ( [FName](API\Runtime\Core\UObject\FName) InTag, [TArray](API\Runtime\Core\Containers\TArray)< [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * > & OutLinkedInstances ) const


description: Gets layer linked instance that matches group and class

code: [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * GetLinkedAnimLayerInstanceByGroupAndClass ( [FName](API\Runtime\Core\UObject\FName) InGroup, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) > InClass ) const


description: Gets the first layer linked instance corresponding to the specified class

code: [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * GetLinkedAnimLayerInstanceByClass ( [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) > InClass ) const


description: Gets the layer linked instance corresponding to the specified group

code: [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * GetLinkedAnimLayerInstanceByGroup ( [FName](API\Runtime\Core\UObject\FName) InGroup ) const


description: Get a linked input pose node by name, given a named graph.

code: [FAnimNode_LinkedInputPose](API\Runtime\Engine\Animation\FAnimNode_LinkedInputPose) * GetLinkedInputPoseNode ( [FName](API\Runtime\Core\UObject\FName) InSubInput, [FName](API\Runtime\Core\UObject\FName) InGraph )


description: Runs through all nodes, attempting to find all distinct layer linked instances in the group

code: void GetLinkedAnimLayerInstancesByGroup ( [FName](API\Runtime\Core\UObject\FName) InGroup, [TArray](API\Runtime\Core\Containers\TArray)< [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * > & OutLinkedInstances ) const


description:
Get the 'animation' LOD level, which by default is the PredictedLODLevel of this anim instance's skeletal mesh component. This function is used by the anim graph to determine the LOD level at which to run.
the current LOD level

code: virtual int32 GetLODLevel() const


description: Get theFAnimMontageInstancecurrently running that matches this ID. Will return NULL if no instance is found.

code: [FAnimMontageInstance](API\Runtime\Engine\Animation\FAnimMontageInstance) * GetMontageInstanceForID ( int32 MontageInstanceID )


description: Get the machine description for the specified instance. Does not rely on PRIVATE_MachineDescription being initialized

code: const [FBakedAnimationStateMachine](API\Runtime\Engine\Animation\FBakedAnimationStateMachine) * GetMachineDescription ( [IAnimClassInterface](API\Runtime\Engine\Animation\IAnimClassInterface) * AnimBlueprintClass, [FAnimNode_StateMachine](API\Runtime\Engine\Animation\FAnimNode_StateMachine) * MachineInstance )


description: Returns all Animation Nodes ofFAnimNode_AssetPlayerRelevancyBaseclass within the specified (named) Animation Graph

code: [TArray](API\Runtime\Core\Containers\TArray)< [FAnimNode_AssetPlayerRelevancyBase](API\Runtime\Engine\Animation\FAnimNode_AssetPlayerRelevancyBa-) * > GetMutableInstanceRelevantAssetPlayers ( const [FName](API\Runtime\Core\UObject\FName) & GraphName )


description: Returns the skeletal mesh component that has created this AnimInstance.

code: [USkeletalMeshComponent](API\Runtime\Engine\Components\USkeletalMeshComponent) * GetOwningComponent() const


description: Returns the owning actor of this AnimInstance

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


description: Get a cached pose snapshot by name

code: const [FPoseSnapshot](API\Runtime\Engine\Animation\FPoseSnapshot) * GetPoseSnapshot ( [FName](API\Runtime\Core\UObject\FName) SnapshotName ) const


description: Access the proxy but block if a task is currently in progress (and we are on the game thread) as it wouldn't be safe to access it

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


description: Returns all Animation Nodes ofFAnimNode_AssetPlayerBaseclass within the specified (named) Animation Graph

code: [TArray](API\Runtime\Core\Containers\TArray)< [FAnimNode_AssetPlayerBase](API\Runtime\Engine\Animation\FAnimNode_AssetPlayerBase) * > GetMutableInstanceAssetPlayers ( const [FName](API\Runtime\Core\UObject\FName) & GraphName )


description: Get whether to propagate notifies to any linked anim instances


description: Access the proxy but block if a task is currently in progress as it wouldn't be safe to access it

code: template<typename T> T & GetProxyOnGameThread()


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


code: template<typename T> T & GetProxyOnAnyThread()


description: Access the proxy but block if a task is currently in progress as it wouldn't be safe to access it This is protected static member for allowing derived to access

code: template<typename T> static T * GetProxyOnGameThreadStatic ( [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * InAnimInstance )


description: Get whether to process notifies from any linked anim instances


description: Get the length in seconds of the most relevant animation in the source state

code: float GetRelevantAnimLength ( int32 MachineIndex, int32 StateIndex )


description: Get the current accumulated time in seconds for the most relevant animation in the source state

code: float GetRelevantAnimTime ( int32 MachineIndex, int32 StateIndex )


description: Get the time remaining in seconds for the most relevant animation in the source state

code: float GetRelevantAnimTimeRemaining ( int32 MachineIndex, int32 StateIndex )


description: Get the current accumulated time as a fraction of the length of the most relevant animation in the source state

code: float GetRelevantAnimTimeFraction ( int32 MachineIndex, int32 StateIndex )


description: Get the time remaining as a fraction of the duration for the most relevant animation in the source state

code: float GetRelevantAnimTimeRemainingFraction ( int32 MachineIndex, int32 StateIndex )


description: Gets the most relevant asset player in a specified state

code: const [FAnimNode_AssetPlayerRelevancyBase](API\Runtime\Engine\Animation\FAnimNode_AssetPlayerRelevancyBa-) * GetRelevantAssetPlayerInterfaceFromState ( int32 MachineIndex, int32 StateIndex ) const


description: Access the required bones array


code: const [FAnimNode_AssetPlayerBase](API\Runtime\Engine\Animation\FAnimNode_AssetPlayerBase) * GetRelevantAssetPlayerFromState ( int32 MachineIndex, int32 StateIndex ) const


description: Access the required bones array

code: const [FBoneContainer](API\Runtime\Engine\FBoneContainer) & GetRequiredBones() const


description: Access the required bones array

code: const [FBoneContainer](API\Runtime\Engine\FBoneContainer) & GetRequiredBonesOnAnyThread() const


description: Get current RootMotionFAnimMontageInstanceif any. NULL otherwise.

code: [FAnimMontageInstance](API\Runtime\Engine\Animation\FAnimMontageInstance) * GetRootMotionMontageInstance() const


code: [USkeletalMeshComponent](API\Runtime\Engine\Components\USkeletalMeshComponent) * GetSkelMeshComponent() const


description: Get Global weight of any montages this slot node is playing. If this slot is not currently playing a montage, it will return 0.

code: float GetSlotMontageGlobalWeight ( const [FName](API\Runtime\Core\UObject\FName) & SlotNodeName ) const


description: Get local weight of any montages this slot node is playing. If this slot is not currently playing a montage, it will return 0. This is double buffered, will return last frame data if called from Update or Evaluate.

code: float GetSlotMontageLocalWeight ( const [FName](API\Runtime\Core\UObject\FName) & SlotNodeName ) const


description: Get global weight in AnimGraph for this slot node. Note: this is the weight of the node, not the weight of any potential montage it is playing.

code: float GetSlotNodeGlobalWeight ( const [FName](API\Runtime\Core\UObject\FName) & SlotNodeName ) const


description: Gets the index of the state machine matching MachineName

code: int32 GetStateMachineIndex ( [FName](API\Runtime\Core\UObject\FName) MachineName ) const


code: void GetStateMachineIndexAndDescription ( [FName](API\Runtime\Core\UObject\FName) InMachineName, int32 & OutMachineIndex, const [FBakedAnimationStateMachine](API\Runtime\Engine\Animation\FBakedAnimationStateMachine) ** OutMachineDescription )


description: Gets the runtime instance of the specified state machine

code: const [FAnimNode_StateMachine](API\Runtime\Engine\Animation\FAnimNode_StateMachine) * GetStateMachineInstance ( int32 MachineIndex ) const


description: Gets the runtime instance desc of the state machine specified by name

code: const [FBakedAnimationStateMachine](API\Runtime\Engine\Animation\FBakedAnimationStateMachine) * GetStateMachineInstanceDesc ( [FName](API\Runtime\Core\UObject\FName) MachineName ) const


description: Gets the runtime instance of the specified state machine by Name

code: const [FAnimNode_StateMachine](API\Runtime\Engine\Animation\FAnimNode_StateMachine) * GetStateMachineInstanceFromName ( [FName](API\Runtime\Core\UObject\FName) MachineName ) const


description: Deprecated* Function renamed, please use GetLinkedInputPoseNode

code: [FAnimNode_LinkedInputPose](API\Runtime\Engine\Animation\FAnimNode_LinkedInputPose) * GetSubInputNode ( [FName](API\Runtime\Core\UObject\FName) InSubInput, [FName](API\Runtime\Core\UObject\FName) InGraph )


description: Deprecated* Function renamed, please use GetLinkedAnimGraphInstanceByTag

code: [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * GetSubInstanceByTag ( [FName](API\Runtime\Core\UObject\FName) InTag ) const


description: Deprecated* Function renamed, please use GetLinkedAnimGraphInstancesByTag

code: void GetSubInstancesByTag ( [FName](API\Runtime\Core\UObject\FName) InTag, [TArray](API\Runtime\Core\Containers\TArray)< [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * > & OutSubInstances ) const


description: Get a subsystem's instance-resident data. If no subsystem of the type exists this will assert.

code: template<typename SubsystemType> SubsystemType & GetSubsystem()


description: Returns the baked sync group index from the compile step

code: int32 GetSyncGroupIndexFromName ( [FName](API\Runtime\Core\UObject\FName) SyncGroupName ) const


description: Get the sync group we are currently reading from

code: const [TMap](API\Runtime\Core\Containers\TMap)< [FName](API\Runtime\Core\UObject\FName), [FAnimGroupInstance](API\Runtime\Engine\Animation\FAnimGroupInstance) > & GetSyncGroupMapRead() const


code: [FMarkerSyncAnimPosition](API\Runtime\Engine\Animation\FMarkerSyncAnimPosition) GetSyncGroupPosition ( [FName](API\Runtime\Core\UObject\FName) InSyncGroupName ) const


code: bool GetTimeToClosestMarker ( [FName](API\Runtime\Core\UObject\FName) SyncGroup, [FName](API\Runtime\Core\UObject\FName) MarkerName, float & OutMarkerTime ) const


description: Get the ungrouped active player we are currently reading from

code: const [TArray](API\Runtime\Core\Containers\TArray)< [FAnimTickRecord](API\Runtime\Engine\Animation\FAnimTickRecord) > & GetUngroupedActivePlayersRead()


description: Access a read only version of the Updater Counter from the AnimInstanceProxy on the GameThread.

code: const [FGraphTraversalCounter](API\Runtime\Engine\Animation\FGraphTraversalCounter) & GetUpdateCounter() const


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


code: static void HandleExistingParallelEvaluationTask ( [USkeletalMeshComponent](API\Runtime\Engine\Components\USkeletalMeshComponent) * Component )


description: Implementable custom function to handle notifies

code: virtual bool HandleNotify ( const [FAnimNotifyEvent](API\Runtime\Engine\Animation\FAnimNotifyEvent) & AnimNotifyEvent )


description: Helper function to handle reinstancing in editor.

code: virtual void HandleObjectsReinstanced ( const [TMap](API\Runtime\Core\Containers\TMap)< [UObject](API\Runtime\CoreUObject\UObject\UObject) *, [UObject](API\Runtime\CoreUObject\UObject\UObject) * > & OldToNewInstanceMap )


description: Check whether we have any active curves

code: bool HasActiveCurves() const


code: bool HasMarkerBeenHitThisFrame ( [FName](API\Runtime\Core\UObject\FName) SyncGroup, [FName](API\Runtime\Core\UObject\FName) MarkerName ) const


description: Check whether we have active morph target curves

code: bool HasMorphTargetCurves() const


description: Check for whether a native entry delegate is bound to the specified state.

code: bool HasNativeStateEntryBinding ( const [FName](API\Runtime\Core\UObject\FName) & MachineName, const [FName](API\Runtime\Core\UObject\FName) & StateName, [FName](API\Runtime\Core\UObject\FName) & OutBindingName )


description: Check for whether a native exit delegate is bound to the specified state.

code: bool HasNativeStateExitBinding ( const [FName](API\Runtime\Core\UObject\FName) & MachineName, const [FName](API\Runtime\Core\UObject\FName) & StateName, [FName](API\Runtime\Core\UObject\FName) & OutBindingName )


description: Check for whether a native rule is bound to the specified transition.

code: bool HasNativeTransitionBinding ( const [FName](API\Runtime\Core\UObject\FName) & MachineName, const [FName](API\Runtime\Core\UObject\FName) & PrevStateName, const [FName](API\Runtime\Core\UObject\FName) & NextStateName, [FName](API\Runtime\Core\UObject\FName) & OutBindingName )


description: Animation phase trigger start with initialize update happens in every tick. Can happen in parallel with others if conditions are right. evaluate happens when condition is met - i.e. depending on your skeletalmeshcomponent update flag post eval happens after evaluation is done uninitialize happens when owner is unregistered

code: void InitializeAnimation ( bool bInDeferRootNodeInitialization )


description: Sets up initial layer groupings

code: void InitializeGroupedLayers ( bool bInDeferSubGraphInitialization )


description: Returns true if this anim instance is actively being debugged, false otherwise

code: bool IsBeingDebugged() const


description: Returns true if any montage is playing currently. Doesn't mean it's active though, it could be blending out.

code: bool IsAnyMontagePlaying() const


description: Return true if it's playing the slot animation

code: bool IsPlayingSlotAnimation ( const [UAnimSequenceBase](API\Runtime\Engine\Animation\UAnimSequenceBase) * Asset, [FName](API\Runtime\Core\UObject\FName) SlotNodeName ) const


description: Return true if this instance playing the slot animation, also returning the montage it is playing on

code: bool IsPlayingSlotAnimation ( const [UAnimSequenceBase](API\Runtime\Engine\Animation\UAnimSequenceBase) * Asset, [FName](API\Runtime\Core\UObject\FName) SlotNodeName, [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) *& OutMontage ) const


description: Is this animation currently running post update

code: bool IsPostUpdatingAnimation() const


code: static bool IsSkeletalMeshComponent ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object )


description: Are we being evaluated on a worker thread.


description: Return true if this instance has an active montage in the given slot. AUAnimMontagethat is playing in the slot and blending out is not determined to be "active".

code: bool IsSlotActive ( [FName](API\Runtime\Core\UObject\FName) SlotNodeName ) const


code: bool IsSyncGroupBetweenMarkers ( [FName](API\Runtime\Core\UObject\FName) InSyncGroupName, [FName](API\Runtime\Core\UObject\FName) PreviousMarker, [FName](API\Runtime\Core\UObject\FName) NextMarker, bool bRespectMarkerOrder ) const


description: Is this animation currently running update

code: bool IsUpdatingAnimation() const


description: Runs through all nodes, attempting to find a linked instance by name/tag, then sets the class of each node if the tag matches

code: void LinkAnimGraphByTag ( [FName](API\Runtime\Core\UObject\FName) InTag, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) > InClass )


description: Runs through all layer nodes, attempting to find layer nodes that are implemented by the specified class, then sets up a linked instance of the class for each. Allocates one linked instance to run each of the groups specified in the class, so state is shared. If a layer is not grouped (ie. NAME_None), then state is not shared and a separate linked instance is allocated for each layer node. If InClass is null, then all layers are reset to their defaults.

code: virtual void LinkAnimClassLayers ( [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) > InClass )


description: Locks indicated AI resources of animated pawn DEPRECATED. Use LockAIResourcesWithAnimation instead

code: void LockAIResources ( bool bLockMovement, bool LockAILogic )


code: void MakeMontageTickRecord ( [FAnimTickRecord](API\Runtime\Engine\Animation\FAnimTickRecord) & TickRecord, class [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage, float MoveDelta, float Weight, [TArray](API\Runtime\Core\Containers\TArray)< [FPassedMarker](API\Runtime\Engine\Animation\FPassedMarker) > & MarkersPassedThisTick, [FMarkerTickRecord](API\Runtime\Engine\Animation\FMarkerTickRecord) & MarkerTickRecord )


description: Synchronize a montage to another anim instance's montage. Both montages must be playing already

code: void MontageSync_Follow ( const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * MontageFollower, const [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * OtherAnimInstance, const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * MontageLeader )


description: Stop following the montage's leader in this anim instance

code: void MontageSync_StopFollowing ( const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * MontageFollower )


description: Advance montages

code: virtual void Montage_Advance ( float DeltaSeconds )


description: Get pointer to BlendingOutStarted delegate for Montage. If Montage reference is NULL, it will pick the first active montage found.

code: FOnMontageBlendingOutStarted * Montage_GetBlendingOutDelegate ( [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage )


description: Returns the name of the current animation montage section.

code: [FName](API\Runtime\Core\UObject\FName) Montage_GetCurrentSection ( const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage ) const


description: Get the current blend time of the Montage. If Montage reference is NULL, it will return the current blend time on the first active Montage found.

code: float Montage_GetBlendTime ( const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage ) const


description: Get scaled PlayRate for Montage. This accounts for RateScale, so it will reflect the actual play rate seen in game. If Montage reference is NULL, scaled PlayRate for any Active Montage will be returned. If Montage is not playing, 0 is returned.

code: float Montage_GetEffectivePlayRate ( const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage ) const


description: Get pointer to Ended delegate for Montage. If Montage reference is NULL, it will pick the first active montage found.

code: FOnMontageEnded * Montage_GetEndedDelegate ( [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage )


description: Return true if Montage is not currently active. (not valid or blending out)

code: bool Montage_GetIsStopped ( const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage ) const


description: Get next sectionID for given section ID

code: int32 Montage_GetNextSectionID ( const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage, int32 const & CurrentSectionID ) const


description: Get PlayRate for Montage. This does not account for RateScale, so it may not reflect the actual play rate seen in game (see Montage_GetEffectivePlayRate). If Montage reference is NULL, PlayRate for any Active Montage will be returned. If Montage is not playing, 0 is returned.

code: float Montage_GetPlayRate ( const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage ) const


description: Get Current Montage Position

code: float Montage_GetPosition ( const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage ) const


description: Returns true if the animation montage is active. If the Montage reference is NULL, it will return true if any Montage is active.

code: bool Montage_IsActive ( const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage ) const


description: Returns true if the animation montage is currently active and playing. If reference is NULL, it will return true is ANY montage is currently active and playing.

code: bool Montage_IsPlaying ( const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage ) const


description: Makes a montage jump to a named section. If Montage reference is NULL, it will do that to all active montages.

code: void Montage_JumpToSection ( [FName](API\Runtime\Core\UObject\FName) SectionName, const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage )


description: Makes a montage jump to the end of a named section. If Montage reference is NULL, it will do that to all active montages.

code: void Montage_JumpToSectionsEnd ( [FName](API\Runtime\Core\UObject\FName) SectionName, const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage )


description: Pauses the animation montage. If reference is NULL, it will pause ALL active montages.

code: void Montage_Pause ( const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage )


description: Play a Montage. Returns Length of Montage in seconds. Returns 0.f if failed to play.

code: float Montage_Play ( [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * MontageToPlay, float InPlayRate, EMontagePlayReturnType ReturnValueType, float InTimeToStartMontageAt, bool bStopAllMontages )


code: float Montage_PlayInternal ( [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * MontageToPlay, const [FMontageBlendSettings](API\Runtime\Engine\Animation\FMontageBlendSettings) & BlendInSettings, float InPlayRate, EMontagePlayReturnType ReturnValueType, float InTimeToStartMontageAt, bool bStopAllMontages )


description: Plays an animation montage. Same as Montage_Play, but you can specify an AlphaBlend for Blend In settings.

code: float Montage_PlayWithBlendIn ( [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * MontageToPlay, const [FAlphaBlendArgs](API\Runtime\Engine\FAlphaBlendArgs) & BlendIn, float InPlayRate, EMontagePlayReturnType ReturnValueType, float InTimeToStartMontageAt, bool bStopAllMontages )


description: Plays an animation montage. Same as Montage_Play, but you can overwrite all of the montage's default blend in settings.

code: float Montage_PlayWithBlendSettings ( [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * MontageToPlay, const [FMontageBlendSettings](API\Runtime\Engine\Animation\FMontageBlendSettings) & BlendInSettings, float InPlayRate, EMontagePlayReturnType ReturnValueType, float InTimeToStartMontageAt, bool bStopAllMontages )


description: Resumes a paused animation montage. If reference is NULL, it will resume ALL active montages.

code: void Montage_Resume ( const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage )


code: void Montage_SetBlendingOutDelegate ( FOnMontageBlendingOutStarted & InOnMontageBlendingOut, [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage )


code: void Montage_SetEndDelegate ( FOnMontageEnded & InOnMontageEnded, [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage )


description: Relink new next section AFTER SectionNameToChange in run-time You can link section order the way you like in editor, but in run-time if you'd like to change it dynamically, use this function to relink the next section For example, you can have Start->Loop->Loop->Loop.... but when you want it to end, you can relink next section of Loop to be End to finish the montage, in which case, it stops looping by Loop->End.

code: void Montage_SetNextSection ( [FName](API\Runtime\Core\UObject\FName) SectionNameToChange, [FName](API\Runtime\Core\UObject\FName) NextSection, const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage )


description: Change AnimMontage play rate. NewPlayRate = 1.0 is the default playback rate.

code: void Montage_SetPlayRate ( const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage, float NewPlayRate )


description: Set position.

code: void Montage_SetPosition ( const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage, float NewPosition )


description: Stops the animation montage. If reference is NULL, it will stop ALL active montages. Stopped montages will blend out using their montage asset's BlendOut, with InBlendOutTime as the BlendTime

code: void Montage_Stop ( float InBlendOutTime, const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage )


code: void Montage_StopInternal ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< [FMontageBlendSettings](API\Runtime\Engine\Animation\FMontageBlendSettings)(const [FAnimMontageInstance](API\Runtime\Engine\Animation\FAnimMontageInstance) *)> AlphaBlendSelectorFunction, const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage )


description: Stops all active montages belonging to a group.

code: void Montage_StopGroupByName ( float InBlendOutTime, [FName](API\Runtime\Core\UObject\FName) GroupName )


description: Same as Montage_Stop. Uses values from the AlphaBlendArgs. Other settings come from the montage asset

code: void Montage_StopWithBlendOut ( const [FAlphaBlendArgs](API\Runtime\Engine\FAlphaBlendArgs) & BlendOut, const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage )


description: Same as Montage_Stop, but all blend settings are provided instead of using the ones on the montage asset

code: void Montage_StopWithBlendSettings ( const [FMontageBlendSettings](API\Runtime\Engine\Animation\FMontageBlendSettings) & BlendOutSettings, const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage )


description: Update weight of montages

code: virtual void Montage_UpdateWeight ( float DeltaSeconds )


description: Executed when begin play is called on the owning component.

code: virtual void NativeBeginPlay()


description: The below functions are the native overrides for each phase Native initialization override point


description: Native Post Evaluate override point.


description: Native thread safe update override point. Executed on a worker thread just prior to graph update for linked anim instances, only called when the hosting node(s) are relevant

code: virtual void NativeThreadSafeUpdateAnimation ( float DeltaSeconds )


description: Native Uninitialize override point.


description: Native update override point. It is usually a good idea to simply gather data in this step and for the bulk of the work to be done in NativeThreadSafeUpdateAnimation.

code: virtual void NativeUpdateAnimation ( float DeltaSeconds )


description: Can does this anim instance need an update (parallel or not)?

code: bool NeedsUpdate() const


code: virtual void OnMontageInstanceStopped ( [FAnimMontageInstance](API\Runtime\Engine\Animation\FAnimMontageInstance) & StoppedMontageInstance )


description: Deprecated* This function is deprecated, please use OnUROPreInterpolation_AnyThread

code: virtual void OnUROPreInterpolation()


description: Called before URO interpolation is performed. Useful for modifying bone space transforms etc. before interpolation is performed. Note that this can be called on a worker thread.

code: virtual void OnUROPreInterpolation_AnyThread ( [FAnimationEvaluationContext](API\Runtime\Engine\Components\FAnimationEvaluationContext) & InOutContext )


description: Called when skipping an animation update because of URO.

code: virtual void OnUROSkipTickAnimation()


description: Check whether evaluation can be performed on the supplied skeletal mesh. Can be called from worker threads.

code: bool ParallelCanEvaluate ( const [USkeletalMesh](API\Runtime\Engine\Engine\USkeletalMesh) * InSkeletalMesh ) const


description: Perform evaluation. Can be called from worker threads.

code: void ParallelEvaluateAnimation ( bool bForceRefPose, const [USkeletalMesh](API\Runtime\Engine\Engine\USkeletalMesh) * InSkeletalMesh, [FParallelEvaluationData](API\Runtime\Engine\Animation\FParallelEvaluationData) & OutAnimationPoseData )


description: Deprecated* Please use ParallelEvaluateAnimation with different signature.

code: void ParallelEvaluateAnimation ( bool bForceRefPose, const [USkeletalMesh](API\Runtime\Engine\Engine\USkeletalMesh) * InSkeletalMesh, [FBlendedHeapCurve](API\Runtime\Engine\Animation\FBlendedHeapCurve) & OutCurve, [FCompactPose](API\Runtime\Engine\FCompactPose) & OutPose )


description: Warn if AnimNodes are not using fast path during AnimBP compilation.

code: virtual bool PCV_ShouldWarnAboutNodesNotUsingFastPath() const


description: Run update animation work on a worker thread

code: void ParallelUpdateAnimation()


description: Play normal animation asset on the slot node by creating a dynamicUAnimMontagewith blend in arguments. You can only play one asset (whether montage or animsequence) at a time per SlotGroup.

code: [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * PlaySlotAnimationAsDynamicMontage_WithBlendArgs ( [UAnimSequenceBase](API\Runtime\Engine\Animation\UAnimSequenceBase) * Asset, [FName](API\Runtime\Core\UObject\FName) SlotNodeName, const [FAlphaBlendArgs](API\Runtime\Engine\FAlphaBlendArgs) & BlendIn, const [FAlphaBlendArgs](API\Runtime\Engine\FAlphaBlendArgs) & BlendOut, float InPlayRate, int32 LoopCount, float BlendOutTriggerTime, float InTimeToStartMontageAt )


description: Play normal animation asset on the slot node by creating a dynamicUAnimMontage. You can only play one asset (whether montage or animsequence) at a time per SlotGroup.

code: [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * PlaySlotAnimationAsDynamicMontage ( [UAnimSequenceBase](API\Runtime\Engine\Animation\UAnimSequenceBase) * Asset, [FName](API\Runtime\Core\UObject\FName) SlotNodeName, float BlendInTime, float BlendOutTime, float InPlayRate, int32 LoopCount, float BlendOutTriggerTime, float InTimeToStartMontageAt )


description: Play normal animation asset on the slot node by creating a dynamicUAnimMontagewith blend in settings. You can only play one asset (whether montage or animsequence) at a time per SlotGroup.

code: [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * PlaySlotAnimationAsDynamicMontage_WithBlendSettings ( [UAnimSequenceBase](API\Runtime\Engine\Animation\UAnimSequenceBase) * Asset, [FName](API\Runtime\Core\UObject\FName) SlotNodeName, const [FMontageBlendSettings](API\Runtime\Engine\Animation\FMontageBlendSettings) & BlendInSettings, const [FMontageBlendSettings](API\Runtime\Engine\Animation\FMontageBlendSettings) & BlendOutSettings, float InPlayRate, int32 LoopCount, float BlendOutTriggerTime, float InTimeToStartMontageAt )


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

code: virtual void PostInitProperties()


description: Called after updates are completed, dispatches notifies etc.

code: void PostUpdateAnimation()


description: Called on the game thread pre-evaluation.

code: void PreEvaluateAnimation()


description: Called to setup for updates

code: virtual void PreUpdateAnimation ( float DeltaSeconds )


description: Called on the game thread before UpdateAnimation is called on linked instances

code: virtual void PreUpdateLinkedInstances ( float DeltaSeconds )


code: virtual bool PCV_ShouldNotifyAboutNodesNotUsingFastPath() const


description: Behaves like QueryTransitionEvent but additionally marks the event for consumption

code: bool QueryAndMarkTransitionEvent ( int32 MachineIndex, int32 TransitionIndex, [FName](API\Runtime\Core\UObject\FName) EventName )


description: Returns whether or not the given event transition request has been queued

code: bool QueryTransitionEvent ( int32 MachineIndex, int32 TransitionIndex, [FName](API\Runtime\Core\UObject\FName) EventName )


description: Queue a Montage BlendingOut Event to be triggered.

code: void QueueMontageBlendingOutEvent ( const [FQueuedMontageBlendingOutEvent](API\Runtime\Engine\Animation\FQueuedMontageBlendingOutEvent) & MontageBlendingOutEvent )


description: Queue a Montage Ended Event to be triggered.

code: void QueueMontageEndedEvent ( const [FQueuedMontageEndedEvent](API\Runtime\Engine\Animation\FQueuedMontageEndedEvent) & MontageEndedEvent )


description: Queue blended root motion. This is used to blend in root motion transforms according to the correctly-updated slot weight (after the animation graph has been updated).

code: void QueueRootMotionBlend ( const FTransform & RootTransform, const [FName](API\Runtime\Core\UObject\FName) & SlotName, float Weight )


description: Recalculate Required Bones [RequiredBones] Is called when bRequiredBonesUpToDate = false

code: void RecalcRequiredBones()


description: Recalculate Required Curves based on Required Bones [RequiredBones]

code: void RecalcRequiredCurves ( const [UE::Anim::FCurveFilterSettings](API\Runtime\Engine\FCurveFilterSettings) & CurveFilterSettings )


description: Deprecated* Please use RecalcRequiredCurves that takes a FCurveFilterSettings.

code: void RecalcRequiredCurves ( const [FCurveEvaluationOption](API\Runtime\Engine\FCurveEvaluationOption) & CurveEvalOption )


description: Given a machine index, record a state machine weight for this frame

code: void RecordMachineWeight ( const int32 InMachineClassIndex, const float InMachineWeight )


description: Given a machine and state index, record a state weight for this frame

code: void RecordStateWeight ( const int32 InMachineClassIndex, const int32 InStateIndex, const float InStateWeight, const float InElapsedTime )


description: Refresh currently existing curves

code: void RefreshCurves ( [USkeletalMeshComponent](API\Runtime\Engine\Components\USkeletalMeshComponent) * Component )


description: Other UObjects should call this to remove themselves from the callbacks

code: void RemoveExternalNotifyHandler ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * ExternalHandlerObject, [FName](API\Runtime\Core\UObject\FName) NotifyEventName )


description: Remove a previously saved pose snapshot from the internal snapshot cache

code: void RemovePoseSnapshot ( [FName](API\Runtime\Core\UObject\FName) SnapshotName )


description: Builds an inertialization request from the montage's group, provided duration and optional blend profile

code: void RequestMontageInertialization ( const [UAnimMontage](API\Runtime\Engine\Animation\UAnimMontage) * Montage, float Duration, const [UBlendProfile](API\Runtime\Engine\Animation\UBlendProfile) * BlendProfile )


description: Attempts to queue a transition request, returns true if the request was successful

code: bool RequestTransitionEvent ( const [FName](API\Runtime\Core\UObject\FName) EventName, const double RequestTimeout, const ETransitionRequestQueueMode QueueMode, const ETransitionRequestOverwriteMode OverwriteMode )


description: Deprecated* Please use ResetDynamics with a ETeleportType argument

code: void ResetDynamics()


description: Reset any dynamics running simulation-style updates (e.g. on teleport, time skip etc.)

code: void ResetDynamics ( ETeleportType InTeleportType )


description: Takes a snapshot of the current skeletal mesh component pose & saves it internally. This snapshot can then be retrieved by name in the animation blueprint for blending. The snapshot is taken at the current LOD, so if for example you took the snapshot at LOD1 and then used it at LOD0 any bones not in LOD1 will use the reference pose

code: virtual void SavePoseSnapshot ( [FName](API\Runtime\Core\UObject\FName) SnapshotName )


description: Handles reading, writing, and reference collecting usingFArchive. This implementation handles allFPropertyserialization, but can be overridden for native variables.

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


description: Deprecated* Function renamed, please use LinkAnimClassLayers

code: void SetLayerOverlay ( [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) > InClass )


description: Sets a morph target to a certain weight.

code: void SetMorphTarget ( [FName](API\Runtime\Core\UObject\FName) MorphTargetName, float Value )


description: Set whether to propagate notifies to any linked anim instances

code: void SetPropagateNotifiesToLinkedInstances ( bool bSet )


description: Set whether to process notifies from any linked anim instances

code: void SetReceiveNotifiesFromLinkedInstances ( bool bSet )


description: Requests an inertial blend during the next anim graph update. Requires your anim graph to have a slot node belonging to the specified group name

code: void RequestSlotGroupInertialization ( [FName](API\Runtime\Core\UObject\FName) InSlotGroupName, float Duration, const [UBlendProfile](API\Runtime\Engine\Animation\UBlendProfile) * BlendProfile )


description: Set RootMotionMode

code: void SetRootMotionMode ( [TEnumAsByte](API\Runtime\Core\Containers\TEnumAsByte)< [ERootMotionMode::Type](API\Runtime\Engine\Animation\ERootMotionMode__Type) > Value )


description: Deprecated* Function renamed, please use LinkAnimGraphByTag

code: void SetSubInstanceClassByTag ( [FName](API\Runtime\Core\UObject\FName) InTag, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) > InClass )


code: void SetUseMainInstanceMontageEvaluationData ( bool bSet )


description: Should Extract Root Motion or not. Return true if we do.

code: bool ShouldExtractRootMotion() const


description: Return whether this AnimNotifyState should be triggered

code: virtual bool ShouldTriggerAnimNotifyState ( const [UAnimNotifyState](API\Runtime\Engine\Animation\AnimNotifies\UAnimNotifyState) * AnimNotifyState ) const


description: Stop all montages that are active

code: void StopAllMontages ( float BlendOut )


description: Takes a snapshot of the current skeletal mesh component pose and saves it to the specified snapshot. The snapshot is taken at the current LOD, so if for example you took the snapshot at LOD1 and then used it at LOD0 any bones not in LOD1 will use the reference pose

code: virtual void SnapshotPose ( [FPoseSnapshot](API\Runtime\Engine\Animation\FPoseSnapshot) & Snapshot )


description: StopAllMontagesByGroupName needs a BlendMode and BlendProfile to function properly if using non-default ones in your montages. If you want default BlendMode/BlendProfiles, you need to update the calling code to do so.

code: void StopAllMontagesByGroupName ( [FName](API\Runtime\Core\UObject\FName) InGroupName, const [FAlphaBlend](API\Runtime\Engine\FAlphaBlend) & BlendOut )


description: Stop all active montages belonging to 'InGroupName'

code: void StopAllMontagesByGroupName ( [FName](API\Runtime\Core\UObject\FName) InGroupName, const [FMontageBlendSettings](API\Runtime\Engine\Animation\FMontageBlendSettings) & BlendOutSettings )


description: Stops currently playing slot animation slot or all

code: void StopSlotAnimation ( float InBlendOutTime, [FName](API\Runtime\Core\UObject\FName) SlotNodeName )


description: Swap curves out for evaluation

code: void SwapCurveWithEvaluationContext ( [FAnimationEvaluationContext](API\Runtime\Engine\Components\FAnimationEvaluationContext) & InOutContext )


description: Trigger AnimNotifies

code: void TriggerAnimNotifies ( float DeltaSeconds )


description: Trigger an AnimNotify. Note that this version does not provide any context for the event

code: void TriggerSingleAnimNotify ( const [FAnimNotifyEvent](API\Runtime\Engine\Animation\FAnimNotifyEvent) * AnimNotifyEvent )


description: Trigger an AnimNotify using an EventReference that provide context used in derived notify events

code: void TriggerSingleAnimNotify ( [FAnimNotifyEventReference](API\Runtime\Engine\Animation\FAnimNotifyEventReference) & EventReference )


code: virtual [APawn](API\Runtime\Engine\GameFramework\APawn) * TryGetPawnOwner() const


description: Runs through all layer nodes, attempting to find layer nodes that are currently running the specified class, then resets each to its default value. State sharing rules are as with SetLayerOverlay. If InClass is null, does nothing.

code: virtual void UnlinkAnimClassLayers ( [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) > InClass )


description: Unlocks indicated AI resources of animated pawn. Will unlock only animation-locked resources. DEPRECATED. Use UnlockAIResourcesWithAnimation instead

code: void UnlockAIResources ( bool bUnlockMovement, bool UnlockAILogic )


description: Update Animation code-paths, updates and advances animation state, returns whether or not the actual update should have been called immediately

code: void UpdateAnimation ( float DeltaSeconds, bool bNeedsValidRootMotion, [EUpdateAnimationFlag](API\Runtime\Engine\Animation\UAnimInstance\EUpdateAnimationFlag) UpdateFlag )


description: Update all internal curves from Blended Curve

code: void UpdateCurves ( const [FBlendedHeapCurve](API\Runtime\Engine\Animation\FBlendedHeapCurve) & InCurves )


description: Update curves once evaluation has taken place. Mostly pushes curves to materials/morphs

code: void UpdateCurvesPostEvaluation()


description: Update animation curves to component

code: void UpdateCurvesToComponents ( [USkeletalMeshComponent](API\Runtime\Engine\Components\USkeletalMeshComponent) * Component )


description: Pushes blended heap curve to output curves in the proxy using required bones cached data

code: void UpdateCurvesToEvaluationContext ( const [FAnimationEvaluationContext](API\Runtime\Engine\Components\FAnimationEvaluationContext) & InOutContext )


description: Updates the montage data used for evaluation based on the current playing montages.

code: void UpdateMontageEvaluationData()


description: Returns true if a snapshot is being played back and the remainder of Update should be skipped.


description: Get whether the most relevant animation triggered the animation notify with the specified name last tick..

code: bool WasAnimNotifyNameTriggeredInSourceState ( int32 MachineIndex, int32 StateIndex, [FName](API\Runtime\Core\UObject\FName) NotifyName )


description: Get whether the given state machine triggered the animation notify with the specified name last tick.

code: bool WasAnimNotifyNameTriggeredInStateMachine ( int32 MachineIndex, [FName](API\Runtime\Core\UObject\FName) NotifyName )


description: Get whether the animation notify with the specified name triggered last tick.

code: bool WasAnimNotifyNameTriggeredInAnyState ( [FName](API\Runtime\Core\UObject\FName) NotifyName )


description: Get whether a particular notify state was active in any state machine last tick.

code: bool WasAnimNotifyStateActiveInAnyState ( [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UAnimNotifyState](API\Runtime\Engine\Animation\AnimNotifies\UAnimNotifyState) > AnimNotifyStateType )


description: Get whether a particular notify state is active in a specific state machine last tick.

code: bool WasAnimNotifyStateActiveInStateMachine ( int32 MachineIndex, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UAnimNotifyState](API\Runtime\Engine\Animation\AnimNotifies\UAnimNotifyState) > AnimNotifyStateType )


description: Get whether a particular notify state is active in a specific state last tick.

code: bool WasAnimNotifyStateActiveInSourceState ( int32 MachineIndex, int32 StateIndex, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UAnimNotifyState](API\Runtime\Engine\Animation\AnimNotifies\UAnimNotifyState) > AnimNotifyStateType )


description: Get whether an animation notify of a given type was triggered last tick.

code: bool WasAnimNotifyTriggeredInAnyState ( [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UAnimNotify](API\Runtime\Engine\Animation\AnimNotifies\UAnimNotify) > AnimNotifyType )


description: Get whether the most relevant animation was in a particular notify state last tick.

code: bool WasAnimNotifyTriggeredInSourceState ( int32 MachineIndex, int32 StateIndex, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UAnimNotify](API\Runtime\Engine\Animation\AnimNotifies\UAnimNotify) > AnimNotifyType )


description: Get whether a particular notify type was active in a specific state machine last tick.

code: bool WasAnimNotifyTriggeredInStateMachine ( int32 MachineIndex, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UAnimNotify](API\Runtime\Engine\Animation\AnimNotifies\UAnimNotify) > AnimNotifyType )


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


description: Disable compiler-generated deprecation warnings by implementing our own destructor.