Pragma Engine Quickstart #

Initial setup #

A full setup guide for getting Pragma Engine up and running is available via GitHub README, which is accessible once onboarding has started.

Connecting to the engine #

Pragma Engine provides engine-native SDKs for Unreal and Unity. These SDKs expose both raw and rich APIs. The engine hosts multiple API gateways serving different clients, including Players, Operators, and Partner services. Each gateway is hosted on its own port, ensuring secure access to trusted gateways.

The Social and Game gateways are designed to accept WebSocket and HTTP traffic with requests formatted either as JSON or protobuf. This allows for a full socket, binary protocol for production contexts, and HTTP + JSON for tooling and testing. Both protocols share the same session support and the HTTP protocol includes a distinct payload for accepting async notifications, allowing users to build a rich async client if needed.

Running the engine #

Pragma Engine utilizes a microservices configuration to operate a production shard. To support development and internal test environments, the engine can also run all services within a single artifact. This drastically reduces the complexity of configuring and maintaining dev and internal environments, making it practical to run local dev environments and inexpensive test environments.

Pragma Engine includes a Makefile with various utilities for building and running the platform. These targets are used in local development, and also serve as the primitives for implementing a CI / CD pipeline.

The included dev scripts include setup scripts for Windows, Mac, and Linux that install prerequisites through standard package managers. These include the JVM, Maven, Make, and a few other utilities used by our toolchain.

After installing prerequisites, running the platform is as simple as make build run. The platform will run locally with a default configuration that includes an in-memory database. It will run both Social and Game modes side-by-side within a single running process, and it’s also packaged with our built-in web portal.

We maintain a Postman collection that provides example API calls over HTTP + JSON that can be used to test, experiment, and learn the platform APIs.