A downloadable tool for Windows, macOS, and Linux

Buy Now$9.99 USD or more

===========================================================

πŸ”” ROBLOX MODULAR NOTIFICATION SYSTEM

Demo: https://www.roblox.com/share?code=5d6ffc2a6bf04d498787af1f85f8c96a&type=Experien...

===========================================================

Version: 1.0

Author: Jadon Fischer (Fischer Software e.K. / Jadon | Roblox Tutorials)

License: COMMERCIAL USE ONLY (see bottom)

===========================================================

A lightweight and flexible notification framework supporting:

β€’ Client β†’ Client  

β€’ Server β†’ Client  

β€’ Client β†’ Server β†’ Client (optional validation flow)

The system includes modular animations, optional random styling, and multiple

delivery targets — all without requiring controllers or module hierarchies.

-----------------------------------------------------------

✨ FEATURES

-----------------------------------------------------------

🎞 3 Built-in Animations — Move Up, Fade In/Out, Grow/Shrink  

πŸ“‘ Multi-Target Delivery — One, list, all, all except  

⚑ Direct Bindable Dispatch — Fastest notification method  

🧩 Blueprint-based UI — Simple to style or replace  

πŸ” Optional RemoteFunction relay for verified broadcasts  

🎨 Supports random color, animation, and position  

🧱 Clean, readable Lua — No controller structure

-----------------------------------------------------------

βš™οΈ FILE OVERVIEW

-----------------------------------------------------------

ServerScriptService/

 β””─ NotificationServer.lua        -- Handles targeting & distribution

StarterPlayerScripts/

 β””─ NotificationClient.lua        -- Handles visual creation & animations

ReplicatedStorage/

 β”œβ”€ Remotes/

 β”‚   β””─ NotificationAction (RemoteFunction)   -- Clientβ†’Serverβ†’Client only

 β”œβ”€ Bindables/

 β”‚   β””─ NotificationAction (BindableFunction) -- Direct client/server dispatch

 β””─ Blueprints/

     β””─ Notification (GUI template)

-----------------------------------------------------------

πŸ“ SYSTEM ARCHITECTURE

-----------------------------------------------------------

CLIENT (NotificationClient)

---------------------------

β€’ Responds to BOTH:

      notificationActionBF.OnInvoke

      notificationActionRF.OnClientInvoke

β€’ `BindableFunction` is the *normal* notification channel  

β€’ `RemoteFunction` is used ONLY when the client asks the server to forward a message

β€’ `showNotification` builds the GUI and plays:

    – Move Up  

    – Fade In/Out (TextTransparency)

    – Grow/Shrink

β€’ Notifications destroy themselves after completing animation

SERVER (NotificationServer)

---------------------------

The server never creates GUI — it only chooses recipients.

It uses functions:

        sendToPlayer(player, msg, style, color, pos)

        sendToList(list, msg, style, color, pos)

        sendToAll(msg, style, color, pos)

        sendToAllExcept(list, msg, style, color, pos)

Server dispatches notifications using:

        notificationActionBF:Invoke(...)

RemoteFunction is only used when:

β€’ A client requests the server to rebroadcast a notification  

β€’ `ALLOW_CLIENT_BROADCASTS = true`

-----------------------------------------------------------

πŸ“‘ NOTIFICATION DELIVERY MODES

-----------------------------------------------------------

===========================================================

1️⃣ CLIENT β†’ CLIENT  (BindableFunction, NO ACTION ROUTING)

===========================================================

The simplest, fastest method.  

Client directly calls the BindableFunction, and the same client receives it.

Client call:

    notificationActionBF:Invoke("Hello!", nil, "fade", Color3.new(1,1,1))

Client receives:

    notificationActionBF.OnInvoke = showNotification

βœ” No routing  

βœ” No β€œSendToPlayer” action  

βœ” No table structures  

βœ” Direct arguments β†’ passed directly into showNotification

Use this for:

β€’ Button clicks  

β€’ Local UI feedback  

β€’ Inventory messages  

β€’ Non-server-validated messages

===========================================================

2️⃣ SERVER β†’ CLIENT  (BindableFunction on Server)

===========================================================

The recommended method for most notifications.

Examples:

--- To one player ---

notificationActionBF:Invoke(player, "Quest complete!", nil, "grow")

--- To list of players ---

notificationActionBF:Invoke(playerList, "Dungeon opening!", nil, "fade")

--- To all players ---

notificationActionBF:Invoke(Players:GetPlayers(), "Match starting!", nil, "moveUp")

--- To all except these players ---

notificationActionBF:Invoke({"Player1","Player2"}, "Special event!", nil, "fade")

Server calls automatically forward directly into showNotification on each client.

===========================================================

3️⃣ CLIENT β†’ SERVER β†’ CLIENT (RemoteFunction)

===========================================================

Used when the client wants the server to validate or rebroadcast a message.

Client requests:

    notificationActionRF:InvokeServer("SendToAll", "Hello everyone!", "fade")

Server receives the request in:

    notificationActionRF.OnServerInvoke

Server then uses normal dispatch:

    sendToAll(...)

This flow is ONLY allowed when:

    ALLOW_CLIENT_BROADCASTS = true

-----------------------------------------------------------

🎞 ANIMATION STYLES

-----------------------------------------------------------

MOVE UP  

--------

Slides upward 10% of the screen.

FADE  

--------

Text transitions:

    1 β†’ 0 β†’ hold β†’ 1

GROW  

--------

Label size transitions:

    0 β†’ original β†’ 0  

Best for big impact notifications.

-----------------------------------------------------------

πŸ§ͺ CLIENT USAGE EXAMPLES

-----------------------------------------------------------

Direct local message:

    showNotification("Saved!", nil, "fade")

Client β†’ Client via BindableFunction:

    notificationActionBF:Invoke("Inventory updated!", nil, "grow")

Client β†’ Server β†’ Client:

    notificationActionRF:InvokeServer("SendToAll", "Hi everyone!", "fade")

Demo panel (UI buttons):

— For demonstration only  

— Not required for the system to work

-----------------------------------------------------------

πŸ–₯ SERVER USAGE EXAMPLES (BINDABLE FUNCTION — RECOMMENDED)

-----------------------------------------------------------

--- To one ---

sendToPlayer(player, "Your crops are ready!", "grow")

--- To list ---

sendToList({p1, p2}, "Team Bonus Active!", "fade")

--- To all ---

sendToAll("Server shutdown in 2 minutes!", "moveUp")

--- To all except ---

sendToAllExcept({p1}, "Everyone but p1 sees this.")

-----------------------------------------------------------

πŸ’‘ TIPS

-----------------------------------------------------------

β€’ Clientβ†’client always bypasses actions  

β€’ Use BindableFunction for 99% of cases  

β€’ Use RemoteFunction ONLY when client should ask server permission  

β€’ Your notification blueprint defines the look — code never touches layout  

β€’ Demo panel is optional & not part of core system  

-----------------------------------------------------------

βš–οΈ LICENSE — COMMERCIAL USE ONLY

-----------------------------------------------------------

Copyright (c) 2025

Jadon Fischer (Fischer Software e.K. / Jadon | Roblox Tutorials)

Permission is granted to the purchaser to modify and use in commercial Roblox

experiences. Redistribution in any form is prohibited.

-----------------------------------------------------------

βœ… CREDITS

-----------------------------------------------------------

Developed by Jadon Fischer (Fischer Software e.K. / Jadon | Roblox Tutorials)

Version 1.0 — clean, controller-free, high-performance notifications.

===========================================================

Purchase

Buy Now$9.99 USD or more

In order to download this tool you must purchase it at or above the minimum price of $9.99 USD. You will get access to the following files:

BroadcastedNotificationSystem_v1_0.rbxl 309 kB