Viewport Size returning 0

For viewport to return correct values you need umg hud (even empty one) assigned to active player controller.
Also make sure you connect “get player controller” to get viewport so it has info from active player controller.

Ps. that may be player pawn instead of controller.