[500 Stickers!] Overhead popup, animated emotes, live reaction GUI, wheel selection and more!

Overhead sticker popup and live chat reaction

☆⸻●⸻☆


Imagine a Twitch or Youtube livestream chat but full of funny memes and images
With overhead popups like the bubble chat. Can also play music & animations (emotes)

3x1-ezgif.com-webp-to-gif-converter 3x2-ezgif.com-webp-to-gif-converter 3x16-ezgif.com-webp-to-gif-converter


Free Model

Test Place

Lastest update: 12/05/2026 (Important change: Yes)

Open and edit the Test Place if the model is unavailable!
Everything is located inside ReplicatedStorage, ServerScriptService,
StarterGui, StarterPlayer -> StarterPlayerScripts!
Basically the emote/song wheel selection GUI from most games but better
Yes yes it does have cooldown and stuff go read the post yes yeS

Click to see showcase part 2:

Tons of stickers being used in a server with over 100 players
(Footage taken on PC when there were 500 stickers)

Showing some unique stickers with sounds, effects & surprises in multiplayer, in the Test Place
(Footage taken on PC when there were 150 stickers)

Showcase in an actual game - MEGA Boss Survival
(Footage taken on MOBILE when there were 111 stickers)

:waving_hand: Introduction :waving_hand:

Hi everyone!
We all know Roblox made one of the greatest decisions of all time recently


By making chat exclusive to different age groups + The totally amazing chat filter it has become way too good for us normal players, that’s why I decided to release this system for free

I’ll continue to provide updates to add new stickers, fix bugs or improve the system (Any help would be appreciated!)


:gear: How To Use | For All Questions :gear:

How this system works:
  1. When used, a sticker bubble popup will appear on the user's head, swinging for a short moment before going away. A sticker frame will also show up on the screen to show who and which sticker they used, just like a livestream chat but only image icons
  2. Players can select a sticker from the selection GUI, which sends a signal to the server to check.
  3. After checking the cooldown, the server will send a signal back to all clients to play the visuals
  4. Players are able to disable viewing new stickers locally, set stickers as favorite in an order which is saved using datastore service, and way more features...
Tutorial on how to set up model OR what to bring over from the Test Place to your game:
  1. Insert the model and move these folders into the correct locations according to their names, respectively and then ungroup them


  2. Open this Stickers ModuleScript to change settings or add your own stickers




How to turn a GIF image into an animated sticker:

RB Cat

  1. Upload the GIF file to a website like Ezgif to convert the GIF into a Png file with frames (Aka sprite sheets)

  2. Pick a number of columns so that the the number of columns and number of rows are close or equal. Example: 5 columns, 4 rows / 20 columns, 20 rows / 1 column, 2 row
    If the result comes out as a square then it’s perfect
    Why? Roblox can distort uploaded decals if they are too thin, too wide or too long
    And then convert it
    Keep track of the number of frames and its length (You can go back after the final step or open a new tab)

  1. In my example, there were 10 frames so I decided to split into 4 columns and 3 rows
    Look at the width and height. If any of them is over 1024px then you need to resize the image (Step 4)

In some cases, you need to add a tiny bit of margin space between cells so they don’t look weird with clipping errors

  1. (Skip this step if both dimensions of the image is under 1024px)
    Adjust the percentage and scale the image down until its size is smaller than 1024x1024

  1. Download the result and upload it to Roblox

  1. Open this module and scroll down to find the list of stickers

  2. Copy any premade sticker settings and change things up
    Remember the number of frames and original GIF length from step 1? Number of frames / Length and you should know how many FPS you need to play the animated sticker at the same speed

["Cat Dance"] = {
		Type = "Animated",
		Color = Color3.fromRGB(255, 0, 255),
		ImageId = 78156591234395, -- Remember, ImageId, NOT Decal Id or it won't show up
		SpriteSettings = {
			ImageSize = Vector2.new(448, 336), -- Width, Height
			CellSize = Vector2.new(448/4, 336/3), -- Width/Number of columns, Height/Number of rows
			Display = 1, -- What to display if the sticker is not looped
			FPS = 20, -- Frames Per Second, aka speed, more = faster
			End = 10, -- How many frames the image has
			Looped = true -- Animation plays forever or only once
		},
	},
  1. Voilà!

How to add a normal sticker with many sound effects:

  1. Open this module and scroll down to find the list of stickers

  2. Copy any existing sticker and change the settings

["GOAT"] = {
		Type = "Static",
		Color = Color3.fromRGB(85, 0, 255), -- Color of the sticker name
		ImageId = 14396413470, -- TextureId, remember to convert if it's a decal Id by pasting it into any decal or image label, then copying the AssetId if it changes into a new number
		Cooldown = 15, -- I recommend giving stickers with sounds a longer cooldown to avoid trolling
		Duration = 10, -- Some stickers are up to a minute in length or even longer, literally music player, a walking boombox!
		PlayRandomSound = false, -- Set to true if you want it to pick a random sound from all SoundSettings. Make sure to check the DelayTime
		Description = "Art: @simla1239", -- Optional, you can delete this and the description will not show up
		SoundSettings = { -- You can remove this entire block for no sounds
			SoundId = 133573554622776,
			Volume = 0.2, -- I suggest keeping it small to prevent trolling
			DelayTime = 0, -- Time to wait before the sound plays
			PlaybackSpeed = 1, -- Literally
			TimePosition = 0, -- Sound starts at this second
			Looped = false
		},

		-- Want multiple sounds?
		-- Add an incremental number after the string.
		-- Ex: SoundSettings -> SoundSettings2 -> SoundSettings3 -> SoundSettingsX...
		-- DelayTime should be used to separate the sounds
		SoundSettings2 = {
			SoundId = 137612233332702,
			Volume = 0.3,
			DelayTime = 0,
			PlaybackSpeed = 1,
			TimePosition = 0,
			Looped = false
		},
	},
How to add an explosion effect:
  1. Open this module and scroll down to find the list of stickers

  2. Use Ctrl + F to search for “EffectSettings”

  3. Copy a premade one, paste it in your sticker info and change it to however you like

-- Example
-- It's also possible to add more effects, just add a number after the string like how you add more sounds
-- Ex: EffectSettings -> EffectSettings2 -> EffectSettings3 -> EffectSettingsX...
-- And use DelayTime for the timing
EffectSettings = {
	Effect = "Explosion", 
	Type = "Realistic", -- Look below to see other types of effect
	PositionOffset = Vector3.new(0, 0.75, 0), -- By default it will be right at the sticker position (Before the sticker moves up)
	Radius = 15, -- Size of the explosion
	OuterColor = Color3.fromRGB(255, 204, 117), -- Some explosions might have 2 colors
	InnerColor = Color3.fromRGB(255, 170, 0),
	DelayTime = 9.8, -- Time to wait before the effect appears
}

Check here to see every possible explosion types: Default, Lightning, Doom, Realistic, Ice, Inferno, Firework, etc…

Where is the Gui script:

Open this script in StarterGui

Where are settings like hotkey/keybind, Gui color, tween time, animation speed, global volume control, default cooldown, amount of stickers used before closing the Gui, etc...:
  1. Open this module in ReplicatedStorage → Stickers

  2. Change them however you want. I have explanations next to each of them

Is this free? Yes. Can I use it for my game? Yes. Can I sell your default stickers for real money? Not really, read this and the notes below the post as some assets are from the toolbox or other places:

Lol no problem! This is in Resources > Community Resources of course you can use it in your game for free
No credits needed, it’s already great if you keep the default stickers, and perhaps lemme know about your game so I can try it out
A lot of stickers are from various amazing artists, I tried to put credits to as many as I could, so you should not sell those default ones for robux

Extension Scripts To Help With Adding New Stickers & Speed Up The Process


:white_check_mark: Features :white_check_mark:

  • Supports :mobile_phone: Mobile, :laptop: PC (Keybind & Scroll wheel for navigating), and :video_game: Console (Keybind)

  • Many types of stickers like :page_facing_up: Text (Emojis like :smiling_face_with_sunglasses: or “strings”), :artist_palette: Static (Still image), & :movie_camera: Animated (GIF like)

  • Auto saves your favorite stickers in a chosen order and simple settings

  • Can be used like an Emote wheel! Add any animations to any stickers you want in order to play them on both R6 & R15

  • Supports sounds, animations, and effects like explosions. A sticker can have many of them so with some good timing you can make very cool stuff. All of them are client sided for optimizations

  • No spamming! It has server sanity check with cooldowns for the same sticker or between different ones, maximum selections before the GUI automatically closes and so on

  • Sticker bubbles that appear on the head of a player when used along with chat-like bubbles (live sticker GUI) that appear on screen (Either can be disabled)

  • Live sticker GUI text color matches with the player’s name color in the chat

  • Wheel selection and tween animation for the GUI, PC device can use scroll button to scroll through pages without clicking

  • A search bar to easily find matching names, descriptions, tagged stickers or navigate through pages


:cross_mark: Limitations :cross_mark:

  • I cannot share my sounds due to many reasons so you have to replace some sounds if they are not working. Some are public sounds from the toolbox and they might not work

  • Please don’t add individual numbers and letters. They might be combined to form full sentences, personal info or used for a bad purpose since there is no filtering like the chat system

  • Please also don’t put the premade stickers on sales (for Robux) because they might be copyrighted. All the memes, arts and other creations belong to the original creators


:bar_chart: Update Logs :chart_increasing:

Show all:

:glowing_star: Credits :fire:

I feel like the mentions would be annoying so I removed @

  • ForeverHD - TopbarPlus module - Very cool topbar buttons
  • arbitiu - EasySprite - Spritesheet handler for animated GIFs
  • verret001 - DebrisGobbler module - Replacement for Roblox’s outdated Debris service which stops working at 1k objects limit
  • loleris - ProfileService - Datastore for saving favorite stickers, stats and other settings
  • ThunderDaNub - Creator, made basically everything else - Please credit me if possible or let me know about your game when using this so I can try it out :D

Honorable mentions:

  • Various artists, musicians, creators, memers for making this possible (Credits in each sticker’s description, I’m still adding more as I learn about their origins)
  • Toolbox - Effects, sounds and images

Support Me - Check out my game!

Mega Boss Battles (Showcase) | Clothing Store | Youtube Channel

Model and uncopylocked place link at the top so scroll up lmao

37 Likes

Feel free to suggest new sticker ideas or ask me for help if you struggle with adding your own stickers! Make sure they don’t break the TOS as well

1 Like

pls make the testing place uncopylocked

3 Likes

Yeah I just changed the test place now you can edit it

1 Like

thanks, btw the free model is uh.. taken down? it says “this item is not currently for sale”

1 Like

I guess you gotta edit the place
Roblox’s amazing moderation system took it down eventhough I checked the rules and found no problem with this system. You can even find things similar to this across big games

1 Like

19/02/2026

  • Fixed stickers overlapping each other for a few seconds after a certain amount is used
 -- Old ❌
Amount += 1
Amount = Amount % 50
Frame.ZIndex = Amount
-- New ✅
Amount += 1
Frame.ZIndex = Amount
  • Removed 1 script (Visualizer in StarterPlayerScript) from the model by merging it with another script (StickerSelection) because there’s no need to reuse it for anything else

  • Added a GIF showcase in the main post and changed a video to Youtube video

3x-ezgif.com-webp-to-gif-converter
Sticker of the day: Pop Cat

Nvm I updated the script again because turns out the ZIndex property can be as big as I want so there’s no need to reset it or anything

cant you Support ezgif query if the User is allowed to view links via PolicyService?

2 Likes

this gonna make troll and obstacle games way more engaging

2 Likes

letting people favorite/heart an gif to show at the top page/highest priority would be a cool addition if it isnt supported yet, maybe not out of the box else it would be hardcoded to one saving solution

2 Likes

all the work at a pizza place sounds with icons would be cool to have

2 Likes

an option to click on an current active gif (over the head) and it stops it

and for the default ones maybe put it all on github so the module can request it and there is no need to manually up it, but own gifs should still be add-able

I suggest you also modularize this module and put it on github the gifs data as a seperate file

1 Like

Hi it seems they accepted my appeal and changed the AI moderation take down so you can get the model now

2 Likes

This one definitely requires Datastore
The thing is, I’m against adding datastore scripts for things like this because I know most games have a different method of saving, even the 2 games that this module is made for, and without datastore, players would have to choose their favorite stickers every time they joined

2 Likes

I don’t think I can use those as they are probably paid assets in that game

2 Likes

I don’t get what you mean by this
Do you mean allow players who can see external links to automatically convert images into sprite sheets? Wouldn’t that require this to be a plugin?

1 Like

I’m adding this in a moment
About the github thing it seems quite complicated for me I need to learn everything from scratch if I were to make that

2 Likes

20/02/2026

  • Removed the source code/full script section from the post as it makes editing the post too hard and I have to manage changes across too many places. Just check the test place or model instead for my sake

  • Module.ScrollingDisabled setting renamed to Module.ZoomingDisabled

  • New setting, set to true if you want a player to instantly destroys any sticker on their client side just by clicking on it. LiveStickerTemplate in Visuals folder is also converted into an ImageButton to make this possible
    I’m keeping it visible on other clients because you cannot undo your mistake. A sticker sent by accident will eternally haunt your soul

Module.ClickToRemoveSticker = false -- If set to true, clicking on an active live sticker on the screen will remove both the overhead bubble and itself (Locally)
  • Updated the player name text color to generate from their username rather than their display name

chad'
Sticker of the day: Gigachad

1 Like

they are oss from Dued1 (creator) in the Toolbox under sounds

1 Like