Runtime Control of Ray Tracing Settings via Blueprints
The Ray Tracing Controller plugin provides in-game control of hardware ray tracing settings directly through Blueprints, allowing dynamic adjustments during runtime.
The plugin exposes a suite of Blueprint nodes to toggle specific rendering features.
These getter nodes allow you to query the current persistent configuration of key hardware ray tracing settings.
Unlike runtime console variables (which only affect the current session), these nodes read from the project's persisted configuration file (DefaultEngine.ini) — ensuring that your UI and logic reflect what will be active the next time the engine or game starts.
🔹 Is Ray Tracing Enabled
Returns: True if r.RayTracing=True is set in DefaultEngine.ini.
Use Case: Check whether global ray tracing is currently enabled and will be active after the next restart.
🔹 Is Ray Tracing Shadows Enabled
Returns: True if ray-traced shadows are enabled via r.RayTracing.Shadows=True.
Use Case: Useful for enabling UI toggles or adjusting shadow settings in menus dynamically.
🔹 Is Lumen Hardware Ray Tracing Enabled
Returns: True if Lumen is configured to use hardware ray tracing (r.Lumen.HardwareRayTracing=True).
Use Case: Helps you adjust UI or post-processing settings based on the Lumen mode.
🔹 Is Path Tracing Enabled
Returns: True if path tracing is currently set to be used (r.PathTracing=True).
Use Case: Can be used to display a warning or optimize content preview logic.
🧠 Notes
1. Open your game settings Blueprint (or create a new one)
2. Drag out from a Boolean variable or UI element and search for the Ray Tracing nodes
3. Connect your logic to the node inputs
Configuration Changes: Changes are automatically written to the appropriate configuration file:
Persistence: This is not equivalent to executing runtime console commands (e.g., r.RayTracing), which only apply temporarily for the current session. Instead, the plugin writes directly to the configuration file, ensuring that changes are persistent. Once a setting is enabled or disabled, it remains in effect across future launches of the game or editor until explicitly changed again.
Important: A restart of the engine is required for modified settings to be applied. This allows developers to build advanced graphics settings menus, enable runtime diagnostics, or switch rendering modes in a way that fully integrates with Unreal Engine's configuration system.
These return True or False based on the values written to Engine.ini, allowing you to branch Blueprint logic or update UI elements to reflect the current configuration.
Note: These getters query the saved config values, not whether the engine is currently using ray tracing. Think of them like a settings inspector, not a rendering debugger.
Settings are written directly to your project's persistent config files:
This allows full persistence across sessions, launches, and packaged builds! (no temporary runtime-only console commands are used)
RayTracingControl (Provides Blueprint-callable interface for INI-based rendering config control)Blueprint Function Library that exposes ray tracing configuration functionality.
❌ No — INI changes are local to the client or game instance and require restart to apply
Important: A restart of the engine or game is required for settings to take effect. This is not equivalent to executing runtime console commands (e.g., r.RayTracing), which only apply temporarily for the current session.
Last Update: April 18, 2025
Distribution Method: Plugin
If you have any questions or need assistance with the plugin, feel free to reach out.
Contact Support