Choose and verify a renderer
Compatibility, Mobile and Forward+: actual features, drivers and fallback.
Choose a renderer from the required effects and the slowest device you intend to support. Do not choose from a “best quality” label alone: the renderer does not provide finished assets, correct lighting or a frame-time budget automatically.
Rendering method and driver are different
| Rendering method | Backend / driver family | Starting use case |
|---|---|---|
Compatibility (gl_compatibility) | OpenGL-family path; no global RenderingDevice. | OpenGL targets, broader hardware coverage, simpler 2D/3D or web. Test the actual target's API support. |
Mobile (mobile) | RenderingDevice; Vulkan, D3D12 or Metal where the build/platform supports them. | A smaller rendering feature set for constrained 3D or XR workloads; measure on the device. |
Forward+ (forward_plus) | RenderingDevice; Vulkan, D3D12 or Metal where available. | Projects needing the effects implemented in this path, with an adequate GPU budget. |
“Mobile” is a rendering method, not a restriction to phones. It also runs on desktop. Forward+ is not a guarantee that every feature works on every mobile device. Compatibility can be a deliberate choice on a modern PC; it is not automatically the fastest renderer for every scene.
The driver is the graphics API implementation. A Vulkan-capable device does not by itself prove acceptable frame time, memory capacity, export availability or support for every optional effect. Headless/dummy rendering is not a graphical acceptance test.
Compare the features you actually need
The table describes implementation availability in Reckfell 1.0.0. It is not a visual-parity or performance guarantee.
| Feature | Compatibility | Mobile | Forward+ |
|---|---|---|---|
| Global RenderingDevice access | No | Yes | Yes |
| 3D MSAA | Yes | Yes | Yes |
| FXAA / SMAA | No rendered effect in the tested Compatibility path | Supported | Supported |
| TAA / FSR2 | No | No | Supported |
| SSAO | Supported; verified on the installed OpenGL runtime | No | Supported |
| Glow | Supported; verified on the installed OpenGL runtime | Supported | Supported |
| Depth-of-field blur | No | Supported | Supported |
| Auto exposure | No | No | Supported |
See 3D antialiasing, resolution scaling and Environment and post-processing for settings and tradeoffs. Other effects have their own renderer requirements: absence from this short table does not imply support everywhere.
A property getter can retain a requested value even when the backend does not execute that effect. This occurs for TAA/FXAA requests in the tested Compatibility path. Confirm the active renderer, inspect warnings, then compare rendered output; do not infer support from a checkbox or getter alone.
Switch and verify
- Save the project and preserve a known-good camera/material/light setup for comparison.
- Select the rendering method in the editor's upper-right renderer menu. Apply the requested restart. The underlying project setting is
rendering/renderer/rendering_method. - Check platform overrides such as
.mobileor.web; the editor's desktop appearance is not proof of an exported build's configuration. - In the running game, use
RenderingServer.GetCurrentRenderingMethod()andGetCurrentRenderingDriverName(). The RendererInfo example prints both and handles an unavailable RenderingDevice query. - Recheck tone mapping, exposure, shadows, transparent materials, AA and resolution scaling on the same scene. Check a moving camera too when evaluating temporal effects.
- Measure frame time and memory in a representative scene on the target device before adopting the configuration.
For a diagnostic launch, the command-line options are --rendering-method gl_compatibility --rendering-driver opengl3, or --rendering-method mobile --rendering-driver vulkan, or --rendering-method forward_plus --rendering-driver vulkan. These are argument pairs, not complete shell commands. The executable, project path and driver availability depend on your installation. An unsupported method/driver combination is not made valid by passing both arguments.
Account for fallback
The RenderingDevice fallback settings are rendering/rendering_device/fallback_to_vulkan, fallback_to_d3d12 and fallback_to_opengl3. Availability and fallback order depend on the platform, compiled drivers and requested configuration. Do not promise a fixed “Vulkan always falls back to D3D12” sequence on every OS.
A fallback may make a project start with different effects. Log the actual method/driver when diagnosing a player's report. If a feature is essential, provide a deliberate supported mode or an explicit unsupported-configuration outcome instead of silently assuming the original renderer remained active. This guide does not claim to have injected driver failures or tested every fallback path.
Choose by a small acceptance checklist
| Question | Evidence to collect |
|---|---|
| Does it start on the minimum target? | An actual run of the exported build there, not just this PC's editor. |
| Do required effects render? | A controlled output comparison in the active renderer, not a stored setting. |
| Is the image stable in motion? | Camera movement, thin geometry and changing light; a static screenshot is insufficient. |
| Is the cost acceptable? | Frame time and memory in representative content, at the intended resolution. |
| Is the low-quality mode usable? | A separately configured and tested scene/material/lighting path. |
The current local evidence confirms startup, method/driver reporting and device queries for Compatibility/OpenGL, Mobile/Vulkan and Forward+/Vulkan on Windows. Existing pixel checks cover selected Compatibility and Forward+ lighting/AA/scaling behavior; the Mobile probe does not prove all its effects. Other hardware, D3D12/Metal, platform exports, fallback failures and performance budgets remain separate validation.