UIEmitter Module - UI Particles (& Confetti)

Hello Developers or UI Designers!

I’ve made a new impactful module to make your UI designs come to life - introducing UIEmitter!

With UIEmitter you could:

  • Create celebratory confetti explosions for victories and milestones or even purchases.
  • Shower players with stars or sparkles when they level up or achieve a goal.
  • Mimic fire, smoke, rain, or magical auras within UI components.
  • Add gentle animations or moving patterns behind menus and screens.
  • Use shimmering effects or subtle trails to highlight important information.
  • Create subtle particle bursts on button clicks or hovers.

Heres some previews of some confetti I made from the module.






How to use
Setup:

local UIEmitter = require(game.ReplicatedStorage:FindFirstChild("UIEmitter")) -- get & require the module
local Emitter = UIEmitter.New() -- create a new screen gui dedicated to these emits

Example usage:

Emitter:Emit({
	Size = Vector2.new(10, 10),
	Position = Vector2.new(0, 0),
	Acceleration = Vector2.new(0, 0),
	Gravity = Vector2.new(0, 0),
	FrictionCoefficient = 1,
	LifeTime = 4,
	Properties = {},
	FadeIn = {
		Duration = 1,
		EasingStyle = Enum.EasingStyle.Linear,
		EasingDirection = Enum.EasingDirection.InOut,
		TweenProperties = {},
	},
	FadeOut = {
		Duration = 1,
		EasingStyle = Enum.EasingStyle.Linear,
		EasingDirection = Enum.EasingDirection.InOut,
		TweenProperties = {},
	},
	Texture = "",
});

Get UIEmitter


Would you use this?

  • Definitely!
  • Yes, when I get the chance to.
  • I’m not sure.
  • Probably not.
  • No, sorry.

0 voters

What do you think about UIEmitter?

  • Love it! Super easy to use and looks great.
  • Seems promising, but I’d like to see more features.
  • Fun to experiment with, not sure if it’s essential for my projects.
  • I wish it integrated better with my existing UI workflow.
  • Too complex for my needs.
  • I’ve encountered some bugs/performance issues.
  • Not worth the effort compared to other solutions.

0 voters


Updated version

19 Likes

make a github repository about this, it would be way easier to give feedback!

edit: are you going to try and multi-thread this code for performance?

I’m not sure how to exactly make this multi-threaded but from my knowledge I think I can just use coroutine.wrap(). Correct me if I’m wrong because I want to make this multi-threaded in the next version!

I’ve made the GitHub repository for code feedback!

Thank you for your feedback!

This is byfar one of the most unique modules out there I am 100% going to use this in the evorooms development!

Is it possible for the module to create an outline effect similar to what’s shown here?

Those effects are for buttons, not for particles. Although I don’t know what you’re trying to show me since there’s multiple effects in that message.
Can you be more specific?
Thanks.

New version: Version 1-cb

Added

  • UIEmitterModule.From(<GuiObject>)
    This can be used on the server, and client. It’s used for gui objects like SurfaceGui and BillboardGui.
  • Some code optimization.

GitHub Repository
Roblox Marketplace

I’m getting an error when I try to distribute the module on marketplace. So I’m not sure if you can even get it. This is why I created the GitHub Repository.

If you want anything else to be added please tell me. I can’t read your mind.

New version: Version 1-ea


Changelog
Added:

  • Emit presets.
    I’ve added a default preset called “Confetti”.
    More default presets will be added in future versions.
  • Performance upgrades.

Fixed:

  • FadeIn & FadeOut tweens not playing.
  • Memory leaks.

How to use
Setup:
image

Look inside the default Confetti preset module for an example of how to make your own preset.

Usage:

Emitter:EmitPreset(Preset, Configs)

Example usage:

Emitter:EmitPreset("Confetti", {
	Size = Vector2.new(3, 5),
	Position = Vector2.new(100, 200),
	ShootToPosition = Vector2.new(100, 100),
	AccelerationFraction = 10,
	Gravity = Vector2.new(0, 0),
	FrictionCoefficient = 1.02,
	LifeTime = 1.3,
});

Get Version 1-ea
Roblox Creator Store
GitHub Repository

2 Likes

Community: “wE wAnt pArtIcLe rEnDeRiNg iN vIeWpOrT fRaMeS :face_with_symbols_over_mouth::angry::tired_face:
This dude: :moyai:

But fr this module is real cool, good work man

3 Likes

You mind showing the confetti example???

Is there a WIKI or documentation for this? How about more effects or showcase how effects can be created and utilized?

1 Like

I gave you the emit code example. That’s all you should need.

I created the confetti preset, if you’re a scripter you would know what to do by learning how I did my preset.

Awesome module, lots can be built from this.

Ended up modifying the module slightly so Screen GUIs do get cleaned up after all particles are destroyed.

Would be neat to see a couple different presets, do you have this in source control anywhere? (git link dead)

no i dont :<, my git got suspended :expressionless:

ill add like a :Destroy() thing for the next version that would be good probably

i agree, thanks