Skip to content

SpotlightUI

GitHub stars License Luau

SpotlightUI is a lightweight, powerful guided focus module for Roblox that helps you create elegant tutorials, onboarding flows, and feature highlights with minimal code.

Why SpotlightUI?

Building effective tutorials shouldn't require hundreds of lines of code. SpotlightUI provides a clean, chainable API that lets you guide players through your game with style.

Key Features

  • Four Spotlight Shapes - Circle, Square, Rounded, and Rectangle with smooth animated transitions
  • World & UI Support - Highlight both 3D world objects and GUI elements
  • Live Tracking - Spotlights automatically follow moving or resizing elements every frame
  • Spring-Based Movement - Smooth, physics-feel position and size following with no overshoot
  • Screen-Ratio-Aware Sizing - Layouts scale correctly on any screen size or aspect ratio
  • ScrollFrame Locking - Ancestor ScrollingFrames are locked during a step so the user can't scroll away
  • Off-Screen Arrow - An arrow appears at the viewport edge pointing toward off-screen targets
  • World Object Highlight - A pulsing Highlight instance is automatically attached during FollowPart steps
  • Pulse Animations - Draw attention with customizable pulsing effects
  • Step-based System - Create multi-step tutorials with ease
  • Chainable API - Fluent interface for readable, maintainable code
  • Automatic Cleanup - Built-in Janitor integration for memory safety

Quick Example

local SpotlightUI = require(path.to.SpotlightUI)

-- Single spotlight
SpotlightUI.new()
    :FocusUI(playerGui.MainMenu.PlayButton, 20, "Click here to start!")
    :SetShape("Circle")
    :EnablePulse(10)
    :Show()

-- Multi-step tutorial
local spotlight = SpotlightUI.new()
spotlight:SetSteps({
    { UI = gui.Button1, Text = "First, click this button", Shape = "Circle", Pulse = 10 },
    { Part = workspace.Door, Text = "Now go to the door", Shape = "Circle" },
    { UI = gui.Settings, Text = "Finally, open settings", Shape = "Rectangle", Padding = 15 }
})
spotlight:Start()

Getting Started

Ready to add guided tutorials to your game? Check out the Getting Started guide to learn the basics, or dive into the API Reference for detailed documentation.

Installation

Get SpotlightUI from:

Community & Support

Credits

Created by @Vvshenok & Interactive Studios

Licensed under MIT - feel free to use in your projects!


Made for the Roblox developer community