Best optimizations for 2d character/object blueprints ( paper sprites)?

I started working on a Daggerfall style game recently using paper 2D sprites for assets, characters, trees, set dressing, etc. and have discovered I need to figure out some better optimization, currently I have a blueprint with a paper 2d sprite of a tree, I have code running on the event tick so it calculates the player’s camera location and rotation so it’s always facing the player, then I put about 25 trees in a level to test it all out and realized my fps was already getting pretty tanked, which I’m assuming is because like 25 instances of a blueprint’s event tick constantly calculating, so clearly I need to figure out a better way for the sprites to face the player.

Initially I tried using a billboard in the blueprint which seemed to work, except when I panned the player camera up and down, the sprite also rotated the same way and I saw some line of code to apparently fix that but it never ended up working.

Does anyone know of a better way to optimize the 2D sprites to be constantly facing the player?

You can do it in the material, and only rotate on Z axis

I saw this video, it’s not exactly what I’m looking for, I’m using sprites and paper flipbooks and those are just textures not materials, doing it this way to avoid having to have a bunch of planes static meshes running opacity logic.

Did you look at the details panel for the sprite in the BP?

Apparently there is something under ‘screen alignment / billboard type / flags’ where you constraint the rotation axis.

Apart from that, I don’t really know much about it… :melting_face: