ThreatInteractive / Prototype-SWRT-Hard-Shadows-For-UE5.7
git clone https://github.com/ThreatInteractive/Prototype-SWRT-Hard-Shadows-For-UE5.7.git
This is a prototype plugin for UE5.7 that integrates SWRT hard shadows in UE5.7 without DXR
+0
stars, 24h · #34,646
+~0
stars, 7 days · #35,121
+85
stars, 30 days · #6,234
86
★ total
7
forks · 0 open issues
Star history (as recorded here)
LanguageC++
LicenseApache-2.0
Created2026-10-05 (18d ago)
Last push7d ago
Watchers3
OwnerUser
Links
- GitHub: github.com/ThreatInteractive/Prototype-SWRT-Hard-Shadows-For-UE5.7
- Homepage: https://www.youtube.com/@ThreatInteractive
- Releases · Issues · Hacker News mentions
README excerpt
# Prototype SWRT Shadows A spot light for Unreal Engine 5.7 whose shadows are ray traced in a plain compute shader, with no hardware ray tracing requirement. One hard shadow ray per lit pixel, traced against a two level BVH built from the light's own shadow casters. No shadow map, no screen space trace, nothing carried over from the previous frame. The lighting is the engine's own: the shader includes `DeferredLightingCommon.ush` and calls `GetDynamicLighting`, so only the shadow term differs from an engine spot light. # Why This Has Been Uploaded & How You Can Help! It was a considerable amount of work to get the tracer on-par with the hardware DXR path (GA106-300-A1) and since there wasn't any starting material for compute-shader-only raytracing in which modern optimizations/research were compiled into a single repository: it made sense to go ahead and release this project after it hit a quality wall. The problem with hardware-accelerated ray tracing is that its fixed-function architecture is permanently constrained by the research available when the silicon was designed. The graphics programming scene is a constantly evolving space where computational shortcuts and optimizations are constantly being discovered. The vendor agnostic compute-path can implement such optimizations which are not typically compared by leading hardware RT vendors which can sway two imporant scenarios: - A consumer's hardware/brand purchase decision when looking at what is actually needed to support current console generation performance-visual standards - A studio's game development decision on what graphical approach they should spend resources on adopting **Here are the topics that need community outsourcing/R&D** - Alpha-testing/masked material support with vertex animation support (important for dynamic hair & foliage assets) - CPU optimizations - Soft Shadows (currently relies on MLAA for edge smoothing; temporal denoising & major cost in association are not welcome) - Better BVH construction with CPU skinning support (it's currently messy since it's working around precompiled UE5 limitations) - Vendor/low-Level API optimizations (maybe wave intrinsics, either way support in Vulkan is must) - 1-frame only ray acceleration research since Threat Interactive's unannounced title deals with frequent camera cuts/fast movement. - Efficient material branching support for approximated transmission, see page 264 of this presentation. # License Apache 2.0 (see LICENSE, and NOTICE, which has to ship with any copy) # How To Use - Enable skin cache in project settings - Copy this folder to YourProject/Plugins/ - Rebuild the project, since the light is a new actor class - Place an **SWRT Spot Light** from the Place Actors panel - It derives from `USpotLightComponent`, so attenuation radius, cone angles, and the transform are the engine's own properties and paste across from an engine spot light for a side by side comparison (there might be a bug with the light intensity val