UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DataLayerInstanceWithAsset.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
6
7#include "DataLayerInstanceWithAsset.generated.h"
8
9UCLASS(Config = Engine, PerObjectConfig, AutoCollapseCategories = ("Data Layer|Advanced"), AutoExpandCategories = ("Data Layer|Editor", "Data Layer|Advanced|Runtime"), MinimalAPI)
10class UDataLayerInstanceWithAsset : public UDataLayerInstance
11{
13
14public:
15#if WITH_EDITOR
16 //~ Begin UObject interface
17 ENGINE_API virtual bool CanEditChange(const FProperty* InProperty) const;
18 ENGINE_API virtual void PreEditUndo() override;
19 ENGINE_API virtual void PostEditUndo() override;
20 ENGINE_API virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
21 //~ End UObject interface
22
23 //~ Begin UDataLayerInstance interface
24 ENGINE_API virtual bool IsReadOnly(FText* OutReason = nullptr) const override;
25 ENGINE_API virtual bool CanAddActor(AActor* InActor, FText* OutReason = nullptr) const override;
26 ENGINE_API virtual bool CanRemoveActor(AActor* InActor, FText* OutReason = nullptr) const override;
27 ENGINE_API virtual bool CanBeInActorEditorContext() const override;
28 ENGINE_API virtual bool SupportsActorFilters() const override;
29 ENGINE_API virtual bool IsIncludedInActorFilterDefault() const override;
30 ENGINE_API virtual bool Validate(IStreamingGenerationErrorHandler* ErrorHandler) const override;
31 ENGINE_API virtual const UExternalDataLayerInstance* GetRootExternalDataLayerInstance() const override;
32 //~ End UDataLayerInstance interface
33
34 static const UDataLayerAsset* GetDataLayerAsset(const UDataLayerAsset* Asset) { return Asset; } // Used when creating a DataLayerInstance
37 ENGINE_API virtual void OnCreated(const UDataLayerAsset* Asset);
38 virtual bool CanEditDataLayerAsset() const { return true; }
39#endif
40
41 //~ Begin UDataLayerInstance interface
42 ENGINE_API virtual UWorld* GetOuterWorld() const override;
43 virtual const UDataLayerAsset* GetAsset() const override { return DataLayerAsset; }
44 virtual EDataLayerType GetType() const override { return DataLayerAsset ? DataLayerAsset->GetType() : EDataLayerType::Unknown; }
45 virtual bool IsRuntime() const override { return DataLayerAsset && DataLayerAsset->IsRuntime(); }
46 virtual bool IsClientOnly() const override { return DataLayerAsset && DataLayerAsset->IsClientOnly(); }
47 virtual bool IsServerOnly() const override { return DataLayerAsset && DataLayerAsset->IsServerOnly(); }
48 virtual FColor GetDebugColor() const override { return DataLayerAsset ? DataLayerAsset->GetDebugColor() : FColor::Black; }
49 virtual FString GetDataLayerShortName() const override { return DataLayerAsset ? DataLayerAsset->GetName() : GetDataLayerFName().ToString(); }
50 virtual FString GetDataLayerFullName() const override { return DataLayerAsset ? DataLayerAsset->GetPathName() : GetDataLayerFName().ToString(); }
51 //~ End UDataLayerInstance interface
52
53protected:
54#if WITH_EDITOR
55 ENGINE_API virtual bool PerformAddActor(AActor* InActor) const;
56 ENGINE_API virtual bool PerformRemoveActor(AActor* InActor) const;
57
59#endif
60
61private:
62 UPROPERTY(Category = "Data Layer", EditAnywhere, meta = (DisallowedClasses = "/Script/Engine.ExternalDataLayerAsset"))
63 TObjectPtr<const UDataLayerAsset> DataLayerAsset;
64
65#if WITH_EDITORONLY_DATA
66 UPROPERTY(Category = "Data Layer|Actor Filter", EditAnywhere, meta = (DisplayName = "Is Included", ToolTip = "Whether actors assigned to this DataLayer are included by default when used in a filter"))
68#endif
69
70#if WITH_EDITOR
71 // Used to compare state pre/post undo
73#endif
74
75 friend class UDataLayerConversionInfo;
76 friend class ULevelInstanceSubsystem;
77};
bool IsRuntime(const UBodySetup *BS)
Definition BodySetup.cpp:381
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EDataLayerType
Definition DataLayerType.h:9
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition Actor.h:257
Definition Engine.Build.cs:7
Definition NameTypes.h:617
Definition UnrealType.h:174
Definition Text.h:385
Definition SubclassOf.h:30
Definition DataLayerAsset.h:30
Definition LevelInstanceSubsystem.h:55
Definition World.h:918
ECollisionShapeType GetType(const Chaos::FImplicitObject &InGeometry)
Definition ChaosInterfaceWrapperCore.h:105
FString MakeName(const FString &InName, bool bIsJoint)
Definition InterchangeHelper.cpp:120
Definition Color.h:486
CORE_API FString ToString() const
Definition Color.cpp:584
static CORE_API const FColor Black
Definition Color.h:750
Definition UnrealType.h:6865
Definition ObjectPtr.h:488