Description

Note that this bug potentially also affects a wide variety of material / geometry setups; however, a translucent wireframe setup is currently the main reproduction case. The issue may also be noticeable on moving opaque wireframe setups. However, no crawling is exhibited on the opaque setup when the object is stationary. In the translucent case, crawling is always present, even under zero object and camera motion.

This bug appears to have been introduced by commit CL 39929164, which reduced the velocity shader VGPR usage by removing the seemingly redundant PackedVelocityA interpolant. This interpolant output a copy of the clip space screen position from the vertex shader using a TEXCOORD semantic. This clip space value was the same as that being output to SV_POSITION. Since SvPosition undergoes several transformations after going through the fixed function pipeline, it needs to be converted back to clip space in the pixel shader. This is so it can be used in the same way that PackedVelocityA used to be. However, this appears to be introducing incorrect or non-deterministic (not invariant) output, which cannot be fixed by simply wrapping the results in the INVARIANT macro. This results in the aliasing we observe when following the reproduction steps. If the PackedVelocityA interpolant is re-introduced, the issue goes away.

Steps to Reproduce
  • Create a translucent material with the following settings:
    Blend Mode: Translucent
    Shading Model: Unlit
    Wireframe: Enabled
    Output Depth and Velocity: Enabled
    Disable Depth Test
  • Apply the material to any object in a scene
  • Observe crawling / aliasing on the wireframe

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-355673 in the post.

0
Login to Vote

Unresolved
ComponentUE - Graphics Features
Affects Versions5.65.75.8
Target Fix5.8
CreatedNov 27, 2025
UpdatedDec 1, 2025
View Jira Issue