MK SSDM+
Unreal Engine plugin · Screen spaceScreen space displacement and contact shadows that finally agree with each other.
NANITENot supported. SSDM+ works on regular, non-Nanite meshes and landscapes.
Screen space displacement like Crimson Desert's, brought to Unreal Engine 5 as a drop-in plugin.
Made for regular meshes and landscapes, aiming for similar quality to Nanite displacement at a reduced cost, through screen space displacement.
Drag to compare
Left is the stone wall with normal mapping only. Right adds SSDM+ displacement and contact shadows, including a decal that writes its own height.
SSDM+ OFFSSDM+ ON
Lots of depth, little cost
Add one node to a material and it displaces. Everything below ships in v1.0.
Use one or both
Pick a mode in Project Settings. Tune everything else in the MK SSDM Plus Settings panel, or with one quality preset from Low to Epic.
SSDM only
Screen space displacement from the height buffer, with your existing shadow setup.
Contact shadows only
Height-aware contact shadows without displacement. Fixes self-shadowing on surfaces using pixel depth offset.
Both
Displacement and shadows read the same buffer, so the shadows always match the displaced surface.
One height buffer
Materials write height through a custom output. A custom mesh pass fills the buffer using the main view's existing culling, so there's no second scene traversal. Both effects read from it.
The numbers
Worst-case GPU time per quality preset: 100% screen size with displacement covering the whole screen. Median of 12 ProfileGPU captures.
GPU cost
Worst case · RTX 5090 Laptop · 2560×1440 · 100% screen size and coverage| Preset | Displacement | Contact shadows | Total |
|---|---|---|---|
| Low | 1.53 ms | 0.27 ms | 1.80 ms |
| Medium (default) | 1.96 ms | 0.32 ms | 2.28 ms |
| High | 2.02 ms | 0.29 ms | 2.31 ms |
| Epic | 2.39 ms | 0.34 ms | 2.73 ms |
Cost scales with screen coverage and the settings used, so most scenes cost less than this. Check your own with stat MKSSDM. Version 1.1 will reduce the cost further.
Specs
What you get| Engine | UE 5.8 and 5.9 |
|---|---|
| Platform | Windows (Win64) |
| Version | 1.0 |
| Price | $25.99 Personal · $99.99 Professional |
| Type | C++ code plugin |
| Modules | MKSSDMPlus, MKSSDMPlusMeshPass, MKSSDMPlusEditor |
| Engine changes | None |
| Nanite | Not supported |
| Settings | Project Settings, settings panel, console variables |
| Quality presets | Low, Medium, High, Epic |
| TAA / TSR | Writes displaced depth and velocity |
| Includes | Demo map with RVT landscape |
| Author | Michael Kinsey |
FAQ
Full setup lives in the docs: quick start, settings reference, troubleshooting and licence. Read the docs →
Does it support Nanite?
No. SSDM+ does not support Nanite meshes or Nanite landscapes. Use it on regular, non-Nanite geometry.
Do I need a source build of the engine?
Draft: confirm before launch. The plugin makes no engine source changes.
Does it work on RVT landscapes?
Yes. Contact shadows read height written into the RVT, where stock contact shadows lose pixel depth offset.
Where do I get support?
Join the support Discord or email contact@michaelkinsey.xyz.
Which engine versions are supported?
Unreal Engine 5.8 and 5.9, on Windows (Win64).
Get MK SSDM+