Optimizing large scenes with lots of objects

I have a level that is very large (space level with massive skybox). I’m wondering what tips in general people have for rendering optimally and what kinds of things drastically effect performance.

  1. Does unreal automatically reduce textures to LOD 1 at certain distances? If I have say 100 -> 20,000 triangle meshes will the meshes take the same processing power if they are far away? I’d like to add objects in the distance that are merely silhouettes or for scenic use that are barely visible and I need a lot at once (ideally a few thousand objects in the level, a bunch of asteroids and hundreds of AI ships but the asteroids only have one LOD included, LOD 0). Want to blend asteroids into a gas planet ring belt but the far away ones need to be as simply rendered as possible.

  2. what settings effect performance the most/how should I handle mesh instances. Is there a way to have the 100 asteroid objects in the distance all essentially rendered as the same object with minimal performance hit?

  3. what’s the size limit of levels? Does a huge skybox negatively effect things? I don’t want players to ever reach the edge so I’m talking massive skybox that would take an hour or more to reach the edge.

  4. Are there optimal post process volume, light importance (do I really need this?) or graphics settings for large levels with many objects? I designed the level so certain objects obstruct parts of the scene so the players won’t see everything, I’m assuming the amount of objects being rendered is more impactful than how many objects are in the level.

Appreciate any help.

  1. Textures are automatically reduces to lower mips. As for vertices, mesh’s impact on performance does not depend on the distance. You need to use LODs for that.

  2. You can use static mesh combiner tool or instanced static meshes for that.

  3. Size limit is defined by floating point precision issues further away from origin. It depends on how you implement things. You can bypass it at all.

  4. There is no optimal. It is situational and project/level specific.

Thanks for the input; I guess my biggest concern is I’m creating a game with more happening than other games so it’s venturing into new territory. Essentially want to minimize resource heavy processing because gameplay is going to be vitally important and any stuttering/lag will be a problem. Going to turn off lens flares, screen space reflection, auto exposure and most shadows but I’m looking for any general tips to optimize what is going to be a massive level with thousands of objects, many of them dynamic/destructible.

I don’t really understand ambient occlusion, kind of understand normal mapping; will either make things more efficient to a significant effect?

The level has two main differences; background objects such as planets, stars and asteroids and important level objects; asteroids, space stations, ships, volumetric fog hundreds/thousands of projectiles on screen at once. Do certain materials or texture settings matter for optimization? Sorry for the rambling there’s just so much to learn here.