UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SkeletalMeshComponent.cpp File Reference
#include "Components/SkeletalMeshComponent.h"
#include "Animation/AnimStats.h"
#include "Animation/AnimMontage.h"
#include "Animation/AnimSequence.h"
#include "Animation/AnimSingleNodeInstance.h"
#include "Animation/AnimationSettings.h"
#include "Animation/PoseSnapshot.h"
#include "Containers/Ticker.h"
#include "Engine/SkeletalMesh.h"
#include "Engine/SkeletalMeshSocket.h"
#include "AI/NavigationSystemHelpers.h"
#include "Engine/SkinnedAsset.h"
#include "PhysicsEngine/PhysicsSettings.h"
#include "PhysicsEngine/SkeletalBodySetup.h"
#include "Misc/Fork.h"
#include "Particles/ParticleSystemComponent.h"
#include "Physics/Experimental/PhysScene_Chaos.h"
#include "PhysicsEngine/PhysicsAsset.h"
#include "Animation/AnimBlueprintGeneratedClass.h"
#include "Animation/AnimBlueprint.h"
#include "RenderingThread.h"
#include "ShowFlags.h"
#include "SkeletalRender.h"
#include "SkinnedAssetCompiler.h"
#include "Rendering/SkeletalMeshRenderData.h"
#include "Rendering/RenderCommandPipes.h"
#include "AutoRTFM.h"
#include "Logging/MessageLog.h"
#include "Animation/AnimNode_LinkedInputPose.h"
#include "ClothCollisionSource.h"
#include "ClothingSimulationFactory.h"
#include "ClothingSimulationInstance.h"
#include "ClothingSimulationInteractor.h"
#include "ClothingSimulationTeleportHelpers.h"
#include "Features/IModularFeatures.h"
#include "Misc/RuntimeErrors.h"
#include "SkeletalMeshSceneProxy.h"
#include "ContentStreaming.h"
#include "Animation/AnimTrace.h"
#include "Animation/BuiltInAttributeTypes.h"
#include "Animation/AnimSubsystem_SharedLinkedAnimLayers.h"
#include "TransformStateStream.h"
#include "UObject/Stack.h"
#include "Chaos/Serialization/SerializedDataBuffer.h"
#include "Chaos/Serialization/SerializedMultiPhysicsState.h"
#include "PhysicsProxy/SingleParticlePhysicsProxy.h"
#include "UObject/UObjectMigrationContext.h"

Classes

struct  FParallelAnimationEvaluationStats
 
class  FParallelAnimationEvaluationTask
 
class  FParallelAnimationCompletionTask
 

Macros

#define LOCTEXT_NAMESPACE   "SkeletalMeshComponent"
 
#define ANIM_SKELETAL_MESH_ISPC_ENABLED_DEFAULT   1
 

Functions

 LLM_DEFINE_TAG (SkeletalMesh_TransformData)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Anim Instance Spawn Time"), STAT_AnimSpawnTime, STATGROUP_Anim,)
 
 DEFINE_STAT (STAT_AnimSpawnTime)
 
 DEFINE_STAT (STAT_PostAnimEvaluation)
 
 CSV_DECLARE_CATEGORY_MODULE_EXTERN (ENGINE_API, Animation)
 
 CSV_DECLARE_CATEGORY_MODULE_EXTERN (CORE_API, Basic)
 
 CSV_DEFINE_CATEGORY (AnimationParallelEvaluation, true)
 

Variables

TAutoConsoleVariable< int32CVarUseParallelAnimationEvaluation (TEXT("a.ParallelAnimEvaluation"), 1, TEXT("If 1, animation evaluation will be run across the task graph system. If 0, evaluation will run purely on the game thread"))
 
TAutoConsoleVariable< int32CVarUseParallelAnimUpdate (TEXT("a.ParallelAnimUpdate"), 1, TEXT("If != 0, then we update animation blend tree, native update, asset players and montages (is possible) on worker threads."))
 
TAutoConsoleVariable< int32CVarForceUseParallelAnimUpdate (TEXT("a.ForceParallelAnimUpdate"), 0, TEXT("If != 0, then we update animations on worker threads regardless of the setting on the project or anim blueprint."))
 
TAutoConsoleVariable< int32CVarUseParallelAnimationInterpolation (TEXT("a.ParallelAnimInterpolation"), 1, TEXT("If 1, animation interpolation will be run across the task graph system. If 0, interpolation will run purely on the game thread"))
 
bool bAnim_SkeletalMesh_ISPC_Enabled = INTEL_ISPC && ANIM_SKELETAL_MESH_ISPC_ENABLED_DEFAULT
 
FAutoConsoleTaskPriority CPrio_ParallelAnimationEvaluationTask (TEXT("TaskGraph.TaskPriorities.ParallelAnimationEvaluationTask"), TEXT("Task and thread priority for FParallelAnimationEvaluationTask"), ENamedThreads::HighThreadPriority, ENamedThreads::NormalTaskPriority, ENamedThreads::HighTaskPriority)
 
TAutoConsoleVariable< int32CVarEnableClothPhysics
 

Macro Definition Documentation

◆ ANIM_SKELETAL_MESH_ISPC_ENABLED_DEFAULT

#define ANIM_SKELETAL_MESH_ISPC_ENABLED_DEFAULT   1

◆ LOCTEXT_NAMESPACE

#define LOCTEXT_NAMESPACE   "SkeletalMeshComponent"

Function Documentation

◆ CSV_DECLARE_CATEGORY_MODULE_EXTERN() [1/2]

CSV_DECLARE_CATEGORY_MODULE_EXTERN ( CORE_API  ,
Basic   
)

◆ CSV_DECLARE_CATEGORY_MODULE_EXTERN() [2/2]

CSV_DECLARE_CATEGORY_MODULE_EXTERN ( ENGINE_API  ,
Animation   
)

◆ CSV_DEFINE_CATEGORY()

CSV_DEFINE_CATEGORY ( AnimationParallelEvaluation  ,
true   
)

◆ DECLARE_CYCLE_STAT_EXTERN()

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Anim Instance Spawn Time" ,
STAT_AnimSpawnTime  ,
STATGROUP_Anim   
)

◆ DEFINE_STAT() [1/2]

DEFINE_STAT ( STAT_AnimSpawnTime  )

◆ DEFINE_STAT() [2/2]

DEFINE_STAT ( STAT_PostAnimEvaluation  )

◆ LLM_DEFINE_TAG()

LLM_DEFINE_TAG ( SkeletalMesh_TransformData  )

Variable Documentation

◆ bAnim_SkeletalMesh_ISPC_Enabled

bool bAnim_SkeletalMesh_ISPC_Enabled = INTEL_ISPC && ANIM_SKELETAL_MESH_ISPC_ENABLED_DEFAULT

◆ CPrio_ParallelAnimationEvaluationTask

FAutoConsoleTaskPriority CPrio_ParallelAnimationEvaluationTask(TEXT("TaskGraph.TaskPriorities.ParallelAnimationEvaluationTask"), TEXT("Task and thread priority for FParallelAnimationEvaluationTask"), ENamedThreads::HighThreadPriority, ENamedThreads::NormalTaskPriority, ENamedThreads::HighTaskPriority) ( TEXT("TaskGraph.TaskPriorities.ParallelAnimationEvaluationTask")  ,
TEXT("Task and thread priority for FParallelAnimationEvaluationTask" ,
ENamedThreads::HighThreadPriority  ,
ENamedThreads::NormalTaskPriority  ,
ENamedThreads::HighTaskPriority   
)

◆ CVarEnableClothPhysics

TAutoConsoleVariable<int32> CVarEnableClothPhysics
extern

◆ CVarForceUseParallelAnimUpdate

TAutoConsoleVariable< int32 > CVarForceUseParallelAnimUpdate(TEXT("a.ForceParallelAnimUpdate"), 0, TEXT("If != 0, then we update animations on worker threads regardless of the setting on the project or anim blueprint.")) ( TEXT("a.ForceParallelAnimUpdate")  ,
,
TEXT("If != 0, then we update animations on worker threads regardless of the setting on the project or anim blueprint."  
)

◆ CVarUseParallelAnimationEvaluation

TAutoConsoleVariable< int32 > CVarUseParallelAnimationEvaluation(TEXT("a.ParallelAnimEvaluation"), 1, TEXT("If 1, animation evaluation will be run across the task graph system. If 0, evaluation will run purely on the game thread")) ( TEXT("a.ParallelAnimEvaluation")  ,
,
TEXT("If 1, animation evaluation will be run across the task graph system. If 0, evaluation will run purely on the game thread"  
)

◆ CVarUseParallelAnimationInterpolation

TAutoConsoleVariable< int32 > CVarUseParallelAnimationInterpolation(TEXT("a.ParallelAnimInterpolation"), 1, TEXT("If 1, animation interpolation will be run across the task graph system. If 0, interpolation will run purely on the game thread")) ( TEXT("a.ParallelAnimInterpolation")  ,
,
TEXT("If 1, animation interpolation will be run across the task graph system. If 0, interpolation will run purely on the game thread"  
)

◆ CVarUseParallelAnimUpdate

TAutoConsoleVariable< int32 > CVarUseParallelAnimUpdate(TEXT("a.ParallelAnimUpdate"), 1, TEXT("If != 0, then we update animation blend tree, native update, asset players and montages (is possible) on worker threads.")) ( TEXT("a.ParallelAnimUpdate")  ,
,
TEXT("If != 0, then we update animation blend tree, native update, asset players and montages (is possible) on worker threads."  
)