v1.2.0Read the changelog
Engine extends Roblox with custom services, systems, and packages.
The developer documentation for Engine by Arthonier. Install it once with the Studio plugin, then use ready-made services, systems and packages the way you use Roblox's own.
Server Script
local ServerScriptService = game:GetService("ServerScriptService")
local Engine = require(ServerScriptService:WaitForChild("Engine"))
local EconomySystem = Engine:GetSystem("EconomySystem")
EconomySystem:CreateCurrency("Coins", { Leaderstat = true })
EconomySystem.BalanceChanged:Connect(function(player, currency, balance)
print(player.Name, balance, currency)
end)What's inside
Three tiers of ready-made code
Arthonier builds and maintains all of it. You use it, and change settings where your game needs to.
17ServicesNew engine capabilities Roblox does not have built in: session-locked data, validated remotes, mesh fracturing, parallel compute and a reactive UI framework.DataServiceNetworkServiceDestructionServiceUIServiceBrowse services 5SystemsComplete game features built from those capabilities. Currencies and shops, moderation with commands and bans, global leaderboards, password locks.EconomySystemModerationSystemLeaderboardSystemBrowse systems 24PackagesPure Luau building blocks without side effects. The same modules Engine is made of, ready for your own code.PromiseSignalStateSerdeOctreeBrowse packages
Getting started
Up and running in three steps
- 1
Get the plugin
Add the Engine plugin to Roblox Studio from the Creator Store.
Install guide - 2
Install Engine
Open the plugin, pick automatic or manual updates and confirm. Engine lands in ServerScriptService.
Installation - 3
Require it
Require Engine from any script and get services, systems and packages by name.
Quick Start
Why Engine
Built for Roblox developers
- Feels like Roblox
- Engine:GetService works like game:GetService. Names, properties and Signals follow Roblox's own style.
- Safe by default
- Session-locked data, purchases granted exactly once, remotes that validate and rate-limit, and every client request checked on the server.
- Only what you use loads
- A module starts the first time you get it. Everything you never touch costs nothing.
- Configurable, not forkable
- Every setting has a default. Change only what you need in one small module, and keep it through every update.
- Always up to date
- With automatic updates every new server runs the newest Engine. With manual updates, you choose when to move.
- Nothing to download
- Engine never comes from a website. The plugin installs it in Studio and updates arrive through Roblox.
Documentation
Popular pages
- ServiceDataServiceSafe player data with session locking, autosave and replication to the client, plus DataStores, extended stores for entries bigger than one key, ordered stores, MemoryStores, cross-server topics, shared documents, purchase receipts and client local stores.
- ServiceNetworkServiceNamed remotes with built-in validation, per-player rate limiting, request/response Promises, batching, streams, middleware and bandwidth stats.
- SystemEconomySystemCurrencies saved in player profiles, shops with limits and dynamic prices, timed rewards with streaks, player trades, Robux products and safe offline transactions.
- SystemModerationSystemWarnings, mutes, kicks and bans that follow players across servers, roles and permissions, escalation ladders, reports, chat moderation, Roblox violation reports, commands, an audit log and server access control.
- ServiceUIServiceA declarative, reactive UI framework for Roblox GUIs with components, themes and styles, animation, screens and dialogs, layers, focus and effects.
- PackagePromiseValues that arrive later. Every Engine method that ends in Async returns a Promise.
Ready to build with Engine?
Get the plugin, install Engine in your place and follow the Quick Start. It takes a few minutes.
