Currently, UpdateCachedGeometry is only called for mouse events over the scene viewport. This leads to issues with trying to project a point between the world space and screen space during PIE if the mouse is not over the game viewport (like when running an Automation Test).
Adding a call to UpdateCachedGeometry to OnDrawViewport fixes this, but I’m not sure if this is good for performance.
This issue has been fixed in 4.8.
The Tick now receives the Geomety so it updates the CachedGeometry now, this fix is not a performance issue where as calling UpdateCachedGeometry() would have been relatively expensive by comparison.