How to create LODs in Blueprint/hide components?

Hi,

I have a Blueprint of a road sign that consists of various static mesh components such as the sign, pole, bracket, screws etc…

scr1.jpg

What I need to do now is hide certain components at a certain distance to optimize the game. There is no point in rendering screws that can’t be seen 20 meters away from the sign.

Basically: if distance ≥ x then hide Screws

So my question is, how do I do that? How do I hide certain components at a certain distance?

Is it also possible to hide components based on what LOD the main static mesh has switched to?

I.e. If MainMesh LOD ≥ 1 then hide Screws

Happy New Year! :slight_smile:

The normal way to do this is to LOD the meshes, then the components do it anyway… :slight_smile:

Indeed, the LOD system for static meshes is already made for what you want.

But, is there a point to having multiple components? Why not have this model be one single mesh?
Check out the LODs page in Unreal docs: Creating and Using LODs in Unreal Engine | Unreal Engine 5.3 Documentation
It explains how to go about this, to summarize, you have your detailed mesh with all it’s pieces and then import the LODs. And again, unless there is a dire need to have individual components, you should make it a single mesh when possible.

Yes, but this Blueprint is modular, so I can replace the round sign with a square sign, I can duplicate the bracket for a long rectangle sign etc… all using the Blueprint. So instead of creating a zillion pole meshes with various bracket and sign combinations, I just have a few components. If anything needs to be replaced, I replace 1 mesh and everything is updated.

Either way, even if I did have 1 sign with 3 LODs for example, at a certain distance e.g. 1km I don’t need the signs to be visible at all so I’d still need to hide them. There is a volume for that in UE4 but that only works with static meshes which would imply that everything in the game has to be static mesh and Blueprints are basically useless unless you have a 1x1km map.

You have the culling volume:

Does a culling volume with with Blueprints?

The answer to this is that there is no need for a culling volume at all. All you need to do is set the Max Draw Distance for each component in the Blueprint and that will hide them just like a culling volume.

You can also set Max Draw Distances for static meshes placed directly on the map which are not a part of a blueprint, and you can use it in splines too. No need for a culling volume at all.