Description from licensee:
We're seeing an ensure get tripped up in FDebugRenderSceneProxy that says "DrawDelegate is already Registered!". Debugging the issue, we have confirmed that the DrawDelegate does indeed attempt to get registered twice and we believe we've root caused the issue to be related to the bDeferredRegister member in FDebugDrawDelegateHelper. I've put our suggested one liner fix at the bottom
The specific flow that's causing this issue is this:
I believe the fix here should be fairly simple as I don't think it's intentional that bDeferredRegister should be left to true after UnregisterDebugDrawDelegate is called. By simply adding this line to the end of FDebugDrawDelegateHelper::UnregisterDebugDrawDelegate we were able to resolve our issue:
bDeferredRegister = false;
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-162682 in the post.