[RELEASE] OnBoard — Modern, Lightweight Onboarding & Tutorial Framework

v1.2.0 (Update Required) - June 22nd 2025

This update includes major improvements and fixes. It’s highly recommended that all users update.

Release Notes: Here


OnBoard

Create smooth, interactive tutorials and onboarding experiences for your Roblox games.

Getbtn GitBtn DocsBtn

:movie_camera: Demo

Showcase

Sorry for the quality—DevForum currently limits video uploads to 10 MB.


New Focus Feature

:open_book: About

OnBoard is a modern, flexible, and lightweight onboarding framework designed to help Roblox developers create polished tutorial experiences.

Creating a good first-time player experience can be challenging. OnBoard makes it easier by providing a simple API for creating:

  • Interactive tutorials
  • UI walkthroughs
  • World navigation guides
  • Objective indicators
  • First-time player experiences

Whether you need to highlight UI elements, guide players toward world locations, or create a complete step-by-step tutorial, OnBoard provides everything needed to get started quickly.


:sparkles: Features

:bullseye: UI Element Highlighting

Darken the screen and focus player attention on important UI elements.

Perfect for:

  • Inventory tutorials
  • Shop explanations
  • Settings guides
  • Button walkthroughs

:globe_with_meridians: 3D World Indicators

Guide players through your world using visual indicators.

Includes:

  • Directional arrows
  • Beam indicators
  • World targets

Useful for:

  • Quests
  • Objectives
  • Locations
  • Navigation systems

:bow_and_arrow: Animated Pointer Arrows

Keep players focused with animated arrows pointing toward important targets.


:gear: Global Theme Configuration

Customize your entire onboarding experience from one configuration file.

Config.lua allows you to change:

  • Fonts
  • Colors
  • Title sizes
  • Beam textures
  • UI styling

:high_voltage: Simple Sequence API

OnBoard uses a clean and beginner-friendly API:

Tutorial:Start()

Tutorial:Next()

Tutorial:Previous()

Tutorial:GoToStep(index)

Tutorial:Stop()

:package: Installation

Place the package inside:

ReplicatedStorage
└── OnBoard

Require it from a LocalScript:

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local OnBoard = require(ReplicatedStorage.OnBoard)

:laptop: Quick Start Example

Create a simple onboarding sequence:

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")

local Player = Players.LocalPlayer
local PlayerGui = Player:WaitForChild("PlayerGui")

local MainGui = PlayerGui:WaitForChild("MainGui")

local OnBoard = require(ReplicatedStorage.OnBoard)


local Tutorial = OnBoard.CreateSequence({

    Id = "FirstTimePlayer",

    Steps = {

        {
            Title = "Inventory System",

            Text = "Click here to open your inventory and manage your items.",

            Target = MainGui.InventoryButton,

            ShowArrow = true,

            ShowOverlay = true,
        },


        {
            Title = "The Shop",

            Text = "Visit the shop to buy new weapons and equipment!",

            Target = MainGui.ShopButton,

            ShowArrow = true,

            ShowOverlay = true,
        }

    }

})


Tutorial:Start()

:hammer_and_wrench: Sequence API

Method Description
Tutorial:Start() Starts the onboarding sequence
Tutorial:Next() Moves to the next step
Tutorial:Previous() Goes back to the previous step
Tutorial:GoToStep(index) Jumps to a specific step
Tutorial:Stop() Stops the tutorial and cleans everything

:memo: Feedback & Suggestions

OnBoard is actively being improved!

Feel free to:

  • Report bugs
  • Suggest features
  • Share your feedback
  • Show how you use OnBoard in your games

Future improvements may include:

  • More indicator styles
  • Additional customization options
  • More tutorial components
  • Better editor tooling

:raising_hands: Credits

Created by @Henry


Tags:

#module #framework #tutorial #onboarding #ui #systems #opensource

4 Likes

Examples or demos would be appreciated!

3 Likes

any asset links or demo videos?

1 Like

wait i only i did this as template i didnt finish it

it was only a preview i haven’t finished yet look now , i am planning to add more features but this is for start rn

:scroll: Changelog & Improvements

We’ve overhauled the core architecture of OnBoard to make configuration cleaner, type safety stricter, and customization much more flexible.


:bullseye: Focus & Target Highlighting System(NEW!)

  • Dynamic Target Tracking: Target elements and world instances can now be set dynamically per step using SetTarget(target).
  • Seamless Overlay Focus: The Overlay system automatically adjusts focus borders and background dimming around focused UI elements or world targets without requiring manual Z-Index hacks.
  • Responsive Re-anchoring: The target focus cutout dynamically tracks moving UI elements and viewport resizes smoothly during active steps.

:artist_palette: Modular Theme & Config Structure

  • Nested Hierarchy: Config and Theme properties are now cleanly grouped into intuitive sub-tables (UI, Colors, Overlay, Highlight, WorldHighlight, Arrow, and Tween).
  • 100% Backward Compatible: Your existing setups will not break. The Theme manager dynamically bridges legacy flat properties (such as PrimaryColor or OverlayTransparency) directly into the new nested structure.
  • Safe Fallbacks: UI components now automatically fall back to global config defaults if a custom parameter is omitted.

:hammer_and_wrench: Component & UI Enhancements

  • Overlay.lua Fixes: Refactored screen GUI layering and Z-Index tracking to use Config.UI.ScreenGuiName and Config.UI.OverlayZIndex reliably across all display devices.
  • Card.lua Typography Support: Full support for both classic Enum.Font values and modern, custom Font instances across titles, descriptions, and step counters.
  • Tracker.lua Type Precision: Strictly typed every tracking criteria (Number, Boolean, Signal, Zone, Click, and Timer) to prevent engine type-checker warnings and runtime indexing bugs.