Ceive ImOverlay

Ceive ImOverlay

CeiveImOverlay is a quick and easy way of creating a debug overlay for miscellaneous information. No need to create your own ui or keep track of connections, simply call 3 functions and you have all the information you could ever need.

Documentation: CeiveImOverlay | CeiveImOverlay

A basic integration of CeiveImOverlay would be as follows:

local RunService = game:GetService("RunService")
local CeiveImOverlay = require(...)
local ImOverlay = CeiveImOverlay.new()

ImOverlay.BackFrame.Parent = AScreenGui

-- Could be heartbeat or render stepped, doesnt really matter.
RunService.RenderStepped:Connect(function()
    ImOverlay:Text("Hello World!")

    ImOverlay:Render()
end)

Which would result in this:

A more complex integration could look something like this:

local RunService = game:GetService("RunService")
local CeiveImOverlay = require(...)
local ImOverlay = CeiveImOverlay.new()

ImOverlay.BackFrame.Parent = AScreenGui

-- Could be heartbeat or render stepped, doesnt really matter.
RunService.RenderStepped:Connect(function()
    for i = 1, 10 do
        ImOverlay:Begin(`Recursive {i}`)
    end

    ImOverlay:Text("Im ontop of the world!")

    for _ = 1, 10 do
        ImOverlay:End()
    end

    ImOverlay:Render()
end)

Which would result in this:

Wally: Wally
Releases: Releases · JakeyWasTaken/CeiveImOverlay · GitHub
You can find the demo place here: CeiveImOverlay - Roblox

23 Likes

This is a pretty cool module, I can now make proper labels for debugging purposes, but I made a pull request about the constructor parameters so you don’t need to get the BackLabel to do so

Nice immediate-mode implementation! Reminds me a lot of:

3 Likes

Will it have buttons?
(maybe keybinds?)
Sometimes you want to add debug buttons,
I remember when I used buttons on a small gui bc i didnt have something like this.
Also, with buttons, you could add most of Iris’ stuff like dropdowns, multiselect, checkboxes, drag/num inputs, etc.

Also, idk how to import .lua files into roblox.