A unified client/server notification system. Fire toasts from the server to individual players or all players, or trigger them locally on the client — same API either way.
NotificationService uses a single RemoteEvent (SlateUINotification, auto-created in ReplicatedStorage) to bridge server-to-client calls. The client listens for the event and renders toasts from a pre-built GUI template at GUI.SlateUI.Notification.List. Notifications fade in, optionally auto-dismiss, and can be manually closed.
New item found in your inventory.
Info
Properties
NotificationService.Notify("Your message here.", {
status = "info",
duration = 3,
})Call Notify() from a LocalScript to show a notification immediately on the calling client. No server involvement needed for client-initiated toasts.
Client — simple info toast
Client — all status variants
Use ServerNotify() to push a notification to a specific player, or ServerNotifyAll() to broadcast to every connected client. Both accept the same opts table as the client API.
Server — notify a single player
Server — broadcast to all players
Status colors are defined in the STATUS_COLORS table inside NotificationService. Edit or extend it directly. The mapping is also exposed as NotificationService.STATUS_COLORS so you can reference or override it at runtime from another script.
Adding a custom status type
The GUI must exist at PlayerGui.SlateUI.Notification with a Base template frame inside a List container. The Base frame must contain a Text (TextLabel), a Status (Frame for the color indicator), and an optional Button (TextButton) for manual close and Icon (ImageLabel).
| Prop | Type | Default | Description |
|---|---|---|---|
| Notify | (message: string, opts?: table) -> () | — | Client-side. Shows a notification immediately on the local player's screen. |
| ServerNotify | (player: Player, message: string, opts?: table) -> () | — | Server-side. Fires the RemoteEvent to one player. |
| ServerNotifyAll | (message: string, opts?: table) -> () | — | Server-side. Fires the RemoteEvent to all connected players. |
| opts.status | "info" | "success" | "error" | "warning" | string | "info" | Controls the Status indicator color. Extensible via STATUS_COLORS. |
| opts.duration | number | 3 | Seconds before the notification auto-dismisses. |
| STATUS_COLORS | { [string]: Color3 } | — | Exposed table — read or mutate to customize or extend status colors. |