Conservative Morphological Anti-Aliasing 2 for Unreal Engine 5
CMAA2 is an anti-aliasing solution focused on providing good results while retaining the sharpness of the image at minimal execution cost.
Version: 1.00
Installing the Plugin
Open Epic Games Launcher, head to Fab Library tab and find CMAA2 (Anti-Aliasing). Press “Install to Engine” button and choose the appropriate engine version for you.
Open your project the engine version of which have the plugin already installed and head to Plugins tab. Find the Conservative Morphological Anti-Aliasing 2 and set it enabled by checkbox. The engine will prompt to restart itself. Restart the editor and you will have plugin enabled and ready to work.
How to use the Plugin
Firstly, set the Screen Percentage to 100% in both Editor and Play modes.
To do that, go to Editor Settings > Performance and set Override project’s default screen percentage more for realtime editor viewports using desktop renderer to Manual (or type in console “r.ScreenPercentage 100”).
Then set Anti-Aliasing Method to None.
Go to Project Settings > Rendering > Default Settings > Anti-Aliasing Method – None (or just type in console “r.AntiAliasingMethod 0”) and that will enable CMAA2 . Choosing any other option will disable CMAA2 and enable other selected method.
Additional console commands:
Name | Default Value | Description |
---|---|---|
r.CMAA2 | 1 | Enable Conservative Morphological Anti-Aliasing 2 (CMAA2). |
r.CMAA2.Quality | 2 | Quality Preset: 0 = Low 1 = Medium 2 = High 3 = Ultra |
r.CMAA2.ExtraSharpness | 0 | Enable ‘Extra Sharpness’ mode. |
r.CMAA2.ShowEdges | 0 | Debug view of the Edge Process pass. |
Performance
As a post process effect, the performance cost of CMAA2 is tied to the screen resolution and it is generally about the same as native TAA (also the performance might be a little different between engine versions).
CMAA2 also supports PC VR and can be treated as a low-quality alternative to MSAA, since it runs noticeably faster.
(Some performance measurements on different GPUs are coming later)
Technical Details
The plugin uses SceneViewExtensionBase engine class to safely inject the shader into the rendering pipeline. To be specific it’s set after SSR input, which is almost at the start of post processing chain, so every other default post process effects remain compatible.
As a MLAA-type of anti-aliasing it supposed to be rendered at 100% screen resolution (higher is good too).
Supported Plugin Versions
Here’s a table of latest supported Plugin Version for each Engine Version.
Engine Version | 5.3 | 5.4 | 5.5 |
---|---|---|---|
Latest supported plugin version | 1.00 | 1.00 | 1.00 |
Changelog
V1.00
- Initial release