[Optimization] of the sprites/unlit textures

hi there. I’m having a scene in VR with 10’000 images to be rendered and I’m looking for a way to optimize and improve poor rendering of 12 fps when all images are in view.
I tried using sprite atlas and user sprite renderers in a scene, but the frame renderer tell me Objects have different MaterialPropertyBlock set. If I change the texture in a code with GetComponent<SpriteRenderer>().material.SetTexture("_MainTex", text); then the renderers start using multiple materials, which also does not help dynamic batching.
How can I approach the problem and/or enable dynamic batching for the sprite renderers?

10,000 textures is quite a lot. Are they all small? I would recommend using a DrawMeshInstancedIndirect call and putting all the textures into 1 texture array. That will reduce your draw calls to 1.

They are like 200x300 pixels sprites, that are just static hanging in the air. 10 x 8K sprite atlases should be OK I assumed. but a single draw call sounds really good, how would I try and test this?