Its using a viewport frame to achieve it so it’d practically be pretty much the same concept. I don’t think there’s any other real practical way of doing it other than that.
I never tried updating anything UI related though, is there any way you know how to? (I’m not asking for full code, just a sample and then ill update it every 2 frames)
--Controls
local FramesPerSecond = 30
--Variables
local TimeBetweenFrames = 1/FramesPerSecond
local lastUpdate = 0
local runService = game:GetService("RunService")
--Main Code
while true do
--update your UI
lastUpdate = time()
repeat runService.Stepped:Wait() until time()-TimeBetweenFrames > lastUpdate
end