Appearance
General Support
Unreal is used in many ways and not all use cases have been validated yet. Materials need to render depth to the GBuffer to work.
Check on Discord to see if your use case has been tested by someone already.
Gaming / General
✅ Launcher version - Works with both launcher and source built versions of Unreal Engine.
✅ Unreal Engine 5.3 and up
✅ Anything based on UMeshComponent (StaticMesh, SkeletalMesh, InstancedStaticMesh, DynamicMesh, +++)
✅ PCG, BPs, PLAs, ISM/HISM, Foliage, Landscape Grass, +++
✅ Opaque materials (Surface, SubSurfaceScattering, Two-Sided, etc)
✅ Nanite & Nanite displacement - (Non Nanite works too)
✅ Lumen - (Non lumen works too)
✅ Substrate - Supported on UE5.5+
✅ Decals & Mesh Decals - Decals blend as if they are part of the mesh. (See demo for exact details)
✅ Static Meshes, Landscapes, Skeletal meshes and even particle - As long as they are opaque and write depth
✅ TAA, TSR, DLSS, FSR - Works great with any temporal AA solution, upsampling and frame generation
✅ SMAA, FXAA or no AA - Can be used with non temporal AA solutions. (Use r.MeshBlend.FrameDither 0 to disable sampling alterations per frame)
✅ PS5, Xbox Series X|S - Works great on consoles
✅ VR (Desktop, Deferred shading) - Supported on UE5.6+
✅ Split/Multiscreen rendering - Supported on UE5.6+
Cinematics / Virtual production / Offline rendering
✅ Offline rendering with Spatial/Temporal Sample Count > 1 - Works great with offline rendering using sample counts instead of default AA
✅ Sequencer - Use overscan for best results
⌛ Virtual Production|NDisplay - Use overscan for best results (Note yet validated: Currently being tested on a HUGE XR Led wall)
Default Setup - Material AO
The default launcher version setup uses the Material AO channel to transfer data to the GBuffer. This comes with some limitations.
❌ Static lighting - Static lighting uses the same Material AO channel and cannot be used. Only dynamic lighting is supported
❌ Material AO - No mesh in the project can use Material AO. Having it hooked up will lead to a slight blur that will show up in the MeshBlend Debug View.
Not fully validated yet / Planned for later
🔬 Switch, etc - Should work, but has not been validated yet
🔬 No AA, FXAA, SMAA - Works with r.MeshBlend.FrameDither 0
, but final quality hasn't been tuned yet.
Note: Offline rendering with no AA using multiple Spatial/Temporal sample counts works fine.
Not supported
❌ Forward shading - Forward shading is not supported
❌ Mobile render pass - The mobile render pass lack the necessary GBuffer access in the PP stage
❌ Path tracing render pass - The path tracing pass lack the necessary GBuffers in the PP stage
❌ Translucent materials - Translucent materials render after and won't be affected by MeshBlend
❌ Stuff underneath a SingleWaterLayer plane - SingleWaterLayer is an opaque shading model. So stuff underneath it is not rendered to depth. (But the material itself can actually blend with other meshes)