How can I optimize performance in my open-world project using World Partition in UE5?

Hi everyone,
I’m currently working on an open-world game using Unreal Engine 5, and I’ve started implementing World Partition. I’d like to know the best practices or common pitfalls to avoid when it comes to performance optimization with large landscapes and streaming.

Should I use specific settings for HLODs or streaming distance?
Any insights or links to official documentation/tutorials would be really appreciated!

Hey there @yumixhieu! Welcome to the community! I can’t speak to specific settings, but the usual general tips.

  • Keeping partition cell sizes small if your map is more dense, larger if your map is more open space and your movement is fast. This can help avoid pop in for open maps and keep a tight cull on more dense maps.
  • Landscape sizes have mostly the same rule, smaller sizes for granularity (but more draw calls) larger sizes to reduce them but also be wary of pop in if they are too big.
  • For foliage or anything that’s repeated a ton, this goes without saying but keep anything that doesn’t need to be a blueprint an instance.
  • Use Data layers for anything that’s not strictly based on player location. Region changes triggered by gameplay, weather effects, etc. They can also have their own streaming distances as well.
  • Keep your HLODs built and up to date. If you start seeing artifacts in the distance, you may need to erase them and rebuild them. This isn’t uncommon.
  • Test frequently in builds, as some of the world partition features aren’t prominent in PIE and things may be different at true runtime.