Getting Started
Installation
Install Engine in your game with the Engine plugin for Roblox Studio, choose automatic or manual updates, and check that it starts.
Requirements
- Roblox Studio.
- The Engine plugin, from the Roblox Creator Store. See Install for the link.
- For automatic updates: Allow Loading Third Party Assets may need to be on (see Automatic updates).
Engine is never downloaded from this website. The plugin installs it inside Studio, and automatic updates come straight from Roblox.
Install with the plugin
- Install the Engine plugin from the Creator Store and open your place in Studio.
- Open the Plugins tab and click Engine. The Engine - Installation window opens.
- Choose how Engine should update:
- Automatic Updates (recommended): click Enable.
- Manual Updates: click Install Latest.
- Confirm. The plugin creates the
Enginemodule in ServerScriptService. The change can be undone with Ctrl+Z like any other edit. - Publish or save your place.
Note
Engine can only be installed or changed while editing, not during a playtest.
Automatic or manual?
| Automatic Updates | Manual Updates | |
|---|---|---|
| Where the engine comes from | Loaded from Roblox every time a server starts. | A copy stored inside your place (Engine/MainModule). |
| New versions | Every new server runs the newest version. | You click Update in the plugin when you want a new version. |
| Place size | Small: only the shell is saved. | Contains the whole engine. |
| Needs | Asset loading permission (below). | Nothing. |
You can switch at any time from the plugin with Enable Auto-update or Disable Auto-update. Your Configuration folder is kept. See Updates and Versions.
Automatic updates
An automatic install loads the published engine when the server starts. It tries, in order:
AssetService:LoadAssetAsync. This needs Game Settings > Security > Allow Loading Third Party Assets, unless the game's creator owns the asset.InsertService:LoadAsset.require(assetId).
If none of them work, Engine prints exactly which methods failed and why. Turn on Allow Loading Third Party Assets first; if loading still fails, switch to manual updates. See Troubleshooting.
What gets installed
ServerScriptService
└── Engine ModuleScript (the shell)
├── Loader Script that requires Engine when the server starts
├── Configuration Folder for your settings (empty at first)
└── MainModule Manual updates only: the engine itselfAt runtime, Engine also creates ReplicatedStorage.Engine: the client half of Engine together with the configuration clients need. It is created again on every server start, so never edit it.
Install attributes
The plugin marks the shell with the EngineInstall tag and these attributes. Every install has the first three; only manual installs have the last two.
| Attribute | Value |
|---|---|
EngineMode | Automatic or Manual. |
EngineShellVersion | The shell the plugin put in, such as 1.0.0. |
EngineInstallId | This install's id, kept when you update or switch. |
EngineVersion | The engine version stored in your place. |
EngineAssetUpdated | When that version was published. |
Automatic installs have no EngineVersion, because they always run the newest engine. For them, the plugin shows the version on the Creator Store, which is the version new servers run.
The attributes an automatic shell sets on itself while a server runs, such as EngineSource, are listed in Updates and Versions.
How the plugin finds an install
The plugin looks through ServerScriptService for modules with the EngineInstall tag or the EngineMode attribute. Only those marks count, not the name: a module of your own called Engine is not an install, and the plugin leaves it alone. Rename such a module before you install, so WaitForChild("Engine") in your scripts finds the shell.
Keep the marks on the shell, or the plugin no longer sees Engine as installed. Do not rename or move the shell either: keep it directly in ServerScriptService and named Engine, because your scripts require it by that path.
Check that it works
Add a Script to ServerScriptService:
local Engine = require(game:GetService("ServerScriptService"):WaitForChild("Engine"))
print(Engine:GetBootInfo())
local TimeService = Engine:GetService("TimeService")
print("Engine is running, today is", TimeService:FormatIRLDate("%Y-%m-%d"))Press Play. You should see the boot info (Source is "Live" for automatic updates and "Bundled" for manual ones) and the date.
Using the plugin window
| Button | What it does |
|---|---|
| Enable (Automatic Updates) | Installs Engine with automatic updates. |
| Install Latest (Manual Updates) | Downloads the newest Engine and stores it in your place. |
| Update to vX.Y.Z | Manual installs only; appears when a newer version is published. |
| Enable Auto-update / Disable Auto-update | Switches between the two update models. Configuration is kept. |
| Uninstall | Removes Engine including the Configuration folder. Save your configuration modules first if you want to keep them. |
| Learn More | Shows the link to these docs. |
| Reset Size | Restores the window's original size. |
Once Engine is installed, the window shows its version: for a manual install the version stored in your place, for an automatic install the newest version on the Creator Store.
The plugin checks for a new release when you open the window, at most once a minute. If it finds more than one Engine install in ServerScriptService, it warns in the Output and manages the first one; remove the others.
Uninstalling
Click Uninstall in the plugin, or delete ServerScriptService.Engine yourself. Remove any require of Engine from your scripts as well.