ClassProperties
Typed constructors for every Roblox class's properties, for type-checking pseudo-instances.
ClassProperties is a table keyed by Roblox class name where each entry describes that class's properties with Luau types. Use it to type-check plain tables that stand in for instances (deserialized saves, network payloads, editor state) before turning them into real instances.
Use it when
- You serialize instances to tables and want strict typing when reading them back.
- You build tooling or plugins that manipulate instance-shaped data before instances exist.
Install
Studio Wally
Using the Studio Wally plugin:
- Open the widget.
- Search
kashtheking/class-properties. - 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:
ClassProperties = "kashtheking/class-properties@0.2.0"
local ClassProperties = require(ReplicatedStorage.Packages.ClassProperties)
Dependencies
None. The package is a single module with no dependencies.
Credits
Written by KashTheKing. No third-party code.
API
Every constructor, method, property and type is documented on the ClassProperties 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.