Using LOD system with multimesh

Godot 4.2.2


So I am working on a project where I implement a multi mesh grid system. In short it is the GridMap slimmed down and written in GDscript. (Not entirely relevant to this post, but I did this because GridMap just had too many issues for me and I did not need such a generic system. I needed effectively a 3D tile map)

In my game there is a grid of grass where each grass item can be interacted with. To reduce draw calls I batched the grass items into chunks (where a chunk is a multimesh).


I have noticed that the built in LOD system is not working for my Multimeshes. I found out that the Godot LOD system only allows for “scenes” and not “OBJ” files for its in-built LOD system. I used OBJ for the original single grass mesh because multimesh expects a mesh as an input.

Is there a way I can have LODs (without coding them manually). So that the further a player is from a multimesh chunk in the grid it uses a lower LOD for that multimesh chunk. Right now even a small grid of multimesh chunks of grass reduces the frame rate to like 10fps and over 3000 render calls.