295 UPROPERTY(Category=Replication, EditDefaultsOnly, BlueprintReadOnly)
299 UPROPERTY(Category=Replication, EditDefaultsOnly, BlueprintReadWrite)
317 UPROPERTY(ReplicatedUsing=OnRep_ReplicateMovement, Category=Replication, EditDefaultsOnly)
318 uint8 bReplicateMovement:1;
320 UPROPERTY(EditDefaultsOnly, Category = Replication, AdvancedDisplay)
321 uint8 bCallPreReplication:1;
323 UPROPERTY(EditDefaultsOnly, Category = Replication, AdvancedDisplay)
324 uint8 bCallPreReplicationForReplay:1;
340 uint8 bForceNetAddressable:1;
342#if WITH_EDITORONLY_DATA
356 UPROPERTY(EditAnywhere, AdvancedDisplay, Category =
LevelInstance, meta = (Tooltip =
"If checked, this Actor will only get loaded in a main world (persistent level), it will not be loaded through Level Instances."))
367 ENGINE_API bool ShouldCallPreReplication()
const;
370 ENGINE_API bool ShouldCallPreReplicationForReplay()
const;
387 UE_DEPRECATED(5.4,
"Call IsInEditLevelInstanceHierarchy/IsInEditLevelInstance instead.")
437 UFUNCTION(BlueprintCallable, Category=Networking)
448 UPROPERTY(Category=Replication, EditAnywhere)
452 UPROPERTY(Category=Replication, EditDefaultsOnly, BlueprintReadWrite)
471 UPROPERTY(Category=Replication, EditDefaultsOnly, AdvancedDisplay)
484 UPROPERTY(BlueprintSetter=SetAutoDestroyWhenFinished, Category=
Actor)
485 uint8 bAutoDestroyWhenFinished:1;
493 uint8 bCanBeDamaged:1;
505 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=
Actor, AdvancedDisplay)
506 uint8 bFindCameraComponentWhenViewTarget:1;
514 uint8 bGenerateOverlapEventsDuringLevelStreaming:1;
525 UPROPERTY(EditAnywhere, AdvancedDisplay, Category=Cooking)
545 bool GetAutoDestroyWhenFinished()
const {
return bAutoDestroyWhenFinished; }
555 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category=Replication)
569#if WITH_EDITORONLY_DATA
580 uint8 bAllowReceiveTickEventOnDedicatedServer:1;
583 uint8 bNetCheckedInitialPhysicsState : 1;
589 UPROPERTY(Config, EditDefaultsOnly, BlueprintReadOnly, Category=Replication, AdvancedDisplay)
590 uint8 bReplicateUsingRegisteredSubObjectList : 1;
593 friend class FActorDeferredScriptManager;
596 uint8 bHasFinishedSpawning:1;
602 uint8 bActorInitialized:1;
605 uint8 bActorBeginningPlayFromLevelStreaming:1;
608 uint8 bTickFunctionsRegistered:1;
611 uint8 bHasDeferredComponentRegistration:1;
614 uint8 bRunningUserConstructionScript:1;
617 uint8 bHasPreRegisteredAllComponents : 1;
620 uint8 bHasRegisteredAllComponents:1;
627 uint8 bActorEnableCollision:1;
631 uint8 bActorIsBeingDestroyed:1;
634 uint8 bActorWantsDestroyDuringBeginPlay : 1;
648 EActorBeginPlayState ActorHasBegunPlay:2;
651 uint8 bActorIsBeingConstructed : 1;
654 uint8 bActorIsPendingPostNetInit : 1;
721 UFUNCTION(BlueprintCallable, BlueprintAuthorityOnly, Category=Networking)
728 UFUNCTION(BlueprintCallable, Category=Networking)
738 UFUNCTION(BlueprintCallable, Category=Networking)
742 UFUNCTION(BlueprintCallable, Category=Networking)
761 float CustomTimeDilation;
766 int32 RayTracingGroupId;
769#if WITH_EDITORONLY_DATA
793 UPROPERTY(EditDefaultsOnly, ReplicatedUsing=OnRep_ReplicatedMovement, Category=Replication, AdvancedDisplay)
831 UPROPERTY(BlueprintReadOnly, EditDefaultsOnly, Category=Replication)
835 UE_DEPRECATED(5.3, "Replication
pausing is deprecated.")
839 UE_DEPRECATED(5.3, "Replication
pausing is deprecated.")
870 UPROPERTY(Category=Replication, EditDefaultsOnly, BlueprintReadWrite, meta=(AllowPrivateAccess=
true), BlueprintGetter=GetNetCullDistanceSquared, BlueprintSetter=SetNetCullDistanceSquared)
875 UPROPERTY(Category=Replication, EditDefaultsOnly, BlueprintReadWrite, meta=(AllowPrivateAccess=
true), BlueprintGetter=GetNetUpdateFrequency, BlueprintSetter=SetNetUpdateFrequency)
880 UPROPERTY(Category=Replication, EditDefaultsOnly, BlueprintReadWrite, meta=(AllowPrivateAccess=
true), BlueprintGetter=GetMinNetUpdateFrequency, BlueprintSetter=SetMinNetUpdateFrequency)
884 UPROPERTY(Category=Replication, EditDefaultsOnly, BlueprintReadWrite)
889 UPROPERTY(EditDefaultsOnly, Category = Replication)
894 UFUNCTION(BlueprintCallable, Category = Replication)
898 UFUNCTION(BlueprintCallable, Category = Replication)
902 UFUNCTION(BlueprintCallable, Category = Replication)
903 ENGINE_API void RegisterAsFocalPointInPhysicsReplicationLOD() const;
906 UFUNCTION(BlueprintCallable, Category = Replication)
907 ENGINE_API void UnregisterAsFocalPointInPhysicsReplicationLOD() const;
911 ENGINE_API bool CanTriggerResimulation() const;
915 ENGINE_API float GetResimulationThreshold() const;
935 FName GetNetDriverName()
const {
return NetDriverName; }
980 UPROPERTY(BlueprintReadWrite, ReplicatedUsing=OnRep_Instigator, meta=(ExposeOnSpawn=
true, AllowPrivateAccess=
true), Category=
Actor)
997#if WITH_EDITORONLY_DATA
999 UPROPERTY(EditAnywhere, BlueprintReadOnly, AdvancedDisplay, Category=
Actor)
1028 UPROPERTY(EditAnywhere, Category =
HLOD, meta = (DisplayName =
"HLOD Layer"))
1031#if WITH_EDITORONLY_DATA
1049#if WITH_EDITORONLY_DATA
1059#if WITH_EDITORONLY_DATA
1076 FGuid ActorInstanceGuid;
1082 FGuid ContentBundleGuid;
1085 UPROPERTY(VisibleAnywhere, AdvancedDisplay, Category = DataLayers)
1094 UPROPERTY(VisibleAnywhere, AdvancedDisplay, Category = DataLayers, TextExportTransient)
1106 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=
Rendering, meta=(DisplayName=
"Editor Billboard Scale"))
1111 uint64 HiddenEditorViews;
1147 inline const FGuid& GetActorGuid()
const {
return ActorGuid; }
1150 inline const FGuid& GetActorInstanceGuid()
const {
return ActorInstanceGuid.
IsValid() ? ActorInstanceGuid : ActorGuid; }
1195#if WITH_EDITORONLY_DATA
1204#if !WITH_EDITORONLY_DATA && ACTOR_HAS_LABELS
1211#if WITH_EDITORONLY_DATA || ACTOR_HAS_LABELS
1222#if WITH_EDITORONLY_DATA || ACTOR_HAS_LABELS
1229#if WITH_EDITORONLY_DATA
1254 uint8 bHiddenEdLayer:1;
1258 uint8 bHiddenEdLevel:1;
1297 uint8 bIsSpatiallyLoaded : 1;
1302 uint8 bHiddenEdTemporary:1;
1310 UPROPERTY(EditAnywhere, BlueprintReadWrite, AdvancedDisplay, Category=
Actor)
1406 UFUNCTION(BlueprintCallable, meta=(BlueprintInternalUseOnly="
true", HideSelfPin="
true", HidePin="InputAxisName"))
1418 UFUNCTION(BlueprintCallable, meta=(BlueprintProtected = "
true"), Category="
Game")
1426 T* GetInstigator()
const
1428 return Cast<T>(GetInstigator());
1432 UFUNCTION(BlueprintCallable, meta=(BlueprintProtected =
"true"), Category=
"Game")
1440 T* GetInstigatorController()
const
1442 return Cast<T>(GetInstigatorController());
1449 UE_DEPRECATED(5.4,
"Use ActorTypeSupportsDataLayer instead.")
1479 UE_DEPRECATED(5.1,
"Convert DataLayer using UDataLayerToAssetCommandlet and use AddDataLayer(UDataLayerInstance*)")
1490 UE_DEPRECATED(5.3, "Use UDataLayerInstance::AddActor(
AActor*)
instead.")
1493 UE_DEPRECATED(5.3,
"Use UDataLayerInstance::RemoveDataLayer(AActor*) instead.")
1496 UE_DEPRECATED(5.1,
"Convert DataLayer using UDataLayerToAssetCommandlet and use AddDataLayer(UDataLayerAsset*)")
1508 UE_DEPRECATED(5.1,
"Use GetDataLayerInstances() with no parameters instead")
1530 virtual bool SupportsIncrementalPreRegisterComponents()
const
1536 virtual bool SupportsIncrementalPreUnregisterComponents()
const
1542 ENGINE_API void IncrementalPreRegisterComponents();
1545 bool HasPreRegisteredAllComponents()
const {
return bHasPreRegisteredAllComponents; }
1548 ENGINE_API void IncrementalPreUnregisterComponents();
1557 UFUNCTION(BlueprintCallable, meta=(DisplayName =
"Get Actor Transform", ScriptName =
"GetActorTransform"), Category=
"Transformation")
1560 return ActorToWorld();
1570 UFUNCTION(BlueprintCallable, meta=(DisplayName =
"Get Actor Location", ScriptName =
"GetActorLocation", Keywords=
"position"), Category=
"Transformation")
1571 FVector K2_GetActorLocation() const;
1592 FRotator K2_GetActorRotation() const;
1596 FVector GetActorForwardVector() const;
1600 FVector GetActorUpVector() const;
1604 FVector GetActorRightVector() const;
1618 USceneComponent* K2_GetRootComponent() const;
1729 ENGINE_API float GetSquaredHorizontalDistanceTo(const
AActor* OtherActor) const;
1741 ENGINE_API float GetHorizontalDotProductTo(const
AActor* OtherActor) const;
1918 ENGINE_API void MarkNeedsRecomputeBoundsOnceForGame();
1933 bool GetActorEnableCollision() const;
1940 UFUNCTION(BlueprintCallable, Category="Networking")
1941 bool HasAuthority() const;
1990 UFUNCTION(BlueprintCallable, meta=(BlueprintInternalUseOnly="
true"))
1994 UE_DEPRECATED(4.17, "Use AttachToComponent()
instead.")
2021 UE_DEPRECATED(4.17, "Use AttachToActor()
instead.")
2048 UE_DEPRECATED(4.17, "Use DetachFromActor()
instead")
2087 ENGINE_API float GetActorTimeDilation() const;
2120 ENGINE_API float GetGameTimeSinceCreation() const;
2124 UFUNCTION(BlueprintImplementableEvent, meta=(DisplayName = "BeginPlay"))
2142 bool IsActorInitialized()
const {
return bActorInitialized; }
2154 UFUNCTION(BlueprintCallable, Category=
"Game")
2157 return bActorIsBeingDestroyed;
2170 UFUNCTION(BlueprintImplementableEvent, BlueprintAuthorityOnly, meta=(DisplayName =
"AnyDamage"), Category=
"Game|Damage")
2174 UFUNCTION(BlueprintImplementableEvent, BlueprintAuthorityOnly, meta=(DisplayName = "
RadialDamage"), Category="
Game|Damage")
2178 UFUNCTION(BlueprintImplementableEvent, BlueprintAuthorityOnly, meta=(DisplayName = "
PointDamage"), Category="
Game|Damage")
2182 UFUNCTION(BlueprintImplementableEvent, meta=(DisplayName = "
Tick"))
2305 UFUNCTION(BlueprintImplementableEvent, meta=(DisplayName = "Hit"), Category="
Collision")
2353#if UE_WITH_REMOTE_OBJECT_HANDLE
2358#if !UE_STRIP_DEPRECATED_PROPERTIES
2382 UE_DEPRECATED(5.4,
"Implement the version that takes FAssetRegistryTagsContext instead.")
2460 ENGINE_API virtual void GatherCurrentMovement();
2465 for(
const AActor* Arg=
this; Arg; Arg=Arg->
Owner )
2491 return TemplateGetActorTransform(
ToRawPtr(RootComponent));
2497 return TemplateGetActorLocation(
ToRawPtr(RootComponent));
2503 return TemplateGetActorRotation(
ToRawPtr(RootComponent));
2509 return TemplateGetActorScale(
ToRawPtr(RootComponent));
2515 return TemplateGetActorQuat(
ToRawPtr(RootComponent));
2526 inline FVector GetPivotOffset()
const
2541 UE_DEPRECATED(5.5,
"Use the override that takes both Runtime and Editor boxes")
2561 ENGINE_API virtual bool IsHLODRelevant()
const;
2564 ENGINE_API virtual bool HasHLODRelevantComponents()
const;
2605 UFUNCTION(BlueprintCallable, Category =
"Editor Scripting | Actor Editing")
2612 UFUNCTION(BlueprintCallable, Category =
"Editor Scripting | Actor Editing")
2662 UFUNCTION(BlueprintCallable, Category =
"Editor Scripting | Actor Editing")
2689 UE_DEPRECATED(5.6,
"Please use GetSceneOutlinerItemPackage or GetSceneOutlinerTopParentPackage instead.")
2702 UE_DEPRECATED(5.2,
"Use the override that takes a StringView instead")
2709 UE_DEPRECATED(5.4,
"Please use UI Commands and process your custom actors as necessary by extending the level editor modules' global command list.")
2728 UFUNCTION(BlueprintCallable, Category =
"Editor Scripting | Actor Editing", meta = (
KeyWords =
"Display Name"))
2816 UE_DEPRECATED(5.7,
"SetBrowseToAssetOverride is deprecated as it was unreliable. Register a callback with UBrowseToAssetOverrideSubsystem instead, and store the override as a property on your actor.")
2896 UFUNCTION(BlueprintCallable, Category=
"Actor|Tick")
2908 ENGINE_API void SetActorTickInterval(
float TickInterval);
2912 ENGINE_API float GetActorTickInterval() const;
2948 ENGINE_API virtual void PostNetReceiveRole();
2979 ENGINE_API void SyncReplicatedPhysicsSimulation();
2991 AActor* GetOwner() const;
3032 UFUNCTION(BlueprintCallable, Category=
"Collision", meta=(UnsafeDuringActorConstruction=
"true"))
3036 ENGINE_API bool IsRootComponentStatic() const;
3039 ENGINE_API bool IsRootComponentStationary() const;
3042 ENGINE_API bool IsRootComponentMovable() const;
3062 ENGINE_API virtual bool ShouldTickIfViewportsOnly()
const;
3123 ENGINE_API virtual void PreInitializeComponents();
3126 ENGINE_API virtual void PostInitializeComponents();
3133 virtual const AActor* GetNetOwner()
const;
3153 ENGINE_API virtual bool DestroyNetworkActorHandled();
3166 bool IsNetMode(
ENetMode Mode)
const;
3172 UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, Category =
"Networking")
3176 UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, Category="Networking")
3202 ENGINE_API bool IsActorOrSelectionParentSelected() const;
3216 UFUNCTION(BlueprintCallable, Category=
"Actor")
3221 ENGINE_API UChildActorComponent* GetParentComponent() const;
3240 inline bool HasDeferredComponentRegistration()
const {
return bHasDeferredComponentRegistration; }
3243 ENGINE_API bool HasValidRootComponent()
const;
3252 ENGINE_API virtual void PostUnregisterAllComponents();
3255 ENGINE_API virtual void ReregisterAllComponents();
3269 ENGINE_API void MarkComponentsRenderStateDirty();
3288 virtual void MarkComponentsAsPendingKill() { MarkComponentsAsGarbage(); }
3294 ENGINE_API virtual void MarkComponentsAsGarbage(
bool bModify =
true);
3311 InvalidateLightingCacheDetailed(
false);
3338 UFUNCTION(BlueprintCallable, meta=( DisplayName=
"Teleport", ScriptName=
"Teleport", Keywords =
"Move Position" ), Category=
"Transformation")
3373 UFUNCTION(BlueprintCallable, Category=Level)
3377 UFUNCTION(BlueprintCallable, Category=Level)
3381 ENGINE_API virtual void ClearCrossLevelReferences();
3413 ENGINE_API void ResetPropertiesForConstruction();
3416 ENGINE_API bool HasNonTrivialUserConstructionScript()
const;
3461 ENGINE_API void DestroyConstructedComponents();
3495 UE_DEPRECATED(5.7,
"This is being deprecated as part of iris beta. Use OnReplicationStartedForIris or FillReplicationParams overrides instead.")
3523 ENGINE_API void UpdateReplicatePhysicsCondition();
3533 ENGINE_API void ProcessUserConstructionScript();
3536 ENGINE_API bool CheckActorComponents() const;
3607 float GetSimpleCollisionRadius() const;
3610 float GetSimpleCollisionHalfHeight() const;
3613 FVector GetSimpleCollisionCylinderExtent() const;
3636 ENGINE_API void DisableComponentsSimulatePhysics();
3701 UFUNCTION(BlueprintImplementableEvent, Category=
Actor, meta=(DisplayName="OnReset", ScriptName="OnReset"))
3712 ENGINE_API bool WasRecentlyRendered(
float Tolerance = 0.2f) const;
3721 UFUNCTION( BlueprintCallable, Category="Networking")
3778 T* GetGameInstance()
const
3780 return Cast<T>(GetGameInstance());
3790 UFUNCTION(BlueprintCallable, Category =
"Actor", meta = (ComponentClass =
"/Script/Engine.ActorComponent"), meta = (DeterminesOutputType =
"ComponentClass"))
3795 T* GetComponentByClass()
const
3805 UFUNCTION(BlueprintCallable, Category =
"Actor", meta = (ComponentClass =
"/Script/Engine.ActorComponent", DisplayName =
"Get Components By Class", ScriptName =
"GetComponentsByClass", DeterminesOutputType =
"ComponentClass"))
3809 UFUNCTION(BlueprintCallable, Category = "
Actor", meta = (ComponentClass = "/
Script/
Engine.ActorComponent"), meta = (DeterminesOutputType = "ComponentClass"))
3813 UFUNCTION(BlueprintCallable, Category = "
Actor", meta = (ComponentClass = "/
Script/
Engine.ActorComponent"), meta = (DeterminesOutputType = "ComponentClass"))
3825 T* FindComponentByClass()
const
3829 return (T*)FindComponentByClass(T::StaticClass());
3838 return (T*)FindComponentByTag(T::StaticClass(),
Tag);
3842 template<
class T UE_REQUIRES(TPo
interIsConvertibleFromTo<T, UInterface>::Value)>
3843 UE_DEPRECATED(5.5,
"This version incorrectly casts to the UInterface type used for reflection. Use FindComponentByInterface<IMyInterface>() instead")
3844 T* FindComponentByInterface()
const
3846 return (T*)FindComponentByInterface(T::StaticClass());
3850 template<
class T UE_REQUIRES(TIsIInterface<T>::Value)>
3853 return Cast<T>(FindComponentByInterface(T::UClassType::StaticClass()));
3863 template<
class ComponentType,
bool bClassIsActorComponent,
bool bIncludeFromChildActors,
typename Func>
3869 check(ComponentClass->IsChildOf(ComponentType::StaticClass()));
3918 template<
class ComponentType,
typename Func>
3922 if (ComponentClass == UActorComponent::StaticClass())
3926 ForEachComponent_Internal<ComponentType,
true ,
true >(ComponentClass,
InFunc);
3930 ForEachComponent_Internal<ComponentType,
true ,
false >(ComponentClass,
InFunc);
3937 ForEachComponent_Internal<ComponentType,
false ,
true >(ComponentClass,
InFunc);
3941 ForEachComponent_Internal<ComponentType,
false ,
false >(ComponentClass,
InFunc);
3953 template<
class ComponentType,
typename Func>
3963 template<
typename Func>
3980 template<
class AllocatorType,
class ComponentType>
4000 template<
class ComponentType,
class AllocatorType>
4022 template<
class T,
class AllocatorType>
4046 template<
class T,
class AllocatorType>
4067 template<
class AllocatorType>
4100#if DO_CHECK || USING_CODE_ANALYSIS
4115 ENGINE_API void UpdateAllReplicatedComponents();
4142 return ReplicatedComponents;
4203 ENGINE_API bool IsReplicatedSubObjectRegistered(
const UObject* SubObject)
const;
4312 ENGINE_API void BuildReplicatedComponentsInfo();
4336 UPROPERTY(TextExportTransient, NonTransactional)
4369 UFUNCTION(BlueprintCallable, BlueprintAuthorityOnly, Category=
"AI", meta=(BlueprintProtected =
"true"))
4410#if !UE_BUILD_SHIPPING
4415#if !UE_STRIP_DEPRECATED_PROPERTIES
4417 UE_DEPRECATED(5.1,
"AActor::DetachFence has been deprecated. If you are relying on it for render thread synchronization in a subclass of actor, add your own fence to that class instead.")
4455 static inline const FTransform& TemplateGetActorTransform(
const T* RootComponent)
4457 return (RootComponent !=
nullptr) ? RootComponent->GetComponentTransform() :
FTransform::Identity;
4461 static inline FVector TemplateGetActorLocation(
const T* RootComponent)
4463 return (RootComponent !=
nullptr) ? RootComponent->GetComponentLocation() :
FVector::ZeroVector;
4467 static inline FRotator TemplateGetActorRotation(
const T* RootComponent)
4473 static inline FVector TemplateGetActorScale(
const T* RootComponent)
4475 return (RootComponent !=
nullptr) ? RootComponent->GetComponentScale() :
FVector(1.f,1.f,1.f);
4479 static inline FQuat TemplateGetActorQuat(
const T* RootComponent)
4481 return (RootComponent !=
nullptr) ? RootComponent->GetComponentQuat() :
FQuat(
ForceInit);
4485 static inline FVector TemplateGetActorForwardVector(
const T* RootComponent)
4491 static inline FVector TemplateGetActorUpVector(
const T* RootComponent)
4493 return (RootComponent !=
nullptr) ? RootComponent->GetUpVector() :
FVector::UpVector;
4497 static inline FVector TemplateGetActorRightVector(
const T* RootComponent)
4551 return bReplicateMovement;
4575 return bCanBeDamaged;
4604 return ReplicatedMovement;
4628 ENGINE_API float GetNetUpdateFrequency()
const;
4634 ENGINE_API void SetMinNetUpdateFrequency(
float MinFrequency);
4640 ENGINE_API float GetMinNetUpdateFrequency()
const;
4646 ENGINE_API void SetNetCullDistanceSquared(
float DistanceSq);
4652 ENGINE_API float GetNetCullDistanceSquared()
const;