
Runway Light Wave
Sweep violet and cyan across a row of runway panels in your Studio experience with staggered color fades.
Get Script ↗About Runway Light Wave
Use this Luau script inside your own Roblox Studio place. Its source is included below.
What it does
Neon color wave
Violet-to-cyan reversals on neon panels
Panel sequence
Staggered starts in panel name order
Adjustable timing
Editable fade time and spacing between starts
How to run it
Prepare the panel folder
Add a Folder to Workspace. Place several anchored Parts directly inside it to mark the sides of your runway.
Order the panels
Name the Parts Panel01, Panel02 and so on in the order you want the wave to travel.
Install and test the wave
Add a server Script to the Folder, paste the source and press Play. Change the two RGB colors to suit your set.
View Luau source
-- Put this server Script inside a Folder of anchored light panels in Workspace.
local TweenService = game:GetService("TweenService")
local panelFolder = script.Parent
assert(panelFolder:IsA("Folder"), "Place this Script inside the runway Folder")
local panels = {}
for _, child in panelFolder:GetChildren() do
if child:IsA("BasePart") then
table.insert(panels, child)
end
end
assert(#panels > 0, "Add at least one Part directly inside the runway Folder")
table.sort(panels, function(left, right)
return left.Name < right.Name
end)
local fade = TweenInfo.new(1.4, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true)
for _, panel in panels do
panel.Material = Enum.Material.Neon
panel.Color = Color3.fromRGB(117, 67, 225)
TweenService:Create(panel, fade, { Color = Color3.fromRGB(62, 221, 229) }):Play()
task.wait(0.16)
end
Questions
Why does the wave skip around the runway?
The script sorts Parts alphabetically. Use matching two-digit suffixes such as Panel01 through Panel12 and place them in that physical order.
Can I change the spacing between colors?
Change the 0.16-second delay at the end of the loop. A larger delay spreads the starting times farther apart.


