Stoway is a robust, data-driven inventory and hotbar system designed for Roblox experiences. Built with performance and flexibility in mind, it uses Fusion for reactive UI updates and a smart Delta Replication system to minimize network traffic. Whether you need a simple RPG backpack or a complex survival inventory, Stoway provides the solid foundation you need. Please consider going to the latest release and downloading it there.
- ๐๏ธ Drag & Drop: Smooth, glitch-free dragging between Hotbar and Storage.
- โก Static Slots: Fixed number of hotbar slots (e.g., 1-9) for consistent keybinding.
- โจ๏ธ Keybinds: Built-in support for equipping items via number keys.
- ๐พ Data-Driven: Items are stored as pure data (UUIDs), not physical Instances. Physical tools are only spawned when equipped.
- ๐ Stacking: Fully customizable stacking logic. Define max stack sizes globally or per-item.
- โ๏ธ Weight System: Optional weight/capacity limits (set specific limits or allow infinite storage).
- ๐ Sorting & Filtering: Built-in support for sorting by Rarity, Name, or ItemType, plus real-time search filtering.
- โ๏ธ Reactive UI (Fusion): Uses the Fusion library for highly performant, state-driven UI updates. Zero polling.
- ๐ก Delta Replication: The server only sends changes to the client, ensuring minimal network usage even with large inventories.
- ๐ฎ Console Support: Full gamepad support with dedicated console navigation, selection management, and drop UI.
- ๐จ UI Skins: Support for multiple UI layouts/skins (e.g., "Default", "Admin", "Trader") that can be switched on the fly.
- ๐ Rarity Support: Integrated rarity system with color-coded borders and sorting priority.
- ๐ง Droppable Items: Configurable logic for dropping items into the world.
- ๐ฅ Download: Get the latest
.rbxmfrom the Releases page. - ๐ Server Setup:
- Place
StowayServerV1_2insideServerScriptService. - Recommendation: Create a folder
ServerScriptService/Stowayto keep it organized.
- Place
- ๐ Client Setup:
- Place
StowayClientv1_2insideStarterPlayerScripts.
- Place
- ๐ Shared Resources:
- Place the
Sharedfolder (containingSettings,Types,RarityValues,Binds) intoReplicatedStorage.
- Place the
- ๐ฆ Dependencies:
- Ensure the
Fusionlibrary is available inReplicatedStorage/Packages(or adjust therequirepaths in the scripts).
- Ensure the
- ๐ Initialize:
Create a server script to load the system:
local StowayServer = require(game.ServerScriptService.StowayServerV1_2) StowayServer.Init()
Stoway V2.3.6 is configured via ReplicatedStorage/Shared/Settings.luau.
local Settings = {}
--// HOTBAR
Settings.Hotbar = {
MaxSlots = 9, -- Number of static hotbar slots
}
--// STORAGE & LIMITS
Settings.Storage = {
Limit = 50, -- Max weight/slots (0 = Infinite)
CanStack = true, -- Enable item stacking
MaxStackSize = 64, -- Default max stack size
Sorting = true, -- Enable sorting logic
SortOrder = "Rarity" -- "None", "Name", "Rarity", "ItemType"
}
--// GAMEPLAY
Settings.Gameplay = {
Droppable = true, -- Allow players to drop items
DropDistance = 5, -- How far items drop
}
--// UI SKINS
Settings.DifferentUIs = {
["Default"] = {
FolderName = "DefaultUI",
GuiName = "StowayGui",
HookPresetName = "DefaultHooks"
}
}
return SettingsStoway comes with built-in chat commands for testing (restrict these in production!).
/inv- Print current inventory state to console./add [itemId] [amount]- Add an item to your inventory./remove [uuid]- Remove an item by UUID./clear- Wipe your inventory./set_limit [n]- Change your weight limit at runtime./setui [UiType]- Switch your UI skin (e.g.,/setui Default).
HowToRoblox - sourced a lot of core mechanics from him for backpack/hotbar.
Knineteen19 - his series helped me get a good understanding for inventory/hotbar, presistance, and stacking.
Avafe - learned about the existance of fusion and react on roblox from this custom hotbar and backpack system.
Illusion for creating a module around roblox's new InputActionService thank you this saved me a lot of time ๐ญ
