Navigation
API > API/Runtime > API/Runtime/Landscape
| Name | ULandscapeSubsystem |
| Type | class |
| Header File | /Engine/Source/Runtime/Landscape/Public/LandscapeSubsystem.h |
| Include Path | #include "LandscapeSubsystem.h" |
Syntax
UCLASS (MinimalAPI)
class ULandscapeSubsystem : public UTickableWorldSubsystem
Inheritance Hierarchy
- FTickableObjectBase → FTickableGameObject → UTickableWorldSubsystem → ULandscapeSubsystem
- UObjectBase → UObjectBaseUtility → UObject → USubsystem → UWorldSubsystem → UTickableWorldSubsystem → ULandscapeSubsystem
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
ULandscapeSubsystem() |
LandscapeSubsystem.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~ULandscapeSubsystem() |
LandscapeSubsystem.h |
Classes
| Name | Remarks |
|---|---|
| FDelegateAccess | Helper class reserved for friends that are allowed to fire the subsystem's inner callbacks. |
Enums
Public
| Name | Remarks |
|---|---|
| EFinishAllNaniteBuildsInFlightFlags |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AppCurrentDateTime | FDateTime | LandscapeSubsystem.h | ||
| bAnyViewShowCollisions | bool | LandscapeSubsystem.h | ||
| bIsGrassCreationPrioritized | bool | LandscapeSubsystem.h | ||
| GrassMapsBuilder | FLandscapeGrassMapsBuilder * | LandscapeSubsystem.h | ||
| Groups | TMap< uint32, FLandscapeGroup * > | LODGroupKey --> Landscape Group. | LandscapeSubsystem.h | |
| LandscapeActors | TArray< TObjectPtr< ALandscape > > | LandscapeSubsystem.h |
|
|
| LastTickFrameNumber | int32 | LandscapeSubsystem.h | ||
| NaniteBuildsInFlight | std::atomic< int32 > | LandscapeSubsystem.h | ||
| NaniteFinalizeBuildEvents | TArray< FGraphEventRef > | A list of graph events that track the status of. | LandscapeSubsystem.h | |
| NaniteMeshBuildStates | TArray< TSharedRef< UE::Landscape::Nanite::FAsyncBuildData > > | LandscapeSubsystem.h | ||
| NaniteStaticMeshesInFlight | std::atomic< int32 > | LandscapeSubsystem.h | ||
| NotificationManager | FLandscapeNotificationManager * | LandscapeSubsystem.h | ||
| NumNaniteMeshUpdatesAvailable | float | LandscapeSubsystem.h | ||
| OnHeightmapStreamedDelegate | FOnHeightmapStreamedDelegate | LandscapeSubsystem.h | ||
| OnLandscapeProxyComponentDataChangedDelegate | FOnLandscapeProxyComponentDataChanged | LandscapeSubsystem.h | ||
| OnLandscapeProxyMaterialChangedDelegate | FOnLandscapeProxyMaterialChanged | LandscapeSubsystem.h | ||
| OnNaniteWorldSettingsChangedHandle | FDelegateHandle | LandscapeSubsystem.h | ||
| OnScalabilityChangedHandle | FDelegateHandle | LandscapeSubsystem.h | ||
| PhysicalMaterialBuilder | FLandscapePhysicalMaterialBuilder * | LandscapeSubsystem.h | ||
| Proxies | TArray< TObjectPtr< ALandscapeProxy > > | UPROPERTY ensures these objects are not deleted before being unregistered (technically not necessary, as actors should always unregister prior to deletion) | LandscapeSubsystem.h |
|
| StreamingProxiesNeedingReregister | TSet< TObjectPtr< ALandscapeStreamingProxy > > | List of streaming proxies that need to re-register with their group because they moved, or changed their LODGroupKey | LandscapeSubsystem.h |
|
| TextureStreamingManager | FLandscapeTextureStreamingManager * | LandscapeSubsystem.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddAsyncEvent
(
FGraphEventRef GraphEventRef |
LandscapeSubsystem.h | ||
void AddNaniteFinalizeBuildEvent
(
FGraphEventRef InNaniteFinalizeBuildEvent |
LandscapeSubsystem.h | ||
bool AnyViewShowCollisions() |
LandscapeSubsystem.h | ||
bool AreNaniteBuildsInProgress() |
LandscapeSubsystem.h | ||
void BuildAll
(
UE::Landscape::EBuildFlags InBuildFlags |
LandscapeSubsystem.h | ||
void BuildAll () |
LandscapeSubsystem.h | ||
void BuildGrassMaps
(
UE::Landscape::EBuildFlags InBuildFlags |
LandscapeSubsystem.h | ||
void BuildGrassMaps () |
Synchronously build grass maps for all components | LandscapeSubsystem.h | |
void BuildNanite
(
UE::Landscape::EBuildFlags InBuildFlags, |
Updates the Nanite mesh on all landscape actors whose mesh is not up to date. | LandscapeSubsystem.h | |
void BuildNanite
(
TArrayView< ALandscapeProxy* > InProxiesToBuild, |
LandscapeSubsystem.h | ||
void BuildPhysicalMaterial
(
UE::Landscape::EBuildFlags InBuildFlags |
LandscapeSubsystem.h | ||
void BuildPhysicalMaterial () |
LandscapeSubsystem.h | ||
void ChangeGridSize
(
ULandscapeInfo* LandscapeInfo, |
LandscapeSubsystem.h | ||
TSharedRef< UE::Landscape::Nanite::FAsyncBuildData > CreateTrackedNaniteBuildState
(
ALandscapeProxy* LandscapeProxy, |
LandscapeSubsystem.h | ||
void DecNaniteBuild() |
LandscapeSubsystem.h | ||
void DisplayMessages
(
FCanvas* Canvas, |
LandscapeSubsystem.h | ||
virtual bool DoesSupportWorldType
(
const EWorldType::Type WorldType |
LandscapeSubsystem.h | ||
ALandscapeProxy * FindOrAddLandscapeProxy
(
ULandscapeInfo* LandscapeInfo, |
LandscapeSubsystem.h | ||
bool FinishAllNaniteBuildsInFlightNow
(
EFinishAllNaniteBuildsInFlightFlags FinishFlags |
Returns true if all nanite builds were completed (false if cancelled, or failed to complete) | LandscapeSubsystem.h | |
void ForEachLandscapeInfo
(
TFunctionRef< bool(ULandscapeInfo*)> ForEachLandscapeInfoFunc |
LandscapeSubsystem.h | ||
bool GetActionableMessage
(
FActionableMessage& OutActionableMessage |
LandscapeSubsystem.h | ||
FDateTime GetAppCurrentDateTime() |
Returns true if any view has view collisions enabled. | LandscapeSubsystem.h | |
FDelegateAccess GetDelegateAccess() |
LandscapeSubsystem.h | ||
bool GetDirtyOnlyInMode() |
LandscapeSubsystem.h | ||
FLandscapeGrassMapsBuilder * GetGrassMapBuilder() |
LandscapeSubsystem.h | ||
FLandscapeGroup * GetLandscapeGroupForComponent
(
ULandscapeComponent* Component |
LandscapeSubsystem.h | ||
FLandscapeGroup * GetLandscapeGroupForProxy
(
ALandscapeProxy* Proxy |
LandscapeSubsystem.h | ||
FLandscapeNotificationManager * GetNotificationManager() |
LandscapeSubsystem.h | ||
FOnHeightmapStreamedDelegate & GetOnHeightmapStreamedDelegate() |
LandscapeSubsystem.h | ||
TArray< ALandscapeProxy * > GetOutdatedProxies
(
UE::Landscape::EOutdatedDataFlags InMatchingOutdatedDataFlags, |
LandscapeSubsystem.h | ||
TArray< TTuple< ALandscapeProxy *, UE::Landscape::EOutdatedDataFlags > > GetOutdatedProxyDetails
(
UE::Landscape::EOutdatedDataFlags InMatchingOutdatedDataFlags, |
LandscapeSubsystem.h | ||
virtual TStatId GetStatId() |
LandscapeSubsystem.h | ||
FLandscapeTextureStreamingManager * GetTextureStreamingManager() |
LandscapeSubsystem.h | ||
virtual ETickableTickType GetTickableTickType() |
LandscapeSubsystem.h | ||
bool HasModifiedLandscapes() |
Returns true if there are some landscapes in the editor world that have been automatically modified and are in need of being saved (see LandscapeDirtyingMode) | LandscapeSubsystem.h | |
void IncNaniteBuild() |
LandscapeSubsystem.h | ||
bool IsGrassCreationPrioritized() |
LandscapeSubsystem.h | ||
bool IsGridBased() |
LandscapeSubsystem.h | ||
bool IsLiveNaniteRebuildEnabled() |
Returns true if the user has requested Nanite Meshes to be generated on landscape edit. If we return false then the nanite build will happen either on map save or explicit build. | LandscapeSubsystem.h | |
bool IsMultithreadedNaniteBuildEnabled() |
Returns true if we should build nanite meshes in parallel asynchronously. | LandscapeSubsystem.h | |
virtual bool IsTickableInEditor() |
LandscapeSubsystem.h | ||
void MarkModifiedLandscapesAsDirty
(
UE::Landscape::EBuildFlags InBuildFlags |
LandscapeSubsystem.h | ||
void MarkModifiedLandscapesAsDirty () |
LandscapeSubsystem.h | ||
FOnHeightmapStreamedDelegate::RegistrationType & OnHeightmapStreamed() |
LandscapeSubsystem.h | ||
FOnLandscapeProxyComponentDataChanged::RegistrationType & OnLandscapeProxyComponentDataChanged() |
LandscapeSubsystem.h | ||
FOnLandscapeProxyMaterialChanged::RegistrationType & OnLandscapeProxyMaterialChanged() |
LandscapeSubsystem.h | ||
void PrioritizeGrassCreation
(
bool bPrioritizeGrassCreation |
Setting this to true causes grass instance generation to go wider (multiplies the limits by GGrassCreationPrioritizedMultipler) | LandscapeSubsystem.h | |
void RegenerateGrass
(
bool bInFlushGrass, |
Can be called at runtime : (optionally) flushes grass on all landscape components and updates them | LandscapeSubsystem.h | |
void RegisterActor
(
ALandscapeProxy* Proxy |
LandscapeSubsystem.h | ||
void RegisterComponent
(
ULandscapeComponent* Component |
Called when components are registered to the world | LandscapeSubsystem.h | |
void RemoveGrassInstances
(
const TSet< ULandscapeComponent* >* ComponentsToRemoveGrassInstances |
Remove all grass instances from the specified components. If passed null, removes all grass instances from all proxies. | LandscapeSubsystem.h | |
void SaveModifiedLandscapes () |
LandscapeSubsystem.h | ||
void SaveModifiedLandscapes
(
UE::Landscape::EBuildFlags InBuildFlags |
Dirties and saves the landscapes in the editor world that have been automatically modified and are in need of being saved (see LandscapeDirtyingMode) | LandscapeSubsystem.h | |
virtual void Tick
(
float DeltaTime |
LandscapeSubsystem.h | ||
void TickEdgeFixup() |
Runs per-tick edge fixup on ALL landscape groups in the subsystem | LandscapeSubsystem.h | |
void UnregisterActor
(
ALandscapeProxy* Proxy |
LandscapeSubsystem.h | ||
void UnregisterComponent
(
ULandscapeComponent* Component |
LandscapeSubsystem.h | ||
void WaitLaunchNaniteBuild() |
Wait unit we're able to continue a landscape export task (Max concurrent nanite mesh builds is defined by landscape.Nanite.MaxSimultaneousMultithreadBuilds and landscape.Nanite.MultithreadBuild CVars) | LandscapeSubsystem.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void AddReferencedObjects
(
UObject* InThis, |
LandscapeSubsystem.h |