Collapse Sidebar




The Enabled property determines whether a Trail will be drawn or not. This Enabled property defaults to true.

When enabled is true, the trail will create segments between the current position of its Trail/Attachment0 and the position of the attachments in the last frame.

If enabled is set to false while a trail is drawing no new segments will be drawn, but any existing segments will be cleaned up naturally when they reach the end of their Trail/Lifetime. If you would like to clean up any existing segments, you can use the Trail/Clear function at the same time.

Code Samples

Clearing and Disabling a Trail

This example explains how to both clear a trail’s drawn segments and disable the trail to prevent new segments from being drawn. New segments will not be drawn until the trails Trail/Enabled property is set to true.

In order for this example to be properly demonstrated, we must first create a BasePart that will be the parent of our trail.

Then, we create two attachments, attachment0 and attachment1, both parented to part. The positions of these two attachments, more importantly the distance between them, determines where the trail is drawn as part moves.

For these attachments to create a trail as described, we create a new Trail and parent it to part. We then connect attachment0 to Trail/Attachment0 and attachment1 to Trail/Attachment1.

To demo that the Trail/Clear function erases any existing trail segments, the example relies on TweenService’s TweenService/Create to move part back and forth to constantly draw a trail. Every 3 seconds of this motion, the trail segments are cleared and the trail is toggled between disabled and enabled.

In order for the example to work properly, the example implements a function named tweenPart that tweens the part back and forth 15 studs.

-- The function that tweens the part back and forth 15 studs
local dir = 15
local TweenService = game:getService("TweenService")
function tweenPart(part)
	dir = dir*-1
	local goal = {}
	goal.Position = part.Position + Vector3.new(0,0,dir)
	local tweenInfo = TweenInfo.new(5)
	local tween = TweenService:Create(part, tweenInfo, goal)


-- Create a new BasePart
local part = Instance.new("Part")
part.Parent = game.Workspace
part.Anchored = true
part.Position = Vector3.new(0,5,0)

-- Create 2 attachments
local attachment0 = Instance.new("Attachment")
attachment0.Name = "Attachment0"
attachment0.Parent = part
attachment0.Position = Vector3.new(-2,0,0)

local attachment1 = Instance.new("Attachment")
attachment1.Name = "Attachment1"
attachment1.Parent = part
attachment1.Position = Vector3.new(2,0,0)

-- Create a new Trail
local trail = Instance.new("Trail")
trail.Parent = part
trail.Attachment0 = attachment0
trail.Attachment1 = attachment1
color1 = Color3.new(15/255,127/255,254/255)
color2 = Color3.new(255/255,255/255,255/255)
trail.Color = ColorSequence.new(color1, color2)

-- Tween part, clear trail segments, and toggle trail between enabled/disabled
while true do
	trail.Enabled = not trail.Enabled