Is it possible render Gizmo in Runtime Game?

I copied some codes from Editor codes. The rendering cylinder is still not the top most.
But the Cylinder still occuled by scene objects.
I wonder how the editor achieve the gizmo on the top most.

I need a more convient features that could replace
GameViewDrawer in (void UGameViewportClient::Draw(FViewport* InViewport, FCanvas* SceneCanvas) with my own custom one without changing the egnine source codes… or copy a lot of codes…

EngineShowFlags.CompositeEditorPrimitives = true; will resolve the problem.
Finally it rendered similar in Editor.

Hey Henry. Did you add this line in your custom GameViewportClient? Also, how did you get a reference to FPrimitiveDrawInterface in this class in order to draw your gizmo?