Fix core features breaking when SMAA is selected

xHybred
Tue, 30 Sep 2025 14:43:04 +0000
Rendering

Unreal Engine 5.7 recently introduced SMAA as an anti-aliasing option, which is a welcome addition for developers looking to serve a diverse set of user preferences for their game, or for projects/genres where motion-smear & ghosting free methods are more preferable candidates.

However many core rendering features in UE5 are tied to temporal based anti-aliasing techniques and break down visually when a non temporal method is chosen. Issues include dithered reflections, noisy shadows, unstable volumetric clouds, dithered hair, shimmery foliage due to binary alpha masks, etc. The artifacts appear because these effects rely on history samples to stabilize their output. Even Epic’s own titles (Fortnite) demonstrate these problems when SMAA, FXAA, or no AA is selected.

If Epic intends for SMAA to be a serious or viable option, there needs to be a pathway for these effects to remain stable when non-temporal AA’s are selected. One solution is to implement independent temporal denoisers for features such as reflections, shadows, volumetrics, etc, instead of forcing the denoising to only be done by the anti-aliasing process itself.

Another option is to replace certain systems with non-temporal techniques that achieve stability without relying on history data, such as a different (non-dithered) hair shader that does not require temporal accumulation for smoothing (both solutions should be utilized and decided on a case by case basis depending on which path most viable).

Certain effects in Unreal like Lumen GI already have independent denoisers enabled by default, while others need to be manually toggled on, and some lack independent denoisers entirely. Adding additional options and implementing per-effect scalability groups that automatically select the appropriate denoiser, mask, shader, or technique based on the active anti-aliasing type would significantly improve workflow and visual cohesion.

Implementing these adjustments would make spatial methods like the newly added SMAA a viable option, giving developers more flexibility by allowing them to retain core effects without compromise, and providing users who are sensitive to motion sickness a better experience without forcing them to trade comfort for distracting visual artifacts.

Temporal-based AA methods provide cheap effective anti-aliasing and workflow convenience, but they are inherently anti-accessible to a sizable portion of players (mostly motion sick related, sometimes peoples eyes feel out of focus) and it is also not ideal for every genre of game either. Therefore ensuring that alternative methods work well in-engine should be a higher priority than it currently seems to be, as it’s not a trivial issue, and one of Unreal’s goals is to be an Engine than can serve as many gamers & project types as possible. SMAA was the first step in the right direction, but it feels incomplete or almost redundant in some ways due to the current issues mentioned in this post.

These changes could make UE5 more accessible and versatile for developers and players alike, thank you for considering these improvements for the engine. I hope to see features like these come to later Unreal versions, best regards!

16 posts - 5 participants