Would it be possible to have like 1000-2000 instanced static mesh without having any problem with memory or frames? In this case its simple a 1024x1024 texture with some normal maps and etc for each mesh
Its not 1000-2000 instanced static mesh for one single mesh, but where each instanced static mesh has a mesh on its on with different material and shape.
The benefit of instancing is when there are a lot of instances of the same mesh. If I understand correctly you have 1000 mesh and you’re duplicating each one of them one time which makes it 2000 meshes, in this case you’re not going to benefit from instancing.
Now when it comes to performance it depends on where these meshes are in your scene, are they all in one place or scattered across the map, it depends on the PC specs. I’d say have some fun and give it a try maybe on a test level, and analyze the data through the various tools the engines offers.
All these 1000 meshes will have unique textures right ? in that case all of those textures will be loaded in memory, you can do the math to get an estimate of required memory, for example if each mesh has 5mb worth of textures then that would be 5GB without taking compression into account.
Multiple meshes in the scene using the same textures will not load the same textures again in memory, they will all use the same resources that is already loaded, so in that regard it’s not a problem, the extra memory will come from other things as you add more meshes to the scene but it will not be as big.