WorldPointer
Guides the player to something in the 3D world.
It draws a beam from the local character to a target part, floats an icon above that target, and can outline a whole model. Each call to WorldPointer:PointTo replaces the previous one, so a step never has to clean up after the step before it.
You normally reach this through PointWorld. Use it directly for guidance that is not tied to a tutorial step, such as a quest marker.
Types
WorldPointerConfig
interface WorldPointerConfig {Name: string?--
Prefix for the instances it creates. Defaults to "TutorialPointer"
BeamWidth: number?--
Width of the built-in beam. Defaults to 0.16
Icon: string?--
Image floated above the target. No icon without one
IconHeightOffset: number?--
Studs above the target. Defaults to 3
OutlineFillTransparency: number?--
Fill transparency. Defaults to 0.55
}Styling. Pass it as Pointer in TutorialConfig.
BeamTemplate is the hook for art that the built-in beam cannot express: a textured beam, a
custom curve, a particle-laden one. The kit clones it and only sets the attachments and the name.
Tutorial.build(steps, {
Pointer = {
Icon = "rbxassetid://1234567",
BeamTemplate = ReplicatedStorage.Assets.TutorialBeam,
},
})
Functions
create
constructorCreates a standalone pointer. Tutorial.build already does this for you.
Errors
| Type | Description |
|---|---|
| "TutorialKit.WorldPointer is client only" | Called from the server |
PointTo
WorldPointer:PointTo() → ()Types
interface PointOptions {Beam: boolean?--
Set false to skip the beam
Icon: boolean?--
Set false to skip the floating icon
}Points at a part, replacing whatever was being pointed at before.
pointer:PointTo(questGiver.HumanoidRootPart, { Outline = questGiver })
The beam is skipped when there is no character to start it from, rather than erroring, and it does not retry once the character loads.
Outline
Adds a Highlight without touching the beam or the icon.
Unlike WorldPointer:PointTo this one accumulates, so you can outline several things at once. WorldPointer:Clear removes them all.
Clear
WorldPointer:Clear() → ()Removes the beam, the icon and every outline.
IsActive
WorldPointer:IsActive() → boolean--
Whether anything is currently drawn
Destroy
lifecycleWorldPointer:Destroy() → ()Clears everything and stops accepting new calls. Tutorial:Destroy already does this for you.