Crash when editing a Level Instance with Instanced Stereo enabled

In 5.5, ScreenPassVS (ScreenPass.usf) only emitted stereo outputs under MOBILE_MULTI_VIEW && INSTANCED_STEREO, so desktop native ISR never affected its signature.

In 5.6 the signature was refactored to FStereoVSInput/FStereoVSOutput, whose contents are gated on plain INSTANCED_STERE, so with desktop native ISR enabled, the VS now outputs EyeIndex : VIEW_ID (and SV_ViewportArrayIndex) between TEXCOORD0 and SV_POSITION.

Most pixel shaders paired with ScreenPassVS were updated to declare in FStereoPSInput StereoInput (e.g. PostProcessTonemap.usf, CopyRectPS), but PostProcessVisualizeLevelInstance.usf MainPS was missed since it declares only TEXCOORD0 and SV_POSITION.

So SV_Position lands on mismatched registers between the stages.

Fix: Add in FStereoPSInput StereoInput, between UVAndScreenPos : TEXCOORD0 and SvPosition : SV_POSITION in MainPS of Engine/Shaders/Private/PostProcessVisualizeLevelInstance.usf, matching the pattern used by PostProcessTonemap.usf. Verified fixed locally on a 5.6-based engine.

[Attachment Removed]

Steps to Reproduce
Create any template project; set Project Settings → Rendering → VR → Instanced Stereo = true (vr.InstancedStereo=True).

Restart the editor and let shaders compile.

In any level, select a few actors → right-click → Level → Create Level Instance.

Right-click the Level Instance actor → Edit.

[Attachment Removed]

Thanks for the detailed report. I have reproduced the issue on my end and have filed a ticket for us to look at.

[Attachment Removed]