UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SkeletalMeshRestoreState.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4#include "CoreMinimal.h"
5#include "UObject/Object.h"
6#include "UObject/Interface.h"
8
9
11{
12 void SaveState(USkeletalMeshComponent* InSkelMeshComp)
13 {
15 {
17 VisibilityBasedAnimTickOption = InSkelMeshComp->VisibilityBasedAnimTickOption;
19 PredictedLODLevel = InSkelMeshComp->GetPredictedLODLevel();
20#if WITH_EDITOR
21 bUpdateAnimationInEditor = InSkelMeshComp->GetUpdateAnimationInEditor();
22 bUpdateClothInEditor = InSkelMeshComp->GetUpdateClothInEditor();
23 InSkelMeshComp->SetUpdateAnimationInEditor(true);
24 InSkelMeshComp->SetUpdateClothInEditor(true);
25#endif
26 }
27 }
28
30 {
32 {
33 ChildSkelMesh->VisibilityBasedAnimTickOption = VisibilityBasedAnimTickOption;
34 ChildSkelMesh->SetPredictedLODLevel(PredictedLODLevel);
35#if WITH_EDITOR
36
37 ChildSkelMesh->SetUpdateAnimationInEditor(bUpdateAnimationInEditor);
38 ChildSkelMesh->SetUpdateClothInEditor(bUpdateClothInEditor);
39#endif
40 }
41 }
43 {
45 {
46 ChildSkelMesh->SetPredictedLODLevel(PredictedLODLevel);
47 }
48 }
52#if WITH_EDITOR
53 bool bUpdateAnimationInEditor;
54 bool bUpdateClothInEditor;
55#endif
56};
57
59{
60 void SaveState(USkeletalMeshComponent* InComponent)
61 {
67 InComponent->GetChildrenComponents(true, ChildComponents);
68 for (USceneComponent* ChildComponent : ChildComponents)
69 {
70 USkeletalMeshComponent* SkelMeshComp = Cast<USkeletalMeshComponent>(ChildComponent);
71 if (SkelMeshComp)
72 {
74 Params.SaveState(SkelMeshComp);
76 }
77 }
78 }
79
80 UE_DEPRECATED(5.6, "InComponent is not required")
81 void RestoreState(USkeletalMeshComponent* InComponent)
82 {
84 }
85 UE_DEPRECATED(5.6, "InComponent is not required")
86 void RestoreLOD(USkeletalMeshComponent* InComponent)
87 {
88 RestoreLOD();
89 }
90
92 {
94 {
95 ChildParams.RestoreState();
96 }
97 }
99 {
101 {
102 ChildParams.RestoreLOD();
103 }
104 }
106
107};
108
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EVisibilityBasedAnimTickOption
Definition SkinnedMeshComponent.h:94
Definition Array.h:670
void SetNum(SizeType NewNum, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:2308
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
Definition SkeletalMeshRestoreState.h:11
int32 PredictedLODLevel
Definition SkeletalMeshRestoreState.h:51
void RestoreLOD()
Definition SkeletalMeshRestoreState.h:42
void SaveState(USkeletalMeshComponent *InSkelMeshComp)
Definition SkeletalMeshRestoreState.h:12
EVisibilityBasedAnimTickOption VisibilityBasedAnimTickOption
Definition SkeletalMeshRestoreState.h:50
TWeakObjectPtr< USkeletalMeshComponent > ChildSkelMesh
Definition SkeletalMeshRestoreState.h:49
void RestoreState()
Definition SkeletalMeshRestoreState.h:29
Definition SkeletalMeshRestoreState.h:59
void SaveState(USkeletalMeshComponent *InComponent)
Definition SkeletalMeshRestoreState.h:60
void RestoreLOD()
Definition SkeletalMeshRestoreState.h:98
void RestoreState()
Definition SkeletalMeshRestoreState.h:91
TArray< FSkeletalMeshEditorParams > SkeletalMeshCompEditorParams
Definition SkeletalMeshRestoreState.h:105
Definition WeakObjectPtrTemplates.h:25
FORCEINLINE bool IsValid(bool bEvenIfPendingKill, bool bThreadsafeTest=false) const
Definition WeakObjectPtrTemplates.h:232