Skip to content

Smoke

Supported Class World & Effects

A particle emitter with the visual aesthetic of smoke.

6 Nova members · 1 modern Roblox members not implemented yet

Description

Smoke is one of several particle-emitting classes. Like other particle emitters of its kind, Smoke objects emit particles when parented to a BasePart (such as a Part) or an Attachment within such a BasePart. Compared to the ParticleEmitter class, Smoke lacks many different customization properties and special methods, such as ParticleEmitter.Lifetime or ParticleEmitter.Emit(). It is useful to create a quick special effect in a pinch; for more detailed work it is preferable to use a ParticleEmitter instead.

When Smoke.Enabled is toggled off, particles emit by this object will continue to render until their lifetime expires. When a Smoke object's Instance.Parent is set to nil (and/or Instance.Destroy()ed), all particles will instantly disappear. If this effect is not desired, try hiding the parent object at a far away position, then removing the Smoke after a few seconds using Debris to give the last particles a chance to expire. This object does not have a ParticleEmitter.Clear() method, but it is possible to set the Instance.Parent to nil and back to the exact same object for the same effect.

Smoke particles are only emitted from the center of BasePart to which they are parented. Parenting a Smoke object to an Attachment instead allows customization of the particles' start position.

Inheritance

Object → Instance → Smoke

Nova inheritance: Instance → Smoke

Properties

Color Supported Property Determines the color of the smoke particles.
Color: Color3

Determines the color of the smoke particles.

The Color property determines the color of all the particles emit by a Smoke object (both existing and future particles). It behaves similarly to ParticleEmitter.Color, except that it is only one color and not a ColorSequence. A color of white with some Smoke.Opacity makes for a nice fog effect, and a very opaque black color can compliment a Fire object nicely.

Roblox documentation

Enabled Supported Property Determines whether smoke particles emit.
Enabled: bool

Determines whether smoke particles emit.

The Enabled property, much like ParticleEmitter.Enabled, determines whether smoke particles are emitted. Any particles already emit will continue to render until their lifetime expires. This property is useful for keeping pre-made smoke effects off until they are needed later. Since smoke particles are destroyed when the Smoke object's Instance.Parent is set to nil, this property is useful in allowing existing particles the opportunity to expire before destroying the Fire object altogether. See the function below.

Roblox documentation

Opacity Supported Property Determines how opaque smoke particles render.
Opacity: float

Determines how opaque smoke particles render.

Opacity determines the opaqueness of the smoke particles. It must be in the range [0, 1]. This property works inversely in comparison to a part's BasePart.Transparency or ParticleEmitter's ParticleEmitter.Transparency: a value of 0 is completely invisible, 1 is completely visible.

The texture that Roblox uses for Smoke particles is partially transparent, so setting this property to 1 still yields transparency in rendered smoke.

Roblox documentation

RiseVelocity Supported Property Determines the velocity of the smoke particles.
RiseVelocity: float

Determines the velocity of the smoke particles.

RiseVelocity behaves similarly to ParticleEmitter.Speed and Fire.Heat: it determines how fast the smoke particles move during their lifetime. It must be in the range [-25, 25]. Negative values will cause particles to emit in the bottom (-Y) direction of the parent BasePart.

When using a Smoke effect to create fog, set this property to 0. For large smoke effects, make the rise subtle (2 to 8). For chimneys and smokestacks, higher values are appropriate.

Roblox documentation

Size Supported Property Determines the size of newly emit smoke particles.
Size: float

Determines the size of newly emit smoke particles.

The Size property of Smoke determines the size of the newly emit smoke particles. Unlike Smoke.Color, this property will not change the size of existing particles. It must be in the range [0.1, 100]. Unlike ParticleEmitter.Size, this property is only a number (not a NumberSequence). Also note also that the size of the particles is not 1-to-1 with studs; in fact, the size of the smoke particle is more than twice as large. At the largest size, smoke particles can render larger than 200 studs wide!

Roblox documentation

TimeScale Supported Property Value between 0-1 that controls the speed of the particle effect.
TimeScale: float

Value between 0-1 that controls the speed of the particle effect.

A value between 0-1 than controls the speed of the particle effect. At 1 it runs at normal speed, at 0.5 it runs at half speed, and at 0 it freezes time.

Roblox documentation

Inherited members

Inherited from Instance: 8 properties, 36 methods, 7 events. They are documented on the base class page.

1 modern Roblox member(s) are not implemented yet — expand to inspect

Members declared by Roblox's Smoke class (or by a missing base class) that Nova does not expose. Use this list to scope a migration; the compatibility guide has the recommended workaround.

Methods

Member Signature Status Notes Flags
FastForward Smoke:FastForward(numFrames: int): null Not yet — RobloxScriptSecurity

Roblox reference: Smoke

Generated from Nova's API dump and Roblox creator-docs. Nova-only members come from the engine's reflection metadata.