SpotlightUI is an open-source guided focus module that lets you quickly build interactive tutorials, onboarding flows, and visual guidance systems in Roblox with just a few lines of code. It allows you to highlight UI elements and world objects using dynamic spotlight masks, pulsing effects, and step-based sequences through a clean, chainable API.
The module works using a step system. Each step focuses on a specific UI element or 3D object, and you can move between steps through code or player actions. This makes it easy to build onboarding tutorials, feature hints, or interactive walkthroughs. SpotlightUI supports different shapes like circles and squares and works for both UI and world targets.
SpotlightUI updates targets at runtime, so highlights stay accurate even if UI moves or changes. While it’s mainly built for tutorials, it can also be used for quick callouts or temporary highlights.
Good Idea, i’m currently using top left based positioning internally I guess switching to center-anchored model would simplify the shape alignment and save me the work of doing alot of offset math
Is there any way i can disable the Text holder when activating the spotlight? i do not need it, and i’ve searched in the api and couldnt find any way to disable it.
Awesome resource but I think you should tinker with the AnchorPoint because in one of your videos I was able to see a “breathing” animation but it wasn’t centered
It’s a Frame with a UIStroke set to 10,000 thickness in Border mode and the stroke covers the screen while the frame itself becomes the transparent spotlight hole.
Currently no, it’ll be added in the next release. You can manually run FocusUI with a RenderStepped connection if you know how to, until more features are added.
Due to Roblox terminating my Roblox account I cannot release any updates to the asset but I’ll make sure I have an update ready to go for when I receive my account back. Both appeals have been accepted, this SpotlightUI Asset was involved in the violation for “Misusing Roblox Systems” although it was false moderation thankfully.