What is the best way to make a tutorial system?

What do you want to achieve?

A tutorial system, what is the best way to make a tutorial system? Like when a new player joins then it makes like a path of where to go, etc.

2 Likes

What part are you stuck on? charscharschars

Here’s some inspiration.

1 Like

How to get new players that join the game

1 Like

You’ll need to store data for each player to indicate if they’ve completed the tutorial or not. The way to do that is using data stores. You’ll most likely want a way to store player data anyway, so look for guides on that and it should be pretty clear how to store a true or false “tutorial completed” value. Then you just check if the stored value is true when a player joins, and play the tutorial if they haven’t.

okay, how would I make like a path to go to a place?
Like waypoint

1 Like

You could use PathfindingService to generate a walkable path from the player’s position to where they need to go. Using that you can get a list of points along the way, and for example create little spheres at each waypoint to trace the path. There’s some example code on the wiki for visualizing paths.

Make a position that will be where the player needs to go. Then get a “Arrow” model from the toolbox and set the PrimaryPart to the middle of the arrow. Make sure the front side of the arrow is where it’s pointing. Then make a script inside the arrow and write this code:

local height = Vector3.new(0,7.5,0) -- The arrow will be 5 studs above the player (character's height is 5 studs high divided by 2 is 2.5. 7.5 - 2.5 is 5)
local arrow = script.Parent.PrimaryPart
local player = workspace:WaitForChild("") -- Put your username inside the string. My username is B2ongalaxy
positionToGoTo = Vector3.new(0,0,0) -- The goal position
game:GetService("RunService"):Connect(function()
arrow.CFrame = CFrame.new(player.PrimaryPart.Position, positionToGoTo)
end)

Connect is not a valid member of RunService “Run Service”

game:GetService("RunService").Heartbeat or game:GetService("RunService").Stepped

i’d prefer having a badge like “Tutorial Completed” and when player joins check if check if they have it or not and if they don’t that means they are new to game and need a tutorial. or if you decide to make skip tutorial feature you can just make “Welcome” badge which will be given when player joins the game, and then if player doesn’t have it upon joining do the tutorial. (i know its been 2 years)