Skip to content

a modern, lightweight onboarding and tutorial framework for Roblox that makes it easy to create polished, interactive experiences for new players.

Guide players through your game using UI highlights, world indicators, focus spotlights, overlays, directional arrows, and flexible completion trackers—all through a clean and developer-friendly API.


Features

Interactive Tutorials

Build tutorials one step at a time with a simple API.

  • Sequential step system
  • Dynamic descriptions
  • Skip, cancel, and completion support
  • Event-driven architecture

Focus Spotlight

Guide the player's attention using a responsive spotlight effect.

  • Automatically follows UI elements
  • Supports Parts and Models
  • Smooth transparent cutout
  • Configurable borders, padding, animations, and effects

UI Highlights

Highlight any GUI object.

  • Rounded corners
  • Animated borders
  • Pulse effects
  • Automatic resizing
  • Theme support

World Highlights

Highlight objects directly in the 3D world.

Supports:

  • BasePart
  • Model

Perfect for:

  • NPCs
  • Chests
  • Buttons
  • Interactable objects

Guide Arrows

Guide players toward important objects.

Supports both:

  • Screen-space UI arrows
  • World-space beam arrows

Screen Overlay

Dim the background while keeping the current objective visible.

Perfect for:

  • Tutorials
  • Cutscenes
  • Menus
  • Guided experiences

Flexible Trackers

Automatically complete tutorial steps using built-in trackers.

Supported trackers include:

  • Number
  • Boolean
  • Signal
  • Zone
  • Click
  • Timer

Or create your own custom logic.


Theme System

Customize the appearance of every visual element.

Configure:

  • Typography
  • Colors
  • Overlay
  • Highlight
  • Focus
  • Arrow
  • Animations

Apply themes globally or override them per tutorial or per step.


Standalone Components

Every visual component can be used independently.

local highlight = OnBoard.Highlight(button)

local overlay = OnBoard.Overlay()

local arrow = OnBoard.Arrow(button)

local focus = OnBoard.Focus(button)

No tutorial required.


Installation

Place the package inside ReplicatedStorage.

ReplicatedStorage
└── Shared
    └── Packages
        └── OnBoard

Require the module from a LocalScript.

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local OnBoard = require(
    ReplicatedStorage.Shared.Packages.OnBoard
)

Quick Start

Create a tutorial.

local tutorial = OnBoard.new()

Add your steps.

tutorial:AddStep({

    Id = "OpenInventory",

    Title = "Inventory",

    Description = "Click the inventory button.",

    Target = inventoryButton,

    Highlight = true,

    Overlay = true,

    Arrow = true,

    Focus = true,

    Tracker = OnBoard.Track.Click(inventoryButton),

})

Start the tutorial.

tutorial:Start()

That's it!


Basic Example

local tutorial = OnBoard.new()

tutorial:AddStep({

    Id = "Walk",

    Title = "Welcome!",

    Description = "Walk over to the highlighted object.",

    Target = workspace.StartPart,

    Highlight = true,

    Overlay = true,

    Arrow = true,

    Focus = true,

    Tracker = OnBoard.Track.Zone(
        workspace.StartPart,
        8
    ),

})

tutorial:AddStep({

    Id = "Shop",

    Title = "Open Shop",

    Description = "Click the shop button.",

    Target = ShopButton,

    Highlight = true,

    Overlay = true,

    Focus = true,

    Tracker = OnBoard.Track.Click(ShopButton),

})

tutorial:Start()

Package Structure

OnBoard
├── init.lua
├── Types.lua
├── Attributes.lua
│
├── Modules
│   ├── Config.lua
│   ├── Theme.lua
│   └── Tutorial.lua
│
└── Elements
    ├── Arrow.lua
    ├── Focus.lua
    ├── Highlight.lua
    ├── Overlay.lua
    └── Tracker.lua

Documentation

Continue with the following guides:

  • API — Complete reference for every class, method, tracker, event, and visual component.
  • Configuration — Learn how to customize themes, colors, animations, focus, highlights, overlays, arrows, and framework defaults.

Why OnBoard?

Unlike simple tutorial systems, OnBoard combines multiple onboarding tools into a single framework.

  • Interactive tutorial sequences
  • UI and world guidance
  • Automatic focus spotlights
  • Standalone visual components
  • Flexible completion tracking
  • Fully themeable
  • Lightweight and modular
  • Designed for modern Roblox experiences

Whether you're building a simulator, RPG, tycoon, FPS, or story game, OnBoard helps players learn your experience naturally while keeping your code clean and maintainable.