ClientSettings
No longer maintained. It still works, but it is a bare-bones module and new projects should keep settings in their own state layer.
A bare-bones store for local (client) settings that fires a Signal when a setting changes.
ClientSettings is a table you assign settings into (Settings.MusicVolume = 0.5) plus a SettingChanged Signal that fires with the key and new value on every assignment, so UI and gameplay can react without polling. The Wally package is named local-settings.
Runs on the client only.
Use it when
- You need a tiny settings table with a change event and nothing else.
Install
Studio Wally
Using the Studio Wally plugin:
- Open the widget.
- Search
kashtheking/local-settings. - Press download and choose Shared module (recommended for almost every package).
Wally
Add this to the [dependencies] section of your wally.toml, then run wally install:
ClientSettings = "kashtheking/local-settings@0.1.0"
local ClientSettings = require(ReplicatedStorage.Packages.ClientSettings)
Dependencies
Wally installs these automatically:
Credits
Signal is by sleitnick (RbxUtil).
API
Every constructor, method, property and type is documented on the ClientSettings API page, generated from the doc comments in init.luau. Each entry links to its line in the source.
Help
Questions and bug reports: the Discord or a GitHub issue. See Help & contact for everything else.