UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ActorComponent.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
7#include "UObject/Object.h"
16#include "PropertyPairsMap.h"
19#include "Misc/ScopeRWLock.h"
20#include "Misc/Timeout.h"
23#include "ActorComponent.generated.h"
24
26
27class AActor;
29class UActorComponent;
30class UAssetUserData;
31class ULevel;
32class UWorld;
33class UPrimitiveComponent;
38
39namespace UE::Net
40{
41 struct FReplicationSystemUtil;
42}
43
45
47{
48public:
50
53
58
59 const UE::FTimeout& GetIncrementalUpdateTimeout() const { return Timeout; }
60 int32 GetIncrementalUpdateAddPrimitiveBatchSize() const { return IncrementalUpdateAddPrimitiveBatchSize; }
61 int32 GetIncrementalUpdateNumComponentsToUpdate() const { return IncrementalUpdateNumComponentsToUpdate; }
62
63 void AddPrimitive(UPrimitiveComponent* PrimitiveComponent);
64 void AddSendRenderDynamicData(UPrimitiveComponent* PrimitiveComponent);
65
66 ENGINE_API static void SendRenderDynamicData(FRegisterComponentContext* Context, UPrimitiveComponent* PrimitiveComponent);
67
68 UE_DEPRECATED(5.5, "This function is not used anymore")
69 int32 Count() const { return AddPrimitiveBatches.Num(); }
70
71 void Process();
72
73private:
74 bool OnIncrementalRegisterComponentsDone();
75
76 UWorld* World;
77 UE::FTimeout Timeout;
78 int32 IncrementalUpdateAddPrimitiveBatchSize;
79 int32 IncrementalUpdateNumComponentsToUpdate;
80 FAsyncRegisterLevelContext* AsyncRegisterLevelContext;
81
82 FPrimitiveBatch AddPrimitiveBatches;
83 FPrimitiveBatch SendRenderDynamicDataPrimitives;
84
85 friend class ULevel;
86};
87
88#if WITH_EDITOR
89class SWidget;
90struct FMinimalViewInfo;
91#endif
92
95{
97 None = 0x0,
99 SkipPhysicsUpdate = 0x1,
101 PropagateFromParent = 0x2,
104};
105
107{
108 return static_cast<EUpdateTransformFlags> ( static_cast<int32> (Left) | static_cast<int32> (Right) );
109}
110
112{
113 return static_cast<EUpdateTransformFlags> (static_cast<int32> (Left) & static_cast<int32> (Right));
114}
115
117{
119}
120
125
128
129class FSceneInterface;
132extern ENGINE_API void UpdateAllPrimitiveSceneInfosForScenes(TSet<FSceneInterface*> ScenesToUpdateAllPrimitiveSceneInfos);
133
134class UActorComponent;
135
138
141
150UCLASS(DefaultToInstanced, BlueprintType, abstract, meta=(ShortTooltip="An ActorComponent is a reusable component that can be added to any actor."), config=Engine, MinimalAPI)
152{
154
155public:
160
165
167 UPROPERTY(EditDefaultsOnly, Category="ComponentTick")
169
171 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Tags)
173
176 UPROPERTY(EditAnywhere, AdvancedDisplay, Instanced, Category = AssetUserData)
178
179#if WITH_EDITORONLY_DATA
181 UPROPERTY(EditAnywhere, AdvancedDisplay, Instanced, Category = AssetUserData)
183#endif
184
185
186private:
188 int32 MarkedForEndOfFrameUpdateArrayIndex : 28;
189
191 uint8 MarkedForEndOfFrameUpdateState : 2;
192
194 uint8 bReadyForEarlyEndOfFrameUpdate : 1;
195
197 uint8 bRenderStateUpdating : 1;
198
200 UPROPERTY()
201 int32 UCSSerializationIndex;
202
204
218
221
226
229
237
240
243
245 UPROPERTY()
247
252 UPROPERTY(Config, EditDefaultsOnly, BlueprintReadOnly, Category=Replication, AdvancedDisplay)
254
255private:
257 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Replicated, Category=ComponentReplication,meta=(DisplayName = "Component Replicates", AllowPrivateAccess = "true"))
258 uint8 bReplicates:1;
259
261 uint8 bRenderStateDirty:1;
262
264 uint8 bRenderTransformDirty:1;
265
267 uint8 bRenderDynamicDataDirty:1;
268
270 uint8 bRenderInstancesDirty:1;
271
273 uint8 bRoutedPostRename:1;
274
275public:
278
282
283public:
286
289
292
295
296#if WITH_EDITORONLY_DATA
298 UPROPERTY()
300
302 UPROPERTY()
304#endif
305
307 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=Activation)
309
310private:
312 UPROPERTY(transient, ReplicatedUsing=OnRep_IsActive)
313 uint8 bIsActive:1;
314
315public:
316
318 UPROPERTY(EditDefaultsOnly, Category="Variable")
320
323
326 UPROPERTY(EditAnywhere, Category = Navigation, AdvancedDisplay, config)
328
329public:
332
334 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Cooking)
336
337#if WITH_EDITORONLY_DATA
338private:
340 UPROPERTY()
342
344 UPROPERTY()
346#endif
347
348private:
350 uint8 bHasBeenCreated:1;
351
353 uint8 bHasBeenInitialized:1;
354
356 uint8 bIsReadyForReplication:1;
357
359 uint8 bHasBegunPlay:1;
360
362 uint8 bIsBeingDestroyed:1;
363
365 uint8 bTickFunctionsRegistered:1;
366
368 FPhysScene* PhysicsStateAsyncCreationScene;
369
371 mutable AActor* OwnerPrivate;
372
377 UWorld* WorldPrivate;
378
379#if WITH_EDITOR
382
385#endif
386
388 uint8 bIsNetStartupComponent : 1;
389
391 uint8 bMarkedForPreEndOfFrameSync : 1;
392
394 uint8 bAsyncPhysicsTickEnabled : 1;
395
396 enum struct EPhysicsStateAsyncCreationState : uint8
397 {
398 None,
399 Creating,
400 Destroying
401 };
402
404 EPhysicsStateAsyncCreationState PhysicsStateAsyncCreationState : 2;
405
406#if UE_WITH_REMOTE_OBJECT_HANDLE
407 uint8 bComponentTickEnabled : 1 = false;
408#endif
409
410public:
411
413 UPROPERTY()
415
416public:
419 {
420#if WITH_EDITORONLY_DATA
422 {
423 const_cast<UActorComponent*>(this)->DetermineUCSSerializationIndexForLegacyComponent();
424 }
425#endif
426
427 return UCSSerializationIndex;
428 }
429
430private:
432 ENGINE_API void DetermineUCSSerializationIndexForLegacyComponent();
433
434#if WITH_EDITOR
439
440public:
445
450#endif
451
452public:
453
456 {
457 return PhysicsStateAsyncCreationScene && (PhysicsStateAsyncCreationState == EPhysicsStateAsyncCreationState::Creating);
458 }
459
462 {
463 return PhysicsStateAsyncCreationScene && (PhysicsStateAsyncCreationState == EPhysicsStateAsyncCreationState::Destroying);
464 }
465
467 uint32 GetMarkedForEndOfFrameUpdateState() const { return MarkedForEndOfFrameUpdateState; }
468
470 uint32 GetMarkedForPreEndOfFrameSync() const { return bMarkedForPreEndOfFrameSync; }
471
474
477
480
483
486
488 bool HasBeenCreated() const { return bHasBeenCreated; }
489
491 bool HasBeenInitialized() const { return bHasBeenInitialized; }
492
494 bool IsReadyForReplication() const { return bIsReadyForReplication; }
495
497 bool HasBegunPlay() const { return bHasBegunPlay; }
498
502 UFUNCTION(BlueprintCallable, Category="Components", meta=(DisplayName="Is Component Being Destroyed"))
504 {
505 return bIsBeingDestroyed;
506 }
507
510
512 UFUNCTION()
514
515private:
516 ENGINE_API AActor* GetActorOwnerNoninline() const;
517
518public:
520 UFUNCTION(BlueprintCallable, Category="Components", meta=(Keywords = "Actor Owning Parent"))
521 AActor* GetOwner() const;
522
524 template< class T >
525 T* GetOwner() const
526 {
527 return Cast<T>(GetOwner());
528 }
529
531 virtual UWorld* GetWorld() const override final { return (WorldPrivate ? WorldPrivate : GetWorld_Uncached()); }
532
534 UFUNCTION(BlueprintCallable, Category="Components")
536
537
538 // Activation System
539
541 UPROPERTY(BlueprintAssignable, Category = "Components|Activation")
543
545 UPROPERTY(BlueprintAssignable, Category = "Components|Activation")
547
548#if WITH_EDITORONLY_DATA
549private:
550 UPROPERTY()
552#endif
553
556
557public:
562 UFUNCTION(BlueprintCallable, Category="Components|Activation", meta=(UnsafeDuringActorConstruction="true"))
563 ENGINE_API virtual void Activate(bool bReset=false);
564
568 UFUNCTION(BlueprintCallable, Category="Components|Activation", meta=(UnsafeDuringActorConstruction="true"))
570
576 UFUNCTION(BlueprintCallable, Category="Components|Activation", meta=(UnsafeDuringActorConstruction="true"))
577 ENGINE_API virtual void SetActive(bool bNewActive, bool bReset=false);
578
582 UFUNCTION(BlueprintCallable, Category="Components|Activation", meta=(UnsafeDuringActorConstruction="true"))
584
589 UFUNCTION(BlueprintCallable, Category="Components|Activation", meta=(UnsafeDuringActorConstruction="true"))
590 bool IsActive() const { return bIsActive; }
591
596 UFUNCTION(BlueprintCallable, Category="Components|Activation")
598
600 UFUNCTION(BlueprintCallable, Category="Components|Tick")
602
605
608
609
610 // Networking
611
614
616 UFUNCTION(BlueprintCallable, Category="Components")
618
621 {
622 return bReplicates;
623 }
624
631 ENGINE_API virtual bool ReplicateSubobjects(class UActorChannel *Channel, class FOutBunch *Bunch, FReplicationFlags *RepFlags);
632
638
641
644
646 ENGINE_API virtual bool GetComponentClassCanReplicate() const;
647
655
664
673
683
687 ENGINE_API bool IsReplicatedSubObjectRegistered(const UObject* SubObject) const;
688
689#if WITH_EDITORONLY_DATA
691 virtual bool IsEditorOnly() const override { return bIsEditorOnly; }
692
694 virtual void MarkAsEditorOnlySubobject() override
695 {
696 bIsEditorOnly = true;
697 // A bit sketchy, but is best for backwards compatibility as the vast majority of editor only components were for visualization,
698 // so for the very few where visualization is not the purpose, it can be cleared after the subobject is created
700 }
701
704
707 {
710 {
711 bIsEditorOnly = true;
712 }
713 }
714#endif
715
717 bool IsNetSimulating() const;
718
721
726 ENetMode GetNetMode() const;
727
733 bool IsNetMode(ENetMode Mode) const;
734
736 bool IsNetStartupComponent() const { return bIsNetStartupComponent; }
737
740
743
745 virtual void OnPreEndOfFrameSync() {}
746
749
751 {
752 };
753
755 ENGINE_API virtual void OnReplicationStartedForIris(const FOnReplicationStartedParams&);
756
758 {
759 };
761 ENGINE_API virtual void OnStopReplicationForIris(const FOnStopReplicationParams&);
762
764 UE_DEPRECATED(5.7, "This is being deprecated as part of iris beta. Override OnReplicationStartedForIris instead.")
765 ENGINE_API virtual void BeginReplication();
766
768 UE_DEPRECATED(5.7, "This is being deprecated as part of iris beta. Override OnStopReplicationForIris instead.")
769 ENGINE_API virtual void EndReplication();
770
771private:
772
773 //ENGINE_API static void StartReplicatingForIris(UActorComponent* ActorComponent);
774 //ENGINE_API static void StopReplicatingForIris(UActorComponent* ActorComponent);
775
777 ENGINE_API UWorld* GetWorld_Uncached() const;
778
780 ENGINE_API ENetMode InternalGetNetMode() const;
781
783 ENGINE_API void ExecuteUnregisterEvents();
784
786 ENGINE_API void ExecuteRegisterEvents(FRegisterComponentContext* Context = nullptr);
787
789 ENGINE_API void ConsolidatedPostEditChange(const FPropertyChangedEvent& PropertyChangedEvent);
790
793 ENGINE_API virtual bool ShouldActivate() const;
794
796 ENGINE_API virtual bool ShouldAsyncCreatePhysicsState(UWorld* WorldContext) const;
797
799 ENGINE_API virtual bool ShouldAsyncDestroyPhysicsState() const;
800
802 ENGINE_API virtual void OnPreRegister();
803
805 ENGINE_API virtual void OnPreRegistered();
806
808 ENGINE_API virtual void OnPreUnregister();
809
811 ENGINE_API virtual void OnPreUnregistered();
812
816 ENGINE_API virtual void OnRegister();
817
821 ENGINE_API virtual void OnUnregister();
822
824 virtual void PrecachePSOs() {}
825
827 virtual bool ShouldCreateRenderState() const
828 {
829 return false;
830 }
831
836 ENGINE_API virtual void CreateRenderState_Concurrent(FRegisterComponentContext* Context);
837
842 ENGINE_API virtual void SendRenderTransform_Concurrent();
843
845 ENGINE_API virtual void SendRenderDynamicData_Concurrent();
846
848 ENGINE_API virtual void SendRenderInstanceData_Concurrent();
849
854 ENGINE_API virtual void DestroyRenderState_Concurrent();
855
857 ENGINE_API virtual void OnCreatePhysicsState();
858
860 ENGINE_API virtual void OnDestroyPhysicsState();
861
864 virtual bool ShouldCreatePhysicsState() const {return false;}
865
867 virtual bool HasValidPhysicsState() const { return false; }
868
873 ENGINE_API virtual void RegisterComponentTickFunctions(bool bRegister);
874
875public:
876
878 ENGINE_API virtual bool ShouldIncrementalPreRegister(UWorld* WorldContext) const;
879
881 ENGINE_API virtual bool ShouldIncrementalPreUnregister() const;
882
883 //~ Begin IAsyncPhysicsStateProcessor
885 {
886 return false;
887 }
889 {
890 return false;
891 }
892 ENGINE_API virtual bool IsAsyncPhysicsStateCreated() const override final;
893 ENGINE_API virtual UObject* GetAsyncPhysicsStateObject() const override final;
894 ENGINE_API virtual bool OnAsyncCreatePhysicsState(const UE::FTimeout& Timeout) override;
895 ENGINE_API virtual void OnAsyncCreatePhysicsStateEnd_GameThread() override;
896 virtual bool OnAsyncDestroyPhysicsState(const UE::FTimeout& Timeout) override { return true; }
897 ENGINE_API virtual void OnAsyncDestroyPhysicsStateBegin_GameThread() override;
898 ENGINE_API virtual void OnAsyncDestroyPhysicsStateEnd_GameThread() override;
899 //~ End IAsyncPhysicsStateProcessor
905 ENGINE_API virtual void InitializeComponent();
906
914 ENGINE_API virtual void ReadyForReplication();
915
922 ENGINE_API virtual void BeginPlay();
923
928 UFUNCTION(BlueprintImplementableEvent, meta=(DisplayName = "Begin Play"))
929 ENGINE_API void ReceiveBeginPlay();
930
935 ENGINE_API virtual void EndPlay(const EEndPlayReason::Type EndPlayReason);
936
942
944 UFUNCTION(BlueprintImplementableEvent, meta=(Keywords = "delete", DisplayName = "End Play"))
945 ENGINE_API void ReceiveEndPlay(EEndPlayReason::Type EndPlayReason);
946
952 ENGINE_API void RegisterAllComponentTickFunctions(bool bRegister);
953
962 ENGINE_API virtual void TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction);
963
971 virtual void AsyncPhysicsTickComponent(float DeltaTime, float SimTime) { ReceiveAsyncPhysicsTick(DeltaTime, SimTime); }
972
980 ENGINE_API bool SetupActorComponentTickFunction(struct FTickFunction* TickFunction);
981
987 UFUNCTION(BlueprintCallable, Category="Components|Tick")
988 ENGINE_API virtual void SetComponentTickEnabled(bool bEnabled);
989
994 ENGINE_API virtual void SetComponentTickEnabledAsync(bool bEnabled);
995
999 UFUNCTION(BlueprintCallable, Category="Components|Tick")
1000 ENGINE_API virtual bool IsComponentTickEnabled() const;
1001
1006 UFUNCTION(BlueprintCallable, Category="Components|Tick")
1007 ENGINE_API void SetComponentTickInterval(float TickInterval);
1008
1013 UFUNCTION(BlueprintCallable, Category="Components|Tick")
1014 ENGINE_API void SetComponentTickIntervalAndCooldown(float TickInterval);
1015
1017 UFUNCTION(BlueprintCallable, Category="Components|Tick")
1018 ENGINE_API float GetComponentTickInterval() const;
1019
1025 ENGINE_API void PreRegisterComponentWithWorld(UWorld* InWorld);
1026
1030 ENGINE_API void PreUnregisterComponentFromWorld();
1031
1036 ENGINE_API void RegisterComponentWithWorld(UWorld* InWorld, FRegisterComponentContext* Context = nullptr);
1037
1039 virtual bool IsReadyForOwnerToAutoDestroy() const { return true; }
1040
1042 ENGINE_API bool IsOwnerSelected() const;
1043
1045 inline bool IsRenderTransformDirty() const { return bRenderTransformDirty; }
1046
1048 inline bool IsRenderInstancesDirty() const { return bRenderInstancesDirty; }
1049
1051 inline bool IsRenderStateDirty() const { return bRenderStateDirty; }
1052
1055 {
1056 InvalidateLightingCacheDetailed(true, false);
1057 }
1058
1063
1064#if WITH_EDITOR
1070 ENGINE_API virtual void CheckForErrors();
1071
1077 virtual bool GetEditorPreviewInfo(float DeltaTime, FMinimalViewInfo& ViewOut) { return false; }
1078
1086
1094 virtual TSubclassOf<class UHLODBuilder> GetCustomHLODBuilderClass() const { return nullptr; }
1095
1100#endif // WITH_EDITOR
1101
1108 ENGINE_API void DoDeferredRenderUpdates_Concurrent();
1109
1112
1114 ENGINE_API void MarkRenderStateDirty();
1115
1117 ENGINE_API void MarkRenderDynamicDataDirty();
1118
1120 ENGINE_API void MarkRenderTransformDirty();
1121
1123 ENGINE_API void MarkRenderInstancesDirty();
1124
1126 ENGINE_API void MarkForNeededEndOfFrameUpdate(bool bReadyForEarlyUpdate = false);
1127
1129 ENGINE_API void MarkForNeededEndOfFrameRecreate();
1130
1132 {
1133 return bReadyForEarlyEndOfFrameUpdate;
1134 }
1135
1137 void ClearNeedEndOfFrameUpdate();
1138
1140 ENGINE_API virtual bool RequiresGameThreadEndOfFrameUpdates() const;
1141
1143 ENGINE_API virtual bool RequiresGameThreadEndOfFrameRecreate() const;
1144
1146 ENGINE_API virtual bool RequiresPreEndOfFrameSync() const;
1147
1152 ENGINE_API void RecreateRenderState_Concurrent();
1153
1155 ENGINE_API void RecreatePhysicsState();
1156
1159 {
1160 return bRenderStateCreated;
1161 }
1162
1165 {
1166 return bRenderStateRecreating;
1167 }
1168
1171 {
1172 return bPhysicsStateCreated;
1173 }
1174
1176 {
1177 return bRenderStateUpdating;
1178 }
1179
1181 ENGINE_API class FSceneInterface* GetScene() const;
1182
1184 ENGINE_API ULevel* GetComponentLevel() const;
1185
1187 ENGINE_API bool ComponentIsInLevel(const class ULevel *TestLevel) const;
1188
1190 ENGINE_API bool ComponentIsInPersistentLevel(bool bIncludeLevelStreamingPersistent) const;
1191
1193 virtual void OnActorVisibilityChanged() { MarkRenderStateDirty(); }
1194
1197
1202 ENGINE_API virtual FString GetReadableName() const;
1203
1205 virtual UObject const* AdditionalStatObject() const
1206 {
1207 return nullptr;
1208 }
1209
1211 ENGINE_API virtual TStructOnScope<FActorComponentInstanceData> GetComponentInstanceData() const;
1212
1214 ENGINE_API virtual void PostApplyToComponent();
1215
1221
1222 //~ Begin UObject Interface.
1223 ENGINE_API virtual void BeginDestroy() override;
1224 ENGINE_API virtual bool NeedsLoadForClient() const override;
1225 ENGINE_API virtual bool NeedsLoadForServer() const override;
1226 ENGINE_API virtual bool NeedsLoadForEditorGame() const override;
1227 ENGINE_API virtual bool IsNameStableForNetworking() const override;
1228 ENGINE_API virtual bool IsSupportedForNetworking() const override;
1229 ENGINE_API virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;
1230 ENGINE_API virtual int32 GetFunctionCallspace( UFunction* Function, FFrame* Stack ) override;
1231 ENGINE_API virtual bool CallRemoteFunction( UFunction* Function, void* Parameters, FOutParmRec* OutParms, FFrame* Stack ) override;
1232 ENGINE_API virtual void PostInitProperties() override;
1233 ENGINE_API virtual void PostLoad() override;
1234#if UE_WITH_REMOTE_OBJECT_HANDLE
1235 ENGINE_API virtual void PostMigrate(const struct FUObjectMigrationContext& MigrationContext) override;
1236#endif
1237 ENGINE_API virtual bool Rename( const TCHAR* NewName=NULL, UObject* NewOuter=NULL, ERenameFlags Flags=REN_None ) override;
1238 ENGINE_API virtual void PostRename(UObject* OldOuter, const FName OldName) override;
1239 ENGINE_API virtual void Serialize(FArchive& Ar) override;
1240 static ENGINE_API void AddReferencedObjects(UObject* InThis, FReferenceCollector& Collector);
1241#if WITH_EDITOR
1242 ENGINE_API virtual bool Modify( bool bAlwaysMarkDirty = true ) override;
1243 ENGINE_API virtual bool CanEditChange(const FProperty* InProperty) const override;
1245 ENGINE_API virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
1246 ENGINE_API virtual void PostEditChangeChainProperty( FPropertyChangedChainEvent& PropertyChangedEvent ) override;
1247 ENGINE_API virtual void PreEditUndo() override;
1248 ENGINE_API virtual void PostEditUndo() override;
1249 ENGINE_API virtual bool IsSelectedInEditor() const override;
1250 virtual void SetPackageExternal(bool bExternal, bool bShouldDirty) {}
1251 virtual FBox GetStreamingBounds() const { return FBox(ForceInit); }
1252 virtual FBox GetStreamingBoundsEditor() const { return GetStreamingBounds(); }
1253 virtual bool ForceActorNonSpatiallyLoaded() const { return false; }
1254 virtual bool ForceActorNoDataLayers() const { return false; }
1255#endif // WITH_EDITOR
1256 //~ End UObject Interface.
1257
1258 //~ Begin IInterface_AssetUserData Interface
1259 ENGINE_API virtual void AddAssetUserData(UAssetUserData* InUserData) override;
1260 ENGINE_API virtual void RemoveUserDataOfClass(TSubclassOf<UAssetUserData> InUserDataClass) override;
1261 ENGINE_API virtual UAssetUserData* GetAssetUserDataOfClass(TSubclassOf<UAssetUserData> InUserDataClass) override;
1262 ENGINE_API virtual const TArray<UAssetUserData*>* GetAssetUserDataArray() const override;
1263 //~ End IInterface_AssetUserData Interface
1264
1265 //~ Begin IInterface_ActorSubobject Interface
1266 // We're using the same API as IInterface_ActorSubobject, but not using it directly as a size and performance optimization
1267 ENGINE_API void OnCreatedFromReplication();
1268 ENGINE_API void OnDestroyedFromReplication();
1269 //~ End IInterface_ActorSubobject Interface
1270
1272 ENGINE_API bool IsOwnerRunningUserConstructionScript() const;
1273
1275 inline bool IsPreRegistering() const
1276 {
1277 return RegistrationState == EComponentRegistrationState::PreRegistering;
1278 }
1279
1281 inline bool IsPreRegistered() const
1282 {
1283 return RegistrationState == EComponentRegistrationState::PreRegistered;
1284 }
1285
1287 inline bool IsPreUnregistering() const
1288 {
1289 return RegistrationState == EComponentRegistrationState::PreUnregistering;
1290 }
1291
1293 inline bool IsPreUnregistered() const
1294 {
1295 return RegistrationState == EComponentRegistrationState::PreUnregistered;
1296 }
1297
1299 inline bool IsRegistered() const { return bRegistered; }
1300
1302 inline bool AllowReregistration() const { return bAllowReregistration; }
1303
1305 ENGINE_API void RegisterComponent();
1306
1308 ENGINE_API void UnregisterComponent();
1309
1311 ENGINE_API virtual void DestroyComponent(bool bPromoteChildren = false);
1312
1314 ENGINE_API virtual void OnComponentCreated();
1315
1321 ENGINE_API virtual void OnComponentDestroyed(bool bDestroyingHierarchy);
1322
1326 UFUNCTION(BlueprintCallable, Category="Components", meta=(Keywords = "Delete", HidePin="Object", DefaultToSelf="Object", DisplayName = "Destroy Component", ScriptName = "DestroyComponent"))
1327 ENGINE_API void K2_DestroyComponent(UObject* Object);
1328
1330 ENGINE_API void ReregisterComponent();
1331
1333 UFUNCTION(BlueprintCallable, Category="Components|Tick", meta=(Keywords = "dependency"))
1334 ENGINE_API void SetTickGroup(ETickingGroup NewTickGroup);
1335
1337 UFUNCTION(BlueprintCallable, Category="Components|Tick", meta=(Keywords = "dependency"))
1338 ENGINE_API virtual void AddTickPrerequisiteActor(AActor* PrerequisiteActor);
1339
1341 UFUNCTION(BlueprintCallable, Category="Components|Tick", meta=(Keywords = "dependency"))
1342 ENGINE_API virtual void AddTickPrerequisiteComponent(UActorComponent* PrerequisiteComponent);
1343
1345 UFUNCTION(BlueprintCallable, Category="Components|Tick", meta=(Keywords = "dependency"))
1346 ENGINE_API virtual void RemoveTickPrerequisiteActor(AActor* PrerequisiteActor);
1347
1349 UFUNCTION(BlueprintCallable, Category="Components|Tick", meta=(Keywords = "dependency"))
1350 ENGINE_API virtual void RemoveTickPrerequisiteComponent(UActorComponent* PrerequisiteComponent);
1351
1353 UFUNCTION(BlueprintImplementableEvent, meta=(DisplayName = "Tick"))
1354 ENGINE_API void ReceiveTick(float DeltaSeconds);
1355
1357 UFUNCTION(BlueprintImplementableEvent, meta = (DisplayName = "Async Physics Tick"))
1358 ENGINE_API void ReceiveAsyncPhysicsTick(float DeltaSeconds, float SimSeconds);
1359
1367 virtual void ApplyWorldOffset(const FVector& InOffset, bool bWorldShift) {};
1368
1370 bool CanEverAffectNavigation() const;
1371
1379 ENGINE_API void SetCanEverAffectNavigation(bool bRelevant);
1380
1382 virtual bool IsNavigationRelevant() const { return false; }
1383
1385 virtual bool IsHLODRelevant() const { return false; }
1386
1387#if WITH_EDITOR
1390
1392 virtual void ComputeHLODHash(class FHLODHashBuilder& HashBuilder) const {}
1393#endif
1394
1397
1399
1402
1403protected:
1405 static ENGINE_API bool CanBeHLODRelevant(const UActorComponent* ActorComponent);
1406
1411 ENGINE_API void HandleCanEverAffectNavigationChange(bool bForceUpdate = false);
1412
1414 ENGINE_API void SetAsyncPhysicsTickEnabled(bool bEnabled);
1415
1418 ENGINE_API void DeferRemoveAsyncPhysicsTick();
1419
1420private:
1421#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST)
1423 virtual void Tick( float DeltaTime ) final { check(0); }
1424#endif
1425
1426 ENGINE_API void ClearNeedEndOfFrameUpdate_Internal();
1427
1428 ENGINE_API void RegisterAsyncPhysicsTickEnabled(bool bRegister);
1429
1432 friend class FActorComponentDetails;
1437#if WITH_EDITOR
1439#endif
1440
1441 //~ Begin Methods for Replicated Members.
1442protected:
1443
1451 ENGINE_API void SetIsReplicatedByDefault(const bool bNewReplicates);
1452
1460 {
1461 return GET_MEMBER_NAME_CHECKED(UActorComponent, bReplicates);
1462 }
1463
1464public:
1465
1471 ENGINE_API void SetActiveFlag(const bool bNewIsActive);
1472
1473 //~ End Methods for Replicated Members.
1474
1475protected:
1476
1478 ENGINE_API bool OwnerNeedsInitialization() const;
1479
1481 ENGINE_API bool NeedsInitialization() const;
1482};
1483
1485// UActorComponent inlines
1486
1488{
1490}
1491
1493{
1495}
1496
1498{
1499 // IsRunningDedicatedServer() is a compile-time check in optimized non-editor builds.
1501 {
1502 return NM_DedicatedServer;
1503 }
1504
1505 return InternalGetNetMode();
1506}
1507
1509{
1510#if UE_EDITOR
1511 // Editor builds are special because of PIE, which can run a dedicated server without the app running with -server.
1512 return GetNetMode() == Mode;
1513#else
1514 // IsRunningDedicatedServer() is a compile-time check in optimized non-editor builds.
1515 if (Mode == NM_DedicatedServer)
1516 {
1517 return IsRunningDedicatedServer();
1518 }
1519 else
1520 {
1521 return !IsRunningDedicatedServer() && (InternalGetNetMode() == Mode);
1522 }
1523#endif // UE_EDITOR
1524}
1525
1527{
1528 if (MarkedForEndOfFrameUpdateState != 0)
1529 {
1530 ClearNeedEndOfFrameUpdate_Internal();
1531 }
1532}
1533
1535{
1536#if WITH_EDITOR
1537 // During undo/redo the cached owner is unreliable so just used GetTypedOuter
1539 {
1540 checkSlow(OwnerPrivate == GetActorOwnerNoninline()); // verify cached value is correct
1541 return OwnerPrivate;
1542 }
1543 else
1544 {
1545 return GetActorOwnerNoninline();
1546 }
1547#else
1548 checkSlow(OwnerPrivate == GetActorOwnerNoninline()); // verify cached value is correct
1549 return OwnerPrivate;
1550#endif
1551}
1552
1553#if WITH_EDITOR
1556#endif
#define NULL
Definition oodle2base.h:134
constexpr EUpdateTransformFlags operator&(EUpdateTransformFlags Left, EUpdateTransformFlags Right)
Definition ActorComponent.h:111
ENGINE_API int32 GEnableDeferredPhysicsCreation
Definition ActorComponent.cpp:115
constexpr bool operator!(EUpdateTransformFlags Value)
Definition ActorComponent.h:116
EUpdateTransformFlags
Definition ActorComponent.h:95
constexpr EUpdateTransformFlags operator|(EUpdateTransformFlags Left, EUpdateTransformFlags Right)
Definition ActorComponent.h:106
ENGINE_API void UpdateAllPrimitiveSceneInfosForScenes(TSet< FSceneInterface * > ScenesToUpdateAllPrimitiveSceneInfos)
Definition ActorComponent.cpp:337
constexpr EUpdateTransformFlags operator~(EUpdateTransformFlags Value)
Definition ActorComponent.h:121
ENGINE_API void UpdateAllPrimitiveSceneInfosForSingleComponent(UActorComponent *InComponent, TSet< FSceneInterface * > *InScenesToUpdateAllPrimitiveSceneInfosForBatching=nullptr)
Definition ActorComponent.cpp:295
EUpdateTransformFlags SkipPhysicsToEnum(bool bSkipPhysics)
Definition ActorComponent.h:127
ENGINE_API void UpdateAllPrimitiveSceneInfosForSingleComponentInterface(IPrimitiveComponent *InComponent, TSet< FSceneInterface * > *InScenesToUpdateAllPrimitiveSceneInfosForBatching=nullptr)
Definition ActorComponent.cpp:316
#define checkSlow(expr)
Definition AssertionMacros.h:332
#define check(expr)
Definition AssertionMacros.h:314
#define GET_MEMBER_NAME_CHECKED(ClassName, MemberName)
Definition AssertionMacros.h:493
EComponentCreationMethod
Definition ComponentInstanceDataCache.h:26
@ ForceInit
Definition CoreMiscDefines.h:155
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
bool IsRunningDedicatedServer()
Definition CoreMisc.h:152
ELifetimeCondition
Definition CoreNetTypes.h:20
@ COND_Never
Definition CoreNetTypes.h:36
@ COND_None
Definition CoreNetTypes.h:21
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
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
#define DECLARE_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
ENetMode
Definition EngineBaseTypes.h:937
@ NM_DedicatedServer
Definition EngineBaseTypes.h:942
ETickingGroup
Definition EngineBaseTypes.h:84
ELevelTick
Definition EngineBaseTypes.h:70
ETeleportType
Definition EngineTypes.h:2401
ENetRole
Definition EngineTypes.h:3346
return true
Definition ExternalRpcRegistry.cpp:601
UE::Math::TBox< double > FBox
Definition MathFwd.h:55
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
uint32 ERenameFlags
Definition ObjectMacros.h:2302
#define REN_None
Definition ObjectMacros.h:2305
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UCLASS(...)
Definition ObjectMacros.h:776
#define DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_TwoParams(SparseDelegateClass, OwningClass, DelegateName, Param1Type, Param1Name, Param2Type, Param2Name)
Definition SparseDelegate.h:447
#define DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_OneParam(SparseDelegateClass, OwningClass, DelegateName, Param1Type, Param1Name)
Definition SparseDelegate.h:446
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Actor.h:257
Definition Engine.Build.cs:7
Definition Archive.h:1208
Definition ComponentRecreateRenderStateContext.h:13
Definition ComponentReregisterContext.h:18
Definition NameTypes.h:617
Definition UObjectGlobals.h:1292
static COREUOBJECT_API FObjectInitializer & Get()
Definition UObjectGlobals.cpp:5001
Definition UnrealType.h:3087
Definition DataBunch.h:24
Definition PhysScene_Chaos.h:116
Definition PropertyPairsMap.h:13
Definition UnrealType.h:174
Definition UObjectGlobals.h:2492
Definition ActorComponent.h:47
FRegisterComponentContext & SetAsyncRegisterLevelContext(FAsyncRegisterLevelContext *Value)
Definition ActorComponent.cpp:206
TArray< UPrimitiveComponent *, FConcurrentLinearArrayAllocator > FPrimitiveBatch
Definition ActorComponent.h:49
FRegisterComponentContext & SetIncrementalUpdateAddPrimitiveBatchSize(int32 Value)
Definition ActorComponent.cpp:194
static ENGINE_API void SendRenderDynamicData(FRegisterComponentContext *Context, UPrimitiveComponent *PrimitiveComponent)
Definition ActorComponent.cpp:176
FRegisterComponentContext & SetIncrementalUpdateNumComponentsToUpdate(int32 Value)
Definition ActorComponent.cpp:200
int32 Count() const
Definition ActorComponent.h:69
FRegisterComponentContext & SetIncrementalUpdateTimeout(const UE::FTimeout &InTimeout)
Definition ActorComponent.cpp:188
~FRegisterComponentContext()
Definition ActorComponent.cpp:138
const UE::FTimeout & GetIncrementalUpdateTimeout() const
Definition ActorComponent.h:59
int32 GetIncrementalUpdateNumComponentsToUpdate() const
Definition ActorComponent.h:61
void Process()
Definition ActorComponent.cpp:230
void AddSendRenderDynamicData(UPrimitiveComponent *PrimitiveComponent)
Definition ActorComponent.cpp:163
int32 GetIncrementalUpdateAddPrimitiveBatchSize() const
Definition ActorComponent.h:60
void AddPrimitive(UPrimitiveComponent *PrimitiveComponent)
Definition ActorComponent.cpp:146
Definition SceneInterface.h:106
virtual void ApplyWorldOffset(const FVector &InOffset)
Definition SceneInterface.h:685
Definition AsyncPhysicsStateProcessorInterface.h:14
Definition Interface_AssetUserData.h:20
Definition ComponentInterfaces.h:59
Definition CoreNet.h:570
Definition SWidget.h:165
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition StructOnScope.h:142
Definition SubclassOf.h:30
Definition UniquePtr.h:107
Definition ActorChannel.h:78
Definition ActorComponent.h:152
virtual UObject const * AdditionalStatObject() const
Definition ActorComponent.h:1205
virtual ENGINE_API void OnRep_IsActive()
Definition ActorComponent.cpp:3024
virtual void UpdateComponentToWorld(EUpdateTransformFlags UpdateTransformFlags=EUpdateTransformFlags::None, ETeleportType Teleport=ETeleportType::None)
Definition ActorComponent.h:1111
ENGINE_API bool IsCreatedByConstructionScript() const
Definition ActorComponent.cpp:960
bool IsReadyForReplication() const
Definition ActorComponent.h:494
bool IsRenderStateCreated() const
Definition ActorComponent.h:1158
virtual void PreReplication(IRepChangedPropertyTracker &ChangedPropertyTracker)
Definition ActorComponent.h:643
ENGINE_API void TearOffReplicatedSubObjectOnRemotePeers(UObject *SubObject)
Definition ActorComponent.cpp:2974
bool IsRenderStateDirty() const
Definition ActorComponent.h:1051
bool IsRenderStateUpdating() const
Definition ActorComponent.h:1175
bool IsPreRegistered() const
Definition ActorComponent.h:1281
uint8 bAllowAnyoneToDestroyMe
Definition ActorComponent.h:294
ENetMode GetNetMode() const
Definition ActorComponent.h:1497
ENGINE_API bool ComponentHasTag(FName Tag) const
Definition ActorComponent.cpp:1087
uint8 bRenderStateCreated
Definition ActorComponent.h:228
uint8 bAllowConcurrentTick
Definition ActorComponent.h:291
uint8 bPhysicsStateCreated
Definition ActorComponent.h:239
static ENGINE_API const FString ComponentTemplateNameSuffix
Definition ActorComponent.h:1396
virtual ENGINE_API void ToggleActive()
Definition ActorComponent.cpp:2809
uint8 bTickInEditor
Definition ActorComponent.h:285
bool IsReadyForEarlyEndOfFrameUpdate() const
Definition ActorComponent.h:1131
virtual ENGINE_API void SetAutoActivate(bool bNewAutoActivate)
Definition ActorComponent.cpp:2797
void SetIsNetStartupComponent(const bool bInIsNetStartupComponent)
Definition ActorComponent.h:739
EComponentRegistrationState RegistrationState
Definition ActorComponent.h:220
virtual void OnActorEnableCollisionChanged()
Definition ActorComponent.h:1196
ENGINE_API bool IsReplicatedSubObjectRegistered(const UObject *SubObject) const
Definition ActorComponent.cpp:2982
bool HasBeenInitialized() const
Definition ActorComponent.h:491
AActor * GetOwner() const
Definition ActorComponent.h:1534
ENGINE_API void ClearUCSModifiedProperties()
Definition ActorComponent.cpp:3194
uint8 bIsEditorOnly
Definition ActorComponent.h:335
static ENGINE_API FActorComponentGlobalDestroyPhysicsSignature GlobalDestroyPhysicsDelegate
Definition ActorComponent.h:159
struct FActorComponentTickFunction PrimaryComponentTick
Definition ActorComponent.h:168
bool IsPreUnregistered() const
Definition ActorComponent.h:1293
bool CanEverAffectNavigation() const
Definition ActorComponent.h:1487
ENGINE_API void CreatePhysicsState(bool bAllowDeferral=false)
Definition ActorComponent.cpp:2346
virtual ENGINE_API bool GetComponentClassCanReplicate() const
Definition ActorComponent.cpp:2998
FActorComponentActivatedSignature OnComponentActivated
Definition ActorComponent.h:542
bool AllowReregistration() const
Definition ActorComponent.h:1302
bool IsNetMode(ENetMode Mode) const
Definition ActorComponent.h:1508
virtual void InvalidateLightingCacheDetailed(bool bInvalidateBuildEnqueuedLighting, bool bTranslationOnly)
Definition ActorComponent.h:1062
ENGINE_API ENetRole GetOwnerRole() const
Definition ActorComponent.cpp:3003
bool IsAsyncDestroyPhysicsStateRunning() const
Definition ActorComponent.h:461
virtual bool AllowsAsyncPhysicsStateCreation() const
Definition ActorComponent.h:884
virtual bool AllowsAsyncPhysicsStateDestruction() const
Definition ActorComponent.h:888
static ENGINE_API TMap< UActorComponent *, TArray< FSimpleMemberReference > > AllUCSModifiedProperties
Definition ActorComponent.h:555
uint8 bAutoActivate
Definition ActorComponent.h:308
uint32 GetMarkedForPreEndOfFrameSync() const
Definition ActorComponent.h:470
uint8 bNavigationRelevant
Definition ActorComponent.h:322
uint8 bAutoRegister
Definition ActorComponent.h:277
bool IsRenderTransformDirty() const
Definition ActorComponent.h:1045
ENGINE_API void SetTickableWhenPaused(bool bTickableWhenPaused)
Definition ActorComponent.cpp:2814
bool GetIsReplicated() const
Definition ActorComponent.h:620
TArray< FName > ComponentTags
Definition ActorComponent.h:172
virtual ELifetimeCondition GetReplicationCondition() const
Definition ActorComponent.h:640
bool IsPhysicsStateCreated() const
Definition ActorComponent.h:1170
ENGINE_API void GetUCSModifiedProperties(TSet< const FProperty * > &ModifiedProperties) const
Definition ActorComponent.cpp:3168
FActorComponentDeactivateSignature OnComponentDeactivated
Definition ActorComponent.h:546
virtual bool ShouldCreatePhysicsState() const
Definition ActorComponent.h:864
ENGINE_API void RemoveUCSModifiedProperties(const TArray< FProperty * > &Properties)
Definition ActorComponent.cpp:3180
virtual ENGINE_API void SetActive(bool bNewActive, bool bReset=false)
Definition ActorComponent.cpp:2782
ENGINE_API void AddReplicatedSubObject(UObject *SubObject, ELifetimeCondition NetCondition=COND_None)
Definition ActorComponent.cpp:2950
uint8 bReplicateUsingRegisteredSubObjectList
Definition ActorComponent.h:253
int32 GetUCSSerializationIndex() const
Definition ActorComponent.h:418
bool IsBeingDestroyed() const
Definition ActorComponent.h:503
virtual void OnEndOfFrameUpdateDuringTick()
Definition ActorComponent.h:742
uint8 bCanEverAffectNavigation
Definition ActorComponent.h:327
virtual UWorld * GetWorld() const override final
Definition ActorComponent.h:531
ENGINE_API void DetermineUCSModifiedProperties()
Definition ActorComponent.cpp:3103
void InvalidateLightingCache()
Definition ActorComponent.h:1054
bool IsNetStartupComponent() const
Definition ActorComponent.h:736
bool IsNetSimulating() const
Definition ActorComponent.h:1492
ENGINE_API void RemoveReplicatedSubObject(UObject *SubObject)
Definition ActorComponent.cpp:2958
virtual bool ShouldCreateRenderState() const
Definition ActorComponent.h:827
uint8 bEditableWhenInherited
Definition ActorComponent.h:319
bool IsRegistered() const
Definition ActorComponent.h:1299
ENGINE_API bool IsEditableWhenInherited() const
Definition ActorComponent.cpp:3083
virtual ENGINE_API void RegisterReplicationFragments(UE::Net::FFragmentRegistrationContext &Context, UE::Net::EFragmentRegistrationFlags RegistrationFlags) override
Definition ActorComponent.cpp:3051
virtual bool IsNavigationRelevant() const
Definition ActorComponent.h:1382
static const FName GetReplicatesPropertyName()
Definition ActorComponent.h:1459
bool IsPreUnregistering() const
Definition ActorComponent.h:1287
EComponentCreationMethod CreationMethod
Definition ActorComponent.h:414
TArray< TObjectPtr< UAssetUserData > > AssetUserData
Definition ActorComponent.h:177
uint8 bCallAsyncPhysicsStateCreatedDelegate
Definition ActorComponent.h:242
bool IsPreRegistering() const
Definition ActorComponent.h:1275
bool HasBegunPlay() const
Definition ActorComponent.h:497
virtual void OnActorVisibilityChanged()
Definition ActorComponent.h:1193
uint8 bRegistered
Definition ActorComponent.h:225
void ClearNeedEndOfFrameUpdate()
Definition ActorComponent.h:1526
uint8 bWantsInitializeComponent
Definition ActorComponent.h:331
uint32 GetMarkedForEndOfFrameUpdateState() const
Definition ActorComponent.h:467
uint8 bRenderStateRecreating
Definition ActorComponent.h:236
bool IsUsingRegisteredSubObjectList() const
Definition ActorComponent.h:637
static ENGINE_API FOnMarkRenderStateDirty MarkRenderStateDirtyEvent
Definition ActorComponent.h:1401
uint8 bNetAddressable
Definition ActorComponent.h:246
virtual void OnPreEndOfFrameSync()
Definition ActorComponent.h:745
uint8 bNeverNeedsRenderUpdate
Definition ActorComponent.h:288
ENGINE_API void DestroyPhysicsState()
Definition ActorComponent.cpp:2405
bool IsRenderStateRecreating() const
Definition ActorComponent.h:1164
ENGINE_API void SetIsReplicated(bool ShouldReplicate)
Definition ActorComponent.cpp:2927
static ENGINE_API FActorComponentGlobalCreatePhysicsSignature GlobalCreatePhysicsDelegate
Definition ActorComponent.h:157
DECLARE_MULTICAST_DELEGATE_OneParam(FOnMarkRenderStateDirty, UActorComponent &)
ENGINE_API void DestroyReplicatedSubObjectOnRemotePeers(UObject *SubObject)
Definition ActorComponent.cpp:2966
bool IsRenderInstancesDirty() const
Definition ActorComponent.h:1048
virtual ENGINE_API bool ReplicateSubobjects(class UActorChannel *Channel, class FOutBunch *Bunch, FReplicationFlags *RepFlags)
Definition ActorComponent.cpp:2992
uint8 bAllowReregistration
Definition ActorComponent.h:281
EComponentRegistrationState
Definition ActorComponent.h:206
virtual void GetComponentChildElements(TArray< FTypedElementHandle > &OutElementHandles, const bool bAllowCreate=true)
Definition ActorComponent.h:1220
ENGINE_API void SetNetAddressable()
Definition ActorComponent.cpp:2903
virtual bool IsHLODRelevant() const
Definition ActorComponent.h:1385
bool HasBeenCreated() const
Definition ActorComponent.h:488
virtual bool HasValidPhysicsState() const
Definition ActorComponent.h:867
static ENGINE_API FTransactionallySafeRWLock AllUCSModifiedPropertiesLock
Definition ActorComponent.h:554
bool IsAsyncCreatePhysicsStateRunning() const
Definition ActorComponent.h:455
Definition AssetUserData.h:18
Definition CriticalSection.h:14
Definition Timeout.h:21
Definition ReplicationFragment.h:244
Definition EngineReplicationBridge.h:87
Definition Class.h:2476
Definition Level.h:423
Definition Object.h:95
virtual void MarkAsEditorOnlySubobject()
Definition Object.h:1573
virtual bool IsEditorOnly() const
Definition Object.h:593
Definition World.h:918
Definition EngineTypes.h:3429
Definition NetworkVersion.cpp:28
EFragmentRegistrationFlags
Definition ReplicationFragment.h:220
Definition AdvancedWidgetsModule.cpp:13
@ false
Definition radaudio_common.h:23
Definition EngineBaseTypes.h:571
Definition AsyncRegisterLevelContext.h:71
Definition Stack.h:114
Definition LevelTick.cpp:855
Definition CameraTypes.h:37
Definition Stack.h:103
Definition UnrealType.h:7001
Definition UnrealType.h:6865
Definition EngineTypes.h:3601
Definition ActorConstruction.cpp:1403
Definition EdGraphPin.h:27
Definition EngineBaseTypes.h:173
Definition TypedElementHandle.h:18
Definition UObjectMigrationContext.h:62
Definition ObjectPtr.h:488
Definition ActorComponent.h:751
Definition ActorComponent.h:758
Definition ReplicationSystemUtil.h:36