Blur
A character takes a hit, the screen blurs and snaps back. A spell goes off, the world momentarily defocuses. A flashbang detonates, the camera goes soft for a second.
These are post-process effects — they don’t happen in your 3D scene; they happen to the rendered camera image after Roblox finishes drawing it. Blur is the type for animating a brief screen-wide blur.
What it transforms
Section titled “What it transforms”A Roblox BlurEffect instance, typically parented to Lighting.
The plugin doesn’t move the BlurEffect anywhere — it stays wherever it’s parented, and the effect applies to the whole frame regardless. Transform marks the BlurEffect as a Part-Icles emitter and gives you the property panel for editing its single animated graph.
Why screen-space types are different
Section titled “Why screen-space types are different”The workspace types (Part, Attachment, Beam, Trail, PointLight, Model) are all 3D-space types. They have positions, they may have spread cones, they move through the world. Each emitted particle is a duplicate at some location in your scene.
Screen-space types are different in kind. They have no position because the post-process effect applies to the whole rendered image, not a place in space. They don’t spread, they don’t fly, they don’t rotate. The only thing that animates is the effect’s strength over time.
So a Blur emitter has a much smaller property surface than a Part. No SpreadAngle, no Direction, no Position offsets, no Speed, no Drag, no Acceleration. Just emit timing (Rate, Lifetime, EmissionMode) and the one animated property: BlurSize.
Properties at a glance
Section titled “Properties at a glance”The full surface area, grouped by panel section.
Spawning
Section titled “Spawning”| Panel label | Data attribute | Type | Default | What it does |
|---|---|---|---|---|
| Mode | EmissionMode | enum | Emit | Emit (per-emission clones) or Animate (singleton clone, looping) |
| Loop | AnimateLoop | boolean | false | Whether Animate mode loops the cycle |
| Enabled | Enabled (attribute) | boolean | false | Master on/off |
| Rate | Rate | number | 10 | Emit rate per second (Emit mode only) |
| Lifetime | Lifetime | NumberRange | 1 | Seconds each clone lives |
Appearance
Section titled “Appearance”| Panel label | Data attribute | Type | Default | What it does |
|---|---|---|---|---|
| BlurSize | BlurSize | NumberSequence | 10 | Blur strength graph over each emission |
Advanced
Section titled “Advanced”| Panel label | Data attribute | Type | Default | What it does |
|---|---|---|---|---|
| Anim. Steps | TotalKeyFrames | number | 100 | Pre-sample resolution for the graph |
| Linger | PartLife | number | 0 | Seconds the clone lingers after Lifetime |
| Emit Into | EmitParent | Instance | nil | Where the clone parents — overrides Lighting |
That’s the entire panel. One animated graph, plus the emit timing and the linger setting. The smallest property surface of any type in the plugin.
BlurSize
Section titled “BlurSize”A NumberSequence graph for the blur strength over each emission’s lifetime. Roblox’s BlurEffect.Size ranges from 0 (no blur) up to 56 (maximum), with most useful values between 5 and 30.
A “hit blur” effect: a graph that spikes to 20 at age 0 and decays linearly to 0 by age 1. The screen blurs sharply at the start of the emission and clears as time passes. Pair this with a Lifetime of 0.5 seconds and you get a visceral half-second blur on each Emit call.
A “drift” effect: a graph that ramps from 0 up to 8 over the lifetime. The world gradually defocuses — useful for dream sequences, drowsy character states, drug-effect transitions.
A “pulse” effect: an oscillating graph between 0 and a moderate value. Combined with a long Lifetime in Animate mode, this produces a continuous wobbling blur as long as the emitter is enabled.
The singleton-clone pattern in Animate mode
Section titled “The singleton-clone pattern in Animate mode”Multiple BlurEffect instances in Lighting can coexist, and Roblox compounds their Size values into the final blur — so emitting many short-lived BlurEffect clones in rapid succession (Emit mode at a high Rate) escalates the blur, then drops it as the clones expire, then escalates again on the next batch. Visually, that reads as flicker. Two unrelated effects each running their own Blur emitter on top of each other can also clobber one another’s intent — one wants a soft drift, the other wants a sharp hit, and the user sees the sum.
To prevent that, the plugin uses a singleton-clone pattern in Animate mode for screen-space types. When you set EmissionMode = "Animate" and enable the emitter:
- The plugin creates one duplicate BlurEffect inside
Lighting. - The graphs play over the duplicate’s
Lifetime. - If
AnimateLoop = true(which you typically want for a Blur emitter, even though Transform stampsfalseby default), the cycle restarts at age0when it ends. - Re-emit calls while the duplicate is still alive are silently dropped. A second
Particle:Emit()call (or a second skill firing on the same emitter) doesn’t create a second BlurEffect — the active cycle keeps running, the new call is a no-op. - When the duplicate’s Lifetime ends (and
AnimateLoop = false), the engine destroys the duplicate.
This is a plugin-level protection, not a Roblox engine constraint. It’s there so two effects emitting the same Blur (or Bloom, or ColorCorrection) can’t fight each other or stack into a runaway.
In Emit mode (the default for most types), this protection is not active — multiple BlurEffect clones can layer up if you call Particle:Emit() repeatedly. For most uses, prefer Animate mode for screen-space types.
Emit Into
Section titled “Emit Into”By default, the duplicate parents to Lighting. Setting Emit Into to a different container (a Folder somewhere, for example) reparents the duplicate there. This is rarely useful for Blur — the BlurEffect needs to be inside Lighting to render at all — but the field is exposed for consistency with other types.
Worth knowing
Section titled “Worth knowing”A few Blur-specific quirks.
Blur is global, not local. It affects the entire camera view. There’s no way to localise it to a region of the screen or a 3D object. If you want a blur tied to a specific moving object (a force-field around a character, say), Blur isn’t the right tool. Use a transparent Part with a Decal set to a blurred texture, or a UI overlay.
Default BlurSize = 10. A new Blur emitter starts with a moderate, mostly-flat graph at value 10. That’s already a visible blur — running the emitter will produce a constant 10-pixel blur across the screen until you author the graph differently.
BlurEffect.Size has a hard ceiling. Roblox caps BlurSize at 56. Authoring a graph with values above 56 doesn’t increase the visual blur — Roblox clamps internally. Stay within that range.
Animate mode is usually what you want. Emit mode for Blur is technically functional but produces stacking issues at higher Rates. If you want a blur that pulses for as long as the emitter is enabled, set EmissionMode = "Animate" and trust the singleton.
What’s next
Section titled “What’s next”Bloom is structurally the same as Blur — a singleton screen-space emitter — but with three animated graphs instead of one. The three knobs interact in ways worth understanding before you reach for them.