✦ SPIELWELTENMoto Racer - Rampage ↗

Unity submission fix and current GBV coverage

Read-only investigation, 17 September 2026, Europe/Vienna. No Editor, player, capture replay or GPU workload was started by this review. The only change from this review is this report. The crash cause remains unconfirmed.

UUM-120711: exact release evidence

Unity identifies a DX12 correction that moves BuildSubmissionData after EndRenderPassImpl() so submission data uses the current active command list. This is a native submission-state correction; the release note does not identify our shader, constant-buffer error or NVIDIA TDR as its symptom.

Version Primary-source finding
6000.6.0a7, 11 June 2026 No UUM-120711 or BuildSubmissionData entry in the official release Markdown.
6000.6.0b1, 23 June 2026 The correction appears under New 6000.6.0b1 Entries since 6000.6.0a7, as well as in the cumulative final-preview notes. This is the first documented inclusion found.
6000.6.0f1, 31 August 2026 The final release notes explicitly include UUM-120711. A historical 6.6.0/HDRP 17.6 run failed, but used older game content; it does not establish the result of upgrading the current project.
6000.6.1f1, 16 September 2026 The patch's delta notes contain no new UUM-120711 fix or reversion. Retention from 6.6.0 is the normal release-line inference, not a separate native-source verification.
6000.3.0f1 through 6000.3.24f1, including 6000.3.5f2 All corresponding official release Markdown files were searched for both the issue ID and function name; no documented backport was found. Absence from notes alone cannot prove absence from native binaries.

Release versions, dates and Markdown URLs were obtained from Unity's official release API. Sources: a7 notes, original b1 notes, 6.6.0 final notes, 6.6.1 delta notes, 6.3 releases API, 6.3.24 notes. The API-supplied Markdown is useful because requesting an older beta webpage can return the current beta notes instead.

The historical failed 6.6.0 run is documented in the earlier status and its original player log. Correction, 17 September: the user confirmed that Rampage66 has older content and reports that this copy does not crash in their use. Those historical logs do not constitute a content-matched current-project comparison. They cannot rule out an engine upgrade helping the current content; the earlier inference that another upgrade comparison was redundant is withdrawn. UUM-120711 remains a possible DX12-specific lead, not an established explanation of the independent D3D11 failures. No public issue page with additional reproduction details was established for this ID.

Fresh GBV attempts: prerequisites versus completed validation

The inspected candidate uses Unity 6000.3.24f1, build GUID 863b7c4dc60d4b53971aa9bc445b51e2, Direct3D12, RTX 4060 Laptop GPU, driver 32.0.16.1692, and the debug/GBV command flags. These attempts did not use RenderDoc.

Case Observed evidence Interpretation
003954 Explicit failure to obtain the D3D12 debug interface, HRESULT 0x887a002d; later NVIDIA reset. GBV activation failed. This reset is not a fresh GBV-confirmed finding.
004230 After app-local SDK-layer preparation, no activation-failure line; 30-second deadline, one frame-1/Home recorder sample, zero camera callbacks, no recorded driver events. No usable race/validation coverage. This run has no module-proof file.
004348 60-second deadline. Module proof shows candidate-local D3D12Core and D3D12SDKLayers, both 1.618.1.0.20250923.2, loaded in PID 33832. No activation-failure line. The only sample, at 22:43:54.3822495 UTC, is frame 1/Home with zero callbacks; no later 1-Hz samples. No recorded driver events; owned job emptied and profiles restored. Matching layers loaded and requested flags are established. A positive API trace/state observation showing GBV enabled, or an emitted GBV execution result, is still absent. No stability or memory-safety pass.

The matching Microsoft signatures/core hash and local-only deployment are recorded separately in app-local-debug-layer.json. DLL loading is not equivalent to proving that SetEnableGPUBasedValidation(true) took effect before device creation. No runtime shader-compilation or CPU-stack evidence was captured in the two zero-callback attempts.

Microsoft documents that GBV instruments shaders and injects additional command-list work. Its default pipeline-state setting patches PSOs on their first use in a command list, potentially slowing command-list recording until a steady state is reached. Thus first-frame PSO instrumentation is a technically supported explanation for a long first render, but these logs do not establish that it consumed the elapsed 30/60 seconds, nor do they exclude a different wait or stall. Sources: GBV overview, pipeline-state creation flags.

GBV error output arrives after submitted work completes on the GPU. With no observed completed camera render, absence of messages cannot establish clean bindings. GBV also changes execution and is not a representative performance test. Microsoft's enablement API requires enablement before device creation; it must not be toggled on an existing device. No global DXCPL, registry, TDR, driver or OS setting change is proposed here.

The separate early RenderDoc capture is binding-structure evidence, not this missing GBV execution evidence. RenderDoc 1.46's app-facing debug wrapper does not forward SetEnableGPUBasedValidation; see its D3D12 hook implementation. The offline analyzer's declared/static operand bounds checks do not establish dynamic index values, executed branches, resource lifetime correctness or safety in later frames.

Later CPU evidence supersedes the missing-stack limitation for one additional run

The separately conducted 005021 run ended at its 180-second deadline with insufficient-render-coverage, zero recorded driver events and restored profiles. Its CPU analysis establishes work in the NVIDIA compiler during the instrumented first frame: the same UnityGfxDeviceWorker accumulated 78.375 seconds of user CPU across 84.109 seconds of wall time; a TID-selected deep stack passes through UnityPlayer, SDKLayers/d3d12, D3D12Core, NVIDIA's user-mode driver and nvgpucomp64. This is direct evidence of compiler-path CPU work for that additional run, beyond the generic explanation above. It does not identify the shader/PSO, prove successful compilation progress, produce GBV race coverage or explain the earlier uninstrumented driving failures. The 30/60-second runs themselves still lack these stacks.

Remaining application-side candidates and one useful comparison

The strongest unresolved content distinction is still billboard submission with reduced effects, rather than an unproven single shader defect. Read-only review of existing invocation manifests found this incomplete comparison:

Existing case Configuration and result What remains open
182158, build 1A211BEF4655F7C8F8313D5BF4A8D23F43F5B8436C3C5A8E8D8F1BFA345F1FB3 MinimalEffects; original billboards and full scenery retained; D3D11, High, alps-02/alps-03 transitions, 600 seconds/20 visits requested. TDR; last report 282.24 seconds, 10 completed visits. Reduced screen/atmosphere/shadow effects do not by themselves guarantee stability.
183350, same 1A211... build GeometryBaseline: reduced effects and no scenery; 600.05 seconds, 20/20 visits, no recorded reset. Chapter terrain, road, bikes and UI remain. Scenery submission/resources or associated workload differ. It is not proof that general HDRP or hardware is healthy.
190406, build 0042EE9F7059BD8376BC6B5C114CB8B0B6947C5A9C026A8BED793DE417711AB2 NoBillboardShader: reduced effects; scenery objects and resources retained, exact custom-billboard renderers suppressed. 600.06 seconds, 20/20 visits, no recorded reset. The old minimal-effects failure and this pass use the same EXE pathname but different binary hashes. Treat as a useful workload clue, not a rigorously identical-build pair.
194025 NativeBillboards: stock HDRP/Unlit with fixed crossed cards, full effects. TDR; last report 105.30 seconds, 3 completed visits. The custom shader alone cannot explain every full-graphics failure. This does not test stock billboards under the reduced-effects configuration that previously passed without billboard submission.
234515 NoBillboardsFullEffects, Low, direct D3D11/no SRP batcher, one alps-02 race completed at 82.03 seconds without reset. Shorter duration and several different settings; not an adequate High/transitions counterexample.
Current NativeBillboardsMinimalEffects selector Implemented in source/launcher; no completed invocation was found during this review. This is the concrete missing cell.

The historical 182158 and 190406 commands both requested -rampageStabilitySeconds 600 -rampageStabilityQuality 2 -rampageStabilityCycles 20 -rampageStabilityStages alps-02,alps-03 -rampageGpuMinimalEffects -force-d3d11, with a visible 1920x1080 window. The latter additionally used -rampageNoBillboardShader. Neither used direct rendering, disabled SRP batching, Forward, the native-graph override or a fixed weather seed.

Source review gives the following practical limits:

One bounded discriminating experiment, recommendation only: use the current candidate with the existing NativeBillboardsMinimalEffects selector, normal D3D11 submission, High, alps-02/alps-03 transitions, visible 1920x1080, at most 600 seconds/20 visits, and stop on the first GPU-reset event. This retains stock tree rendering while matching the reduced-effects side of the historical evidence. Do not add Forward, direct rendering, no-SRP or no-native-graph switches. The existing launcher parameter set is -DurationSeconds 600 -Cycles 20 -Scenario Transitions -StageIds alps-02,alps-03 -Quality 2 -GraphicsApi Direct3D11 -Isolation NativeBillboardsMinimalEffects -VisibleWindow, with an explicit current -PlayerPath. No such command was executed by this review.

A failure would show that the custom billboard shader and the suppressed effect group are not necessary for that failure. A pass would only prioritize the original billboard submission/deformation/material path or an effect interaction for a matched current-build comparison; it would not establish a full-graphics fix. Record current binary hashes, actual stock-material logs, effective isolation flags, camera coverage and OS events. Because of historical binary differences and stochastic failures, do not present one passing cell as proof of a unique cause. This evidence supports closing that specific comparison; it does not support another untargeted sequence of long rendering-switch tests.