Hey everyone,
Just to clarify upfront, I’m not a decades-long, seasoned developer with all the answers. I’m someone who learns as I go, doing this for both a living and, honestly, for fun too. Over the years, I’ve gained insights from hands-on experience and problem-solving, but I’m still constantly learning, just like many of you. The information I’m sharing here might not always be the perfect solution for every case, and it may even present some errors or be outdated. It’s not guaranteed to be 100% accurate or up-to-date, but I encourage you to explore, experiment, and figure out what works best for you. This is all about learning as we can, and each project is a step forward.
World Partition, World Composition, Floating Point Precision, Large World Coordinates, Level Streaming, etc
In large-scale environments, as you move further from the world origin (0,0,0), floating-point calculations can lose precision, leading to jittery or shaky visuals. Additionally, misconfigurations in World Partition and level streaming can cause parts of the landscape to load or unload unexpectedly, leading to instability.
World Origin Shifting iis a concept you should familiarize yourself with, as it may help understand and resolve some of these issues.
A few links that may help:
Large worlds in UE5 - YT
Large World Coordinates - UE Documentation
World Partition - UE Documentation
Level Streaming - UE Documentation
World Composition - UE Documentation
Issue with world origin shifting - YT
Unreal Engine 5 Landscape Material - YT
The issue you’re facing might not necessarily be tied to Floating Point Precision or World Partition settings—there could be other factors involved. It’s important to dig deeper and explore various potential causes. In my case, the problem stemmed from a combination of misconfigured settings, particularly with how World Partition was implemented, and other project-related aspects. When I created a new project from scratch in the same engine version and replicated the issue, it didn’t happen. This made it clear that the problem was rooted in specific configurations of my original project, which hadn’t been properly optimized or adjusted, especially after updating the engine version.
1. Physics Sub-Stepping & Tick Settings:
In UE4, Physics Sub-Stepping allows for more frequent updates, improving the stability of physics simulations like ragdoll effects. It’s enabled in Project Settings > Physics > Framerate. However, custom physics requires some adjustments, and collision callbacks may be delayed, causing multiple callbacks in a single frame.
In UE5, the approach has changed. Substepping is managed internally, and developers no longer have manual control over it. Custom physics functions are called once per frame, unlike in UE4.
A possible workaround in UE5 is using the Async Tick Physics plugin, which provides more control over physics updates.
I haven’t had the chance to explore this in my projects, so feel free to check the links below for more details and dive deeper into this if you’re facing issues.
Learn More: Physics Sub-Stepping - UE Documentation
2. Landscape Tessellation and Nanite Settings:
When using Nanite with landscapes, you can achieve higher visual fidelity, but it’s important to understand how it affects performance and that improper configurations in landscape tessellation or Nanite can cause visual glitches, such as flickering or tearing… Consider optimizing your assets and testing the impact of these settings on your project before fully implementing them.
Learn More: Using Nanite with Landscapes - UE Documentation
3. Landscape Scale and Collision Settings:
Incorrect collision settings can cause physics issues, like characters getting stuck or jittering. Be sure to check and adjust your landscape’s collision complexity and ensure it’s scaled correctly for smooth interactions.
Learn More:
Landscape Technical Guide - UE Documentation
Unreal Engine 5.4: Nanite Tessellation in 10 Minutes - YT
Nanite Tesselation - YT
Better Procedural Landscapes in Unreal Engine 5.3 - YT
4. Camera and Character Movement Replication (For Multiplayer Setups):
In multiplayer setups, proper movement replication and client-side prediction are crucial for smooth movement across clients. Take time to familiarize yourself with Unreal’s networking setup to prevent issues with jitter or lag.
Learn More:
Networked Movement in the Character Movement Component - UE Documentation
Unreal 5 Multiplayer FPS - Replicating models, movement, and shooting - YT
Quick & Easy Multiplayer Replication in UE5 Unreal Engine - YT
Unreal Engine - Replication Basics (3 parts) - YT
While the issues you’re experiencing could stem from Floating Point Precision, World Partition, or other common causes, it’s important to take a thorough approach when debugging. As discussed, there are several factors that can contribute to performance problems, such as physics settings, landscape configurations, and multiplayer replication. My advice is to dive deep into each of these areas, understand their impact, and tweak them according to your specific needs.
Ultimately, there’s no one-size-fits-all solution, and a bit of trial and error will go a long way in uncovering the root cause of any issues. Keep experimenting, and don’t hesitate to consult the links provided for more in-depth information on each topic.
Happy developing, and I hope this helps!