UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
HLODLayer.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"
6#include "EngineDefines.h"
9#include "UObject/Object.h"
10
11#include "EngineDefines.h"
15
17
18#include "HLODLayer.generated.h"
19
20class AActor;
22class UHLODBuilder;
25class UMaterial;
26class UWorldPartition;
29
30UENUM()
32{
33 Instancing UMETA(DisplayName = "Instancing"),
34 MeshMerge UMETA(DisplayName = "Merged Mesh"),
35 MeshSimplify UMETA(DisplayName = "Simplified Mesh"),
36 MeshApproximate UMETA(DisplayName = "Approximated Mesh"),
37 Custom UMETA(DisplayName = "Custom Builder"),
38 CustomHLODActor UMETA(DisplayName = "Custom HLOD Actor"),
39};
40
41UCLASS(Blueprintable, MinimalAPI)
43{
45
46#if WITH_EDITOR
47public:
50
52 static ENGINE_API UHLODLayer* DuplicateHLODLayersSetup(UHLODLayer* HLODLayer, const FString& DestinationPath, const FString& Prefix);
53
54 EHLODLayerType GetLayerType() const { return LayerType; }
60 UHLODLayer* GetParentLayer() const { return ParentLayer; }
62 UHLODLayer* GetLinkedLayer() const { return LinkedLayer; }
63 ENGINE_API bool DoesRequireWarmup() const;
65
66 UE_DEPRECATED(5.7, "Deprecated. These streaming grid properties are now specified in the partition's settings.")
68 UE_DEPRECATED(5.7, "Deprecated. These streaming grid properties are now specified in the partition's settings.")
69 bool IsSpatiallyLoaded() const { return bIsSpatiallyLoaded; }
70 UE_DEPRECATED(5.7, "Deprecated. These streaming grid properties are now specified in the partition's settings.")
71 void SetIsSpatiallyLoaded(bool bInIsSpatiallyLoaded) { bIsSpatiallyLoaded = bInIsSpatiallyLoaded; }
72 UE_DEPRECATED(5.7, "Deprecated. These streaming grid properties are now specified in the partition's settings.")
73 int32 GetCellSize() const { return !bIsSpatiallyLoaded ? 0 : CellSize; }
74 UE_DEPRECATED(5.7, "Deprecated. These streaming grid properties are now specified in the partition's settings.")
75 double GetLoadingRange() const { return !bIsSpatiallyLoaded ? WORLD_MAX : LoadingRange; }
76 UE_DEPRECATED(5.7, "Deprecated. These streaming grid properties are now specified in the partition's settings.")
78
79 // Get name of properties
80 static const FName GetLayerTypePropertyName() { return GET_MEMBER_NAME_CHECKED(UHLODLayer, LayerType); };
82
83private:
84 //~ Begin UObject Interface.
85 ENGINE_API virtual void PostLoad() override;
86#if WITH_EDITORONLY_DATA
88#endif
89 ENGINE_API virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
90 virtual EDataValidationResult IsDataValid(class FDataValidationContext& Context) const override;
91 //~ End UObject Interface.
92#endif
93
94#if WITH_EDITORONLY_DATA
95private:
97 UPROPERTY(EditAnywhere, Category=General)
98 EHLODLayerType LayerType;
99
101 UPROPERTY(EditAnywhere, Category=General, meta = (DisplayName = "HLOD Builder Class", EditConditionHides, EditCondition = "LayerType == EHLODLayerType::Custom"))
103
104 UPROPERTY(VisibleAnywhere, Instanced, NoClear, Category=General, meta = (NoResetToDefault, EditInline, ShowInnerProperties))
106
108 UPROPERTY(EditAnywhere, Category=General)
109 uint32 bIsSpatiallyLoaded : 1;
110
112 UPROPERTY(EditAnywhere, Category=General)
113 int32 CellSize;
114
116 UPROPERTY(EditAnywhere, Category=General)
117 double LoadingRange;
118
120 UPROPERTY(EditAnywhere, Category=General)
122
124 UPROPERTY(EditAnywhere, Category=General, AdvancedDisplay, meta = (EditConditionHides, EditCondition = "LayerType == EHLODLayerType::CustomHLODActor"))
126
128 UPROPERTY(EditAnywhere, Category = General, AdvancedDisplay, meta = (DisplayName = "HLOD Actor Class"))
130
132 UPROPERTY(EditAnywhere, Category = General, AdvancedDisplay, meta = (DisplayName = "HLOD Modifier Class"))
134
136
137private:
138 friend class FWorldPartitionHLODUtilities;
139
140 UPROPERTY()
142 UPROPERTY()
144 UPROPERTY()
146 UPROPERTY()
148 UPROPERTY()
150#endif
151};
152
153
154#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_5
155#include "Engine/MeshMerging.h"
156#endif
#define GET_MEMBER_NAME_CHECKED(ClassName, MemberName)
Definition AssertionMacros.h:493
#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
#define WORLD_MAX
Definition EngineDefines.h:53
EHLODLayerType
Definition HLODLayer.h:32
@ General
Definition MaterialExpressionFunctionInput.h:41
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
EDataValidationResult
Definition UObjectGlobals.h:4225
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 HLODActor.h:67
Definition DataValidation.h:40
Definition NameTypes.h:617
Definition WorldPartitionActorDesc.h:282
Definition Array.h:670
Definition SubclassOf.h:30
Definition Class.h:3793
Definition HLODBuilder.h:24
Definition HLODBuilder.h:112
Definition HLODLayer.h:43
Definition Material.h:432
Definition Object.h:95
Definition HLODModifier.h:20
Definition WorldPartition.h:142
Definition MeshApproximationSettings.h:61
Definition MeshMergingSettings.h:42
Definition MeshProxySettings.h:34
Definition UnrealType.h:6865
Definition ObjectPtr.h:488
Definition SoftObjectPtr.h:174