Best practices for efficiently rendering lots of objects (trees) in the URP 2D Renderer?

Hi, I’m working on on a 2D 3/4 overhead perspective game in the URP 2D Renderer.

I’m trying to figure out the most performant way to render many tree sprites. I’m currently using Y Axis pivot sorting, so I prefer a solution where characters/other objects can go “behind” the trees.

The trees can grow, be cut down, etc, so having them as static objects doesn’t work. All of the logic/data is located elsewhere, so the trees don’t necessarily need to be game objects, they just need to be rendered.

So far I’ve experimented with instantiating them as ECS entities, but I couldn’t get better performance than straight up game objects. (I’m pretty new to ECS so I might be going about it in a less than ideal way, and a lot of videos/articles on it are very out of date.)

I’ve also tried using Graphics.RenderMeshInstanced, but it’s also the first time I’ve used it so I’m unsure how closely it can approximate lit sprite functionality, or if it can be axis sorted, etc.

While I’ve done a lot of reading on the subject, a lot of the threads I’ve read are several years old and I’m not sure what’s out of date or what the current best practices are, so I’d really appreciate it if someone could point me to a thread/resource or advise me on a solution that would match my use case.

Thanks in advance!

Bump, I’d really like to hear some opinions