About
A lightweight framework derived from Knit by Sleitnick that simplifies communication between core parts of your Roblox experience and seamlessly bridges the gap between the server and the client.
It is called Crystal because it makes your code look Shiny Clean like a Crystal!
See the Getting Started guide to start using Crystal.
Why Choose Crystal?
Structure
Services and controllers are the core of Crystal. These objects provide a foundation for Roblox experiences. By orienting core game logic around services and controllers, developers will inherit cleaner organization across codebases and easier maintainability. Services and controllers are easy to create, and provide a built-in networking layer.
Networking Layer
Crystal automatically provides networking between the client and services. Since Crystal handles the networking infrastructure, developers are not left with the burden of manually creating RemoteEvent and RemoteFunction objects throughout the hierarchy. Each service has the ability to expose specific endpoints to the client through declarative code.
Extensible
Crystal is built to be extensible. Developers write their own bootstrapping code to start and configure Crystal, which gives developers the freedom to extend how Crystal functions.
For Everyone
From professional game studios to independent developers, Crystal offers a powerful and easy-to-use foundation for Roblox experiences. Crystal is available from both Wally and from the Roblox library, allowing developers to choose between a Rojo-based or Studio-based workflow.