Stoway Docs
A production-ready, server-authoritative inventory system for Roblox with O(1) lookups, full persistence support, and cross-platform input (mouse, touch, gamepad).
Key Concepts
Understand the core ideas behind Stoway
Server-Authoritative
All operations validated server-side. Single RemoteEvent with per-player operation locking prevents exploit spam.
Learn more →Context-Based Input
IllusionIAS contexts prevent bind conflicts. Same keys work differently in Combat vs Inventory mode.
Learn more →Hooks System
Client-side customization without modifying core code. Sound effects, animations, analytics via event hooks.
Learn more →GUI Skins
Template-based UI system. Multiple skins with different layouts, all using the same slot factory.
Learn more →Settings Layers
Global defaults in Settings.luau, per-player overrides in state.Settings. Runtime modifiable.
Learn more →Console Support
Gamepad-aware UI with selection states, visual mode indicators, and hybrid input switching.
Learn more →Project Structure
Quick reference to source locations
src/server/StowayServerV1_2/ - init.luau # Entry point & API - Core/ - InventoryState.luau # Per-player data container - SlotManager.luau # Hotbar/Storage slot logic - LimitChecker.luau # Weight validation - Operations/ - AddOperation.luau # Add items to inventory - RemoveOperation.luau # Remove items - SwapOperation.luau # Swap/move items - EquipOperation.luau # Equip/Unequip items - DropOperation.luau # Drop to world - Replication/ # Delta updates to clients - Utils/ # UUID, MetadataParser, etc. - Debug/ # Chat commands
src/client/StowayClientv1_2/ - init.luau # Entry point & UI builder - CoreState/ - InventoryStore.luau # Fusion reactive state - Input/ - InputManager.luau # Context-based binds - InteractionManager.luau # Mouse/Gamepad switching - ConsoleModeManager.luau # Combat/Inventory modes - SelectionManager.luau # Selection state machine - ConsoleDropUI.luau # Drop amount UI - Hook/ - HookManager.luau # Event hook system - Operations/ - InventoryController.luau # Client operations - DragFunctions/ - DragHandler.luau # Drag-and-drop logic - SlotCreation/ - SlotFactory.luau # Slot UI component - NetworkFunctions/ - NetworkHandler.luau # Server sync
Popular Topics
Common questions and tasks
Add a New Server Operation
Step-by-step guide to extending the inventory system
Create a GUI Skin
Design custom inventory interfaces with templates
Understand the Binds Module
Context-based input system explained
Configure Settings
Global vs per-player settings distinction
Use Hooks for Customization
Practical examples for UI feedback
Console Mode System
Combat vs Inventory modes and state flow