Skip to content

DMoiPenn/Roblox-Framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rblox Luau Settings Framework Overview A professional, fully modular settings framework for Roblox experiences built in Luau. This framework provides a complete solution for managing player preferences, game settings, and UI configurations with support for both client-local and server-replicated settings.

Key Features Core Functionality Client-Only Settings: Persist player preferences locally using Player attributes Server-Replicated Settings: Synchronize critical settings across server and clients securely Automatic Persistence: Save and load settings between sessions Type Safety: Complete Luau type definitions for robust error prevention Comprehensive UI System Auto-Generating UI: Automatic creation of setting controls based on type Component Library: Ready-to-use UI controls for all setting types: Toggle switches for boolean settings Sliders with configurable min/max/step values Dropdown menus for selection from options Text and numeric input fields Full HSV color picker with RGB inputs Vector2 and UDim2 property editors Developer Experience Event-Based Architecture: React to setting changes with callbacks Category Organization: Group settings into logical categories Customizable: Easily extend with new setting types or UI components Clean API: Simple interface for registering and accessing settings Implementation Modular Design: Separate manager classes for client and server Self-Contained: No external dependencies required Optimized: Efficient runtime performance with minimal memory usage Well-Documented: Examples and full API documentation Usage Example lua CopyInsert -- Create settings instance local settingsModule = SettingsFramework.new()

-- Register a setting settingsModule:RegisterSetting({ id = "masterVolume", name = "Master Volume", description = "Controls the overall game volume", category = "audio", type = "slider", default = 0.8, min = 0, max = 1, step = 0.01, isReplicated = false, onChange = function(newValue) -- Apply the volume change SoundService.MasterVolume = newValue end })

-- Load settings, initialize UI settingsModule:LoadSettings() Benefits Production-Ready: Battle-tested with security and performance in mind Time-Saving: Eliminate the need to write custom settings logic for each project Consistent UX: Provide players with a familiar settings experience Maintainable: Clean separation of concerns makes future updates simple

About

fully modular and reusable settings framework for Roblox games

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages