# IHierarchicalLODUtilities

[IHierarchicalLODUtilities](API\Developer\HierarchicalLODUtilities\IHierarchicalLODUtilities) module interface

## Navigation

Unreal Engine C++ API Reference > Developer > HierarchicalLODUtilities

## Inheritance Hierarchy

- IHierarchicalLODUtilities

## References

Module | HierarchicalLODUtilities
Header | /Engine/Source/Developer/HierarchicalLODUtilities/Public/IHierarchicalLODUtilities.h
Include | #include "IHierarchicalLODUtilities.h"

## Syntax

    class IHierarchicalLODUtilities

## Remarks

IHierarchicalLODUtilities module interface

## Destructors

Type | Name | Description
--- | --- | ---
| ~IHierarchicalLODUtilities () |

## Functions

Type | Name | Description
--- | --- | ---
const bool | AddActorToCluster ( AActor* InActor, ALODActor* InParentActor ) | Adds an actor to the given cluster
const bool | AreActorsClustered ( const TArray< AActor* >& InAc... ) | Checks if all actors are part of a cluster
const bool | AreActorsInSameHLODLevel ( const TArray< AActor* >& InAc... ) | Checks if all actors are in the same HLOD level
const bool | AreActorsInSamePersistingLevel ( const TArray< AActor* >& InAc... ) | Checks if all actors have the same outer world
const bool | AreClustersInSameHLODLevel ( const TArray< ALODActor* >& I... ) | Checks if all clusters are in the same HLOD level
bool | BuildStaticMeshForLODActor ( ALODActor* LODActor, UHLODProxy* Proxy, const FHierarchicalSimplification&..., UMaterialInterface* InBaseMate... ) |
bool | BuildStaticMeshForLODActor ( ALODActor* LODActor, UPackage* AssetsOuter, const FHierarchicalSimplification&..., UMaterialInterface* InBaseMate... ) |
bool | BuildStaticMeshForLODActor ( ALODActor* LODActor, UPackage* AssetsOuter, const FHierarchicalSimplification&... ) | Builds a virtual mesh object for the given LODACtor
float | CalculateDrawDistanceFromScreenSize ( const float SphereRadius, const float ScreenSize, const FMatrix& ProjectionMatrix ) |
float | CalculateScreenSizeFromDrawDistance ( const float SphereRadius, const FMatrix& ProjectionMatrix, const float Distance ) | Computes the Screensize of the given Sphere taking into account the ProjectionMatrix and distance
void | CleanStandaloneAssetsInPackage ( UPackage* InPackage ) | Cleans any standalone flags for meshes, textures and materials.
int32 | ComputeStaticMeshLODLevel ( const TArray< FStaticMeshSourceMode..., const FStaticMeshRenderData* R..., const float ScreenSize ) | Computes which LOD level of a Mesh corresponds to the given Distance (calculates closest ScreenSize with distance)
ALODActor &#... | CreateNewClusterActor ( UWorld* InWorld, const int32 InLODLevel, AWorldSettings* WorldSettings ) | Creates a new cluster actor in the given InWorld with InLODLevel as HLODLevel
ALODActor &#... | CreateNewClusterFromActors ( UWorld* InWorld, AWorldSettings* WorldSettings, const TArray< AActor* >& InAc..., const int32 InLODLevel ) | Creates a new cluster in InWorld with InActors as sub actors
UPackage ... | CreateOrRetrieveLevelHLODPackage ( const ULevel* InLevel ) |
UPackage ... | CreateOrRetrieveLevelHLODPackage ( const ULevel* InLevel, const uint32 HLODLevelIndex ) | Creates or retrieves the HLOD package that is created for the given level
UHLODProxy &... | CreateOrRetrieveLevelHLODProxy ( const ULevel* InLevel, const uint32 HLODLevelIndex ) | Creates or retrieves the HLOD proxy that is created for the given level
AHierarchica... | CreateVolumeForLODActor ( ALODActor* InLODActor, UWorld* InWorld ) | Creates a HierarchicalLODVolume using the bounds of a given LODActor
void | DeleteLODActorsInHLODLevel ( UWorld* InWorld, const int32 HLODLevelIndex ) | Deletes all the ALODActors with the given HLODLevelIndex inside off InWorld
void | DestroyCluster ( ALODActor* InActor ) | Deletes the given cluster's data and instance in the world
void | DestroyClusterData ( ALODActor* InActor ) | Deletes the given cluster's assets
void | DestroyLODActor ( ALODActor* InActor ) | Destroys an LODActor instance
void | ExcludeActorFromClusterGeneration ( AActor* InActor ) | Excludes an actor from the cluster generation process
void | ExtractStaticMeshActorsFromLODActor ( ALODActor* LODActor, TArray< AActor* >& InOutActor... ) | Extracts all the virtual Mesh Actors from the given LODActor's SubActors array
void | ExtractStaticMeshComponentsFromLODActor ( AActor* Actor, TArray< UStaticMeshComponent* ... ) | Recursively retrieves StaticMeshComponents from a LODActor and its child LODActors
void | ExtractSubActorsFromLODActor ( AActor* Actor, TArray< AActor* >& InOutActor... ) | Recursively retrieves Actors from a LODActor and its child LODActors
FString | GetLevelHLODProxyName ( const FString& InLevelPackageName, const uint32 HLODLevelIndex ) | Get the name of a HLOD proxy given the name of a level's package
int32 | GetLODLevelForScreenSize ( const UStaticMeshComponent* St..., const float ScreenSize ) | Computes the LODLevel for a StaticMeshComponent taking into account the ScreenSize
ALODActor &#... | GetParentLODActor ( const AActor* InActor ) | Returns the ALODActor parent for the given InActor, nullptr if none available
FString | GetWildcardOfHLODPackagesForPackage ( const FString& PackageName ) | Retrieves a wildcard that includes all possible HLOD packagenames that could be used by the given package.
void | HandleActorModified ( AActor* InActor ) | Handles changes in actors for the current world, checks if InActor is part of a HLOD cluster and if so set its dirty-flag
const bool | IsActorClustered ( const AActor* InActor ) | Checks if an actor is clustered
bool | IsWorldUsedForStreaming ( const UWorld* InWorld ) | Checks whether or not the given InWorld is used as a streaming level by any other World in the level
const bool | MergeClusters ( ALODActor* TargetCluster, ALODActor* SourceCluster ) | Merges two clusters together
const bool | RemoveActorFromCluster ( AActor* InActor ) | Removes the given actor from it's parent cluster
UPackage ... | RetrieveLevelHLODPackage ( const ULevel* InLevel, const uint32 HLODLevelIndex ) | Retrieves the HLOD package that is created for the given level
UHLODProxy &... | RetrieveLevelHLODProxy ( const ULevel* InLevel, const uint32 HLODLevelIndex ) | Retrieves the HLOD proxy that is created for the given level
EClusterGene... | ShouldGenerateCluster ( AActor* Actor, const int32 HLODLevelIndex ) | Returns whether or not the given actor is eligible for creating a HLOD cluster creation

Ask questions and help your peers Developer Forums

Write your own tutorials or read those from others Learning Library

On this page

- Navigation
- Inheritance Hierarchy
- References
- Syntax
- Remarks
- Destructors
- Functions

## Privacy Preference Center

### Your Privacy

When you visit any website, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer. More information

- ### Strictly Necessary Cookies

  Always Active
  Strictly Necessary Cookies

  These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.

  Cookies Details‎

- ### Performance Cookies

  Performance Cookies

  These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.

  Cookies Details‎

- ### Functional Cookies

  Functional Cookies

  These cookies enable the website to provide enhanced functionality and personalization. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly.

  Cookies Details‎

Consent Leg.Interest
Select All Vendors
Select All Vendors
Select All Hosts

Select All

- REPLACE-WITH-DYANMIC-HOST-ID

  ### 33Across

  View Third Party Cookies
  - Name
    cookie name

- REPLACE-WITH-DYANMIC-VENDOR-ID

  ### 33Across

  3 Purposes

  View Privacy Notice

  ### 33Across

  3 Purposes

  View Privacy Notice
  REPLACE-WITH-DYANMIC-VENDOR-ID

  Consent Purposes

  Location Based Ads

  Consent Allowed

  Legitimate Interest Purposes

  Personalize

  Require Opt-Out

  Special Purposes

  Location Based Ads

  Features

  Location Based Ads

  Special Features

  Location Based Ads

Clear Filters

Information storage and access

By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and personalize content.Privacy Policy