UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
LevelInstanceActor.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
8#include "Containers/Array.h"
15#include "LevelInstanceActor.generated.h"
16
17UCLASS(MinimalAPI)
19{
21
22public:
24
25protected:
26#if WITH_EDITORONLY_DATA
28 UPROPERTY(EditAnywhere, Category = Level, Meta = (NoCreate, DisplayName="Level", DisableLevelInstancePropertyOverride))
29 TSoftObjectPtr<UWorld> WorldAsset;
30
31 UPROPERTY(VisibleAnywhere, Category = Override, meta = (EditInline, NoResetToDefault, EditCondition="PropertyOverrides != nullptr", EditConditionHides))
33#endif
34
35 UPROPERTY(VisibleAnywhere, Category = Default)
36 TObjectPtr<ULevelInstanceComponent> LevelInstanceComponent;
37
39 TSoftObjectPtr<UWorld> CookedWorldAsset;
40
42 FGuid LevelInstanceSpawnGuid;
43
44 FLevelInstanceActorGuid LevelInstanceActorGuid;
45 FLevelInstanceActorImpl LevelInstanceActorImpl;
46
47#if WITH_EDITORONLY_DATA
48//Force the usage of SetDesiredRuntimeBehavior to change the behavior
49private:
50 UPROPERTY(EditAnywhere, Category = Level, AdvancedDisplay, Meta = (DisplayName="Level Behavior", DisableLevelInstancePropertyOverride))
52#endif
53
54public:
55 // Begin ILevelInstanceInterface
56 ENGINE_API const FLevelInstanceID& GetLevelInstanceID() const override;
57 ENGINE_API bool HasValidLevelInstanceID() const override;
58 ENGINE_API virtual const FGuid& GetLevelInstanceGuid() const override;
59 ENGINE_API virtual const TSoftObjectPtr<UWorld>& GetWorldAsset() const override;
60
61 ENGINE_API virtual void OnLevelInstanceLoaded() override;
62 ENGINE_API virtual bool IsLoadingEnabled() const override;
63 // End ILevelInstanceInterface
64
65 ENGINE_API virtual void PostRegisterAllComponents() override;
66 ENGINE_API virtual void PostUnregisterAllComponents() override;
67 ENGINE_API virtual void Serialize(FArchive& Ar) override;
68 ENGINE_API virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;
69 ENGINE_API virtual void PostNetInit() override;
70
71#if WITH_EDITOR
72 // Begin ILevelInstanceInterface
74 ENGINE_API virtual bool SetWorldAsset(TSoftObjectPtr<UWorld> WorldAsset) override;
77 virtual ELevelInstanceRuntimeBehavior GetDefaultRuntimeBehavior() const override { return ELevelInstanceRuntimeBehavior::Partitioned; }
78 ENGINE_API virtual TSubclassOf<AActor> GetEditorPivotClass() const override;
79 ENGINE_API virtual bool SupportsPartialEditorLoading() const override;
80
81 ENGINE_API virtual bool SupportsPropertyOverrides() const override;
83 // End ILevelInstanceInterface
84
85 // UObject overrides
86 ENGINE_API virtual void PreEditUndo() override;
87 ENGINE_API virtual void PostEditUndo() override;
89 ENGINE_API virtual void PostLoad() override;
90 ENGINE_API virtual void OnCookEvent(UE::Cook::ECookEvent CookEvent, UE::Cook::FCookEventContext& Context) override;
91 ENGINE_API virtual bool CanEditChange(const FProperty* InProperty) const override;
93 ENGINE_API virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
94 ENGINE_API virtual void PostEditImport() override;
95 ENGINE_API virtual bool ResolveSubobject(const TCHAR* SubObjectPath, UObject*& OutObject, bool bLoadIfExists) override;
96
97 // AActor overrides
98 ENGINE_API virtual bool CanEditChangeComponent(const UActorComponent* InComponent, const FProperty* InProperty) const override;
99 ENGINE_API virtual void CheckForErrors() override;
101 ENGINE_API virtual bool CanDeleteSelectedActor(FText& OutReason) const override;
102 ENGINE_API virtual void SetIsTemporarilyHiddenInEditor(bool bIsHidden) override;
103 ENGINE_API virtual bool SetIsHiddenEdLayer(bool bIsHiddenEdLayer) override;
105 ENGINE_API virtual void PushSelectionToProxies() override;
107 ENGINE_API virtual FBox GetComponentsBoundingBox(bool bNonColliding = false, bool bIncludeFromChildActors = false) const override;
108 ENGINE_API virtual void GetStreamingBounds(FBox& OutRuntimeBounds, FBox& OutEditorBounds) const override;
109 ENGINE_API virtual bool IsLockLocation() const override;
110 ENGINE_API virtual bool IsActorLabelEditable() const override;
111 ENGINE_API virtual bool GetReferencedContentObjects(TArray<UObject*>& Objects) const override;
113 ENGINE_API virtual bool OpenAssetEditor() override;
114 ENGINE_API virtual bool EditorCanAttachFrom(const AActor* InChild, FText& OutReason) const override;
115 ENGINE_API virtual bool IsUserManaged() const override;
116 ENGINE_API virtual bool ShouldExport() override;
117 virtual bool SupportsSubRootSelection() const override { return true; }
118 ENGINE_API virtual bool IsHLODRelevant() const override;
119 ENGINE_API virtual bool HasHLODRelevantComponents() const override;
120 // End of AActor interface
121
124
125private:
127 ENGINE_API virtual bool ShouldCookWorldAsset() const;
128#endif
129};
130
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
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
ELevelInstanceRuntimeBehavior
Definition LevelInstanceTypes.h:57
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
#define DEFINE_ACTORDESC_TYPE(ActorType, ActorDescType)
Definition WorldPartitionActorDescType.h:36
Definition Actor.h:257
Definition LevelInstanceActor.h:19
Definition Archive.h:1208
Definition LevelInstanceActorImpl.h:20
Definition UnrealType.h:174
Definition Text.h:385
Definition LevelInstanceInterface.h:33
Definition Array.h:670
Definition SharedPointer.h:692
Definition SubclassOf.h:30
Definition UniquePtr.h:107
Definition ActorComponent.h:152
Definition LevelInstanceComponent.h:26
Definition LevelInstancePropertyOverrideAsset.h:32
Definition Object.h:95
Definition World.h:918
Definition Guid.h:109
Definition LevelInstanceActorGuid.h:15
Definition LevelInstanceTypes.h:14
Definition UnrealType.h:6865
Definition ObjectPtr.h:488
Definition SoftObjectPtr.h:174