Getting Started
Check out the Installation page, to install Quebec into your game. We will go through two main points in this guide which will help you understand the Quebec architecture.
Project Structure
Quebec is pretty relaxed with your file structure, but singletons must be parented to one specific folder, which you pass to Quebec as described in Running Quebec
An example project structure looks like this:
- server/
- services/ -- Contain all server-singletons (also called services)
- init.server.luau -- Runs Quebec on the server
- client/
- controllers/ -- Contains all client-singletons (also called controllers)
- init.client.luau -- Runs Quebec on the client
The init.*.luau
files are running Quebec.
Running Quebec
Running Quebec is extremely simple. You just have to require the Quebec main module and call run
on it with the singleton folder as the first argument. Like this:
-- "services" is a folder that contains the singletons
require(PathToQuebecModule).run(script.Parent.services --[[, optional options table]])
There are a few rules that apply:
Two instances should NEVER use the same singletons folder
The first argument MUST be a folder
The script that runs Quebec must be a normal script, not a ModuleScript
Available Options
instances: { string }?
A table of instance names to wait for, before running any singleton. Check out Multiple Instances for more information
info: boolean?
Defaults to true
. Enabling this will enable info-level prints from the logger.
debug: boolean?
Defaults to false
in production, but true
when in studio. Enabling this will enable debug-level prints.
Last updated