[HLOD] Spline Mesh Component issue when using HLOD instancer

Hello, we have recently started spawning Spline Mesh Components using PCG in our map and we observe that there are issues with these components when HLOD Builder tries to batch the instances of these components.

Issue : The HLOD Instance Batcher tries to directly work with the Static Mesh in a given Static Mesh Component (Both ISM and Spline Mesh Component derive from Static Mesh Component) and then batch them. Which makes sense when working with multiple SMs and ISM Components sharing the same Static Mesh. But not for Spline Mesh Component.

Eventually there is one HLODComponent per Static Mesh that all SplineMeshComponents refer to.

From what I understand, it might make sense that SplineMeshComponents might not directly with with HLOD instancing since the meshes are deformed along the spline and would not be trivial enough to batch them.

My questions to the Epic team is :

  1. Is there a known workaround or any guidelines around this issue?
  2. If not, from what I understand, there are a couple of potential fixes to address this, including
    1. Create proxy meshes and let them get fed into HLOD instances. This would be very heavy though and not preferred solution
    2. Create another HLOD mesh approximation layer (not instancing) just to support these components.

Regards,

Vaishvik

Steps to Reproduce

Hi Vaishvik,

Thanks for reaching out! I’ll assign to the proper team for this as HLODs are a bit outside our field of expertise!

Cheers,

Julien

Hello,

It’s true that instancing does not currently support splines, and we already have an internal task for tracking this request. Most likely, the simplest solution right now would be the second workaround you mentioned, which is using a different HLOD layer type. Although understandably this can be inconvenient, especially when you may have actors composed of both spline mesh components and static meshes, where you would want the static meshes to be instanced instead, but I’m not sure there’s a better option.

Thanks,

Ryan

Thanks for the confirmation Ryan! Do you know if this has been prioritized internally to be tackled in short / medium term?

Regards,

Vaishvik

I don’t have an ETA as priorities for bugs and features can shift at any time. The original ticket for tracking this issue was created some time ago, so it hasn’t received any attention since. If your spline components are the only renderable components on your actors, then having them in a different HLOD layer should be sufficient, or do you have actors containing a mix?

-Ryan