Issue
Switching the HLOD Batching Policy to anything other than None causes the Actors affected to be missing in the HLODs.
I stumbled on this when attempting resolve my positional colour shader not working in my HLOD bake by switching the buildings to use HLOD Batching Mode Instances so the actors would retain their individual pivot locations which is used to determine the colour of the building.
Secondary Issue
The large bridge seen in the editor has been constructed from several modular static meshes and assembled in a BP actor. Parenting this BP to anything other than FortCreativeDeviceProp causes it to fail asset validation as seen below:
The problem with parenting to FortCreativeDeviceProp is that it doesn’t have any HLOD options on the BP actor itself, only the static mesh components listed within it. So whilst the individual components are set to be included in the HLODs the BP actor itself gets ignored.
My additional thoughts
-
I can attempt to write my shader in a different way to get it to work with HLOD batching None, or I can create several Material Instances and individually set the colours of each building. Not ideal due to increased draw calls and memory usage but a workaround solution none the less.
-
Constructing the bridge using modular pieces in a BP actor seems to be the correct way to do large assets like this. The comparative memory savings over a single large mesh are huge, and it allows flexible updating of the asset in the future. However, issues with asset validation and having to derive from blackbox BP parent classes makes this simple workflow unnecessarily complex. Couple that with lackluster documentation on this topic and it makes for a frustrating situation.
Action Items
-
Either clarification on anything I’m doing wrong in regards to HLOD batching process or a fix to the bug
-
Either clarification on the correct way to build large static mesh actors using Blueprints or a fix to the asset validation process so we can use a standard StaticMeshActor BP, or a fix to include HLOD options on the FortCreativeDeviceProp
-
Better documentation on how to utilize the parent Fortnite BP classes
