How can I get the screen position of a unit in the map?

Dr Super Good

Spell Reviewer
Level 62
Jan 18, 2005
This solution will likely be either desync prone itself or suffer from synchronisation latency ruining the experience.

From the camera settings, current target point of the camera and screen aspect ratio you could derive a transformation matrix that given the position and Z height of the unit returns an approximate location on a virtual screen for the unit. This is basically reverse engineering the same transformation matrix used by the GPU to convert 3D vertices into screen space for rendering.

If you do not know what vectors and matrices are I suggest looking them up as they are a core part of the maths involved. The required vector and matrix maths should be well documented online as this sort of problem is very common when instructing graphics APIs to draw 3D scenes.