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:

  1. Two instances should NEVER use the same singletons folder

  2. The first argument MUST be a folder

  3. The script that runs Quebec must be a normal script, not a ModuleScript

Available Options

Signature
Description

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