Skip to content

Render API

Use the Render API from Render() to draw overlays in screen, world, or minimap space.

Lua signatures are strict

The C++ render functions use default arguments internally, but Lua does not receive those defaults unless an overload is bound. Pass every parameter shown below.

Coordinate Spaces

Space Use for
Screen HUD, labels, fixed UI.
World Unit highlights, placement markers, tactical overlays.
Minimap Strategic indicators on the minimap.

Screen Space

Function Signature Description
GetScreenSize () Returns the current screen size as Vector2.
IsOnScreen (position) Returns whether a Vector2 screen position is visible.
RenderText (text, position, size, color, center, border) Draws screen-space text.
RenderLine (from, to, color, thickness) Draws a screen-space line.
RenderCircle (position, radius, color, thickness, segments) Draws a circle outline.
RenderCircleFilled (position, radius, color, segments) Draws a filled circle.
RenderRect (from, to, color, rounding, roundingCornersFlags, thickness) Draws a rectangle outline.
RenderRectFilled (from, to, color, rounding, roundingCornersFlags) Draws a filled rectangle.

World and Minimap Space

Function Signature Description
IsWorldPosOnScreen (worldPos) Returns whether a Vector3 world position is visible.
WorldToScreen (worldPos) Converts a Vector3 world position to a Vector2 screen position.
WorldToMinimap (worldPos) Converts a Vector3 world position to a Vector2 minimap position.
GetZoom () Returns the current camera zoom.
GetCameraPosition () Returns the camera position as Vector2.
RenderWorldLine (from, to, color, thickness) Draws a world-space line.
RenderWorldRect (worldPos, width, height, color, thickness) Draws a world-space rectangle outline.
RenderWorldRectFilled (worldPos, width, height, color) Draws a filled world-space rectangle.
RenderWorldCircle (worldPos, radius, color, thickness, segments) Draws a world-space circle outline.
RenderWorldCircleFilled (worldPos, radius, color, segments) Draws a filled world-space circle.
RenderWorldText (text, worldPos, size, color, center, border) Draws text anchored in world space.
RenderObjectBounds (object, color, thickness) Draws an outline around an object's bounds.
RenderObjectBoundsFilled (object, color) Draws a filled overlay over an object's bounds.
RenderMinimapDot (worldPos, radius, color) Draws a dot on the minimap.
RenderMinimapLine (worldPosFrom, worldPosTo, thickness, color) Draws a line on the minimap.
RenderMinimapRect (worldPos, width, height, color, thickness) Draws a rectangle on the minimap.
RenderMinimapRectFilled (worldPos, width, height, color) Draws a filled rectangle on the minimap.

Example

function Render()
    local player = GetAssignedPlayer()
    if not player then
        return
    end

    local color = Color(255, 0, 0, 120)
    for _, tc in ipairs(player:GetTownCenters()) do
        RenderObjectBounds(tc, color, 2.0)
        RenderWorldText("TC", tc:GetPosition(), 14.0, Color(255, 255, 255, 255), true, true)
    end
end