Don’t go optimizing textures blindly. Remember from my presentation, I mention finding the “What” first. Instead of just “generally” optimizing textures, first figure out which textures are taking the most memory and then see why and how to fix it.
Textures in Unreal Engine are usually streamed in and out to keep memory manageable, but there are some cases where textures will not be streamed and will instead just always be in memory, like for uncompressed or non-power-of-two sized textures.
You can use the memreport -log
command to see all textures (and more) currently in memory. Start with that.
Depends on your target platform. Are you having issues with too many triangles? I would say put in as many triangles as makes sense and only optimize when you see them taking too much time in the profiler. During the development of the last AAA game I worked on for PS5 we never managed to find out how many triangles were too many because we didn’t hit the limit, it hit the hard disk first (game got too large) before it slowed down the rendering at all. If we would’ve spent time setting vertex limits on everything we would’ve just slowed us down.
This of course will depend on the target hardware that you’re aiming for.
Optimized for what? Consoles? Phones? There’s a huge difference in what your target platform is.
For mobile, you’ll probably want to just use normal static baked lights. They look the best and perform really well but they take up space on the device’s storage as you’ll need to save the lightmaps. Then you’ve optimized for looks but not for storage. Did you mean optimizing for storage? Because then you would definitely not want to use static lights. They are also not dynamic, you won’t be able to move any static objects lit by the lights or the shadow will just stay on the ground in the original location.
Dynamic lights don’t use lightmaps so they don’t take any disk space, but they don’t offer bounce lighting either. So it doesn’t look as good, and it’s a bit slower than static lights. But a good middle way between both.
Lumen is like dynamic lights on steroids, giving you the great looks of static baked lights without baking anything. So it’s light on the storage but very heavy on rendering.
So yeah, different solutions for different requirements. You decide your requirements and then choose a solution to fit it.
Depends on what else is happening in the scene and what your target hardware is. Basically, put it in your scene and check it. But Nanite can definitely help in that case with its auto-instancing and LODding, it shouldn’t be a problem.
A tiny bit, yeah, you should usually turn off collisions for objects that don’t need them. For static objects I would be surprised if you even noticed though. Is it showing up on the profiler for you? Is it a problem yet?
From your questions it seems like you’re doing a lot of “Step 3: How do we fix it?” before “Step 1: Figure out what is slow.”
Remember from my presentation that we should always do these steps in order
If it helps you can also print out the frame from the presentation to put on your desk