Hello, I can’t for the life of me figure out how to not have all HLODs loaded all the time.
I set up an HLOD layer HLOD_Static for my static mesh actors that merges their lowest LODs in the respective grid cells, and assign a parent HLOD layer HLOD_Merged that the merged actors / HLODs receive.
All my HLODs are put into the HLOD_Merged, but there is a problem: all the HLODs in the distance are loaded constantly regardless of distance to a streaming source.
I enable Is Spatially Loaded on HLOD_Merged layer, but this makes no difference.
It took a lot of experimentation, but I figured it out.
The solution is to change the runtime hash class to WorldPartitionRuntimeSpatialHash instead of the default WorldPartitionRuntimeHashSet.
The difference between these two is not documented anywhere as far as I can tell, but this change made world partition behave the way I want for me.
And I only needed a single HLOD Layer.
The Loading Range in the HLOD layer then controls at which distance are the HLODs loaded in. Loading Range in World settings controls at which distance are the actual actors loaded in, replacing the HLOD.