Skip to content

Light ​

Select a Light (PointLight, SpotLight, or SurfaceLight) and run Transform to turn it into a SineVFX light emitter. Instead of a static light, it spawns short-lived light copies on emit, each one animated over its life, so you get flashes, pulses, and glows that fire on cue like any other effect.

What happens on transform ​

  • The light is tagged in place and gains a Properties folder, seeded from its current Brightness, Range, and Color. The light stays on its parent (unlike the Screen Effect, lights persist).
  • The original turns into the hidden source template. On emit, SineVFX clones it into the source's parent, ages each copy 0 -> 1 over its Lifetime along the Appearance graphs, then destroys it.
  • Because lights don't move, this is a copy model, not a moving-particle one. Fire several at once and their brightness stacks on the part.

Property reference ​

GroupPropertyMeaning
EmissionEnabledMaster toggle. Drives the runtime the same as the Emit window's Enable.
RateCopies spawned per second while enabled (0 = one held play).
LifetimeHow long each light copy lives before it fades out and is destroyed.
TimeScalePlayback speed. 1 normal, 2 twice as fast, 0.5 slow motion, 0 frozen.
EmitCountHow many copies a single Emit burst spawns.
AppearanceBrightnessLight intensity over the copy's life (graph). Shape it for a flash-and-fade.
RangeLight reach in studs over life (graph).
ColorLight colour over life (colour graph).

Author the graphs so t = 1 lands back at rest, so a copy fades out cleanly instead of popping.

Play model ​

Same emit / enable / disable verbs as everything else:

  • Emit spawns EmitCount copies, once.
  • Enable with Rate > 0 spawns a copy every 1 / Rate seconds until you disable.
  • Enable with Rate 0 holds one play until disable.

Nesting ​

A transformed Light placed inside an emitter's RenderPart template bursts on spawn, so each particle can carry its own light (a glowing shard, a spark that actually lights the scene).

Preview and ship ​

Preview in the Emit window, then plant the runtime module and drive it with VFX.emit(light) / VFX.enable(light) / VFX.disable(light). See the Runtime API. Re-plant the module after editing so the generated code includes your light driver.

Built by RoPotat0 for the Roblox VFX community.