Getting Started
Welcome to Rawframe — a moddable open-world sandbox engine where all gameplay comes from community-created mods. Built from scratch in C++20.
Install Rawframe
- Head to the Download page and grab the latest release for your platform (Windows, Linux, or macOS).
- Extract the archive to a folder of your choice.
- Run
rawframe_clientto launch the game client.
That’s it — no installer needed. The engine ships as a portable binary with all dependencies bundled.
System Requirements
| Component | Minimum | Recommended |
|---|---|---|
| OS | Windows 10 / Ubuntu 20.04 / macOS 12 | Windows 11 / Ubuntu 22.04 / macOS 14 |
| CPU | Dual-core 2.0 GHz | Quad-core 3.0 GHz |
| RAM | 4 GB | 8 GB |
| GPU | Vulkan 1.1 / Metal / DX11 | Vulkan 1.3 / Metal 3 |
| Storage | 500 MB | 1 GB |
Rawframe also supports Android (GLES 3.0+) and iOS (Metal, A12+).
Join a Server
- Launch
rawframe_client. - The server browser shows LAN servers automatically. For internet servers, they appear via the master server list.
- Click a server to connect, or use the console:
connect 1.2.3.4:27015.
You can also connect directly from the command line:
./rawframe_client -connect 192.168.1.100:27015
Create Your First Mod
Rawframe mods are Luau scripts organized in folders under the mods/ directory. Let’s create a simple “Hello World” mod.
Step 1: Create the mod folder
mods/
hello_world/
mod.json
scripts/
shared/
init.lua
Step 2: Write the manifest
Create mods/hello_world/mod.json:
{
"name": "hello_world",
"version": "1.0.0",
"description": "My first Rawframe mod",
"author": "YourName",
"dependencies": [],
"scripts": {
"server": [],
"client": [],
"shared": ["scripts/shared/init.lua"]
}
}
Step 3: Write a script
Create mods/hello_world/scripts/shared/init.lua:
rawframe.log("Hello from my first mod!")
-- Spawn a cube and make it orbit
local cube = entity.create("HelloCube")
entity.set_position(cube, 0, 5, 0)
entity.set_mesh(cube, "cube")
local time = 0
hook.Add("Think", "hello_orbit", function(dt)
time = time + dt
local x = math.cos(time) * 5
local z = math.sin(time) * 5
entity.set_position(cube, x, 5, z)
end)
Step 4: Run it
Launch the server and client:
./rawframe_server
./rawframe_client
You should see “Hello from my first mod!” in the console log, and a cube orbiting in 3D space.
Using the scaffold tool
For convenience, Rawframe ships with a mod scaffold tool:
bash tools/create_mod.sh my_awesome_mod "Your Name"
This creates the full directory structure, a pre-filled mod.json, and starter scripts.
Next Steps
- Read the Modding Guide for the full mod development workflow.
- Browse the API Playground for all 583+ Lua functions.
- Set up a Dedicated Server for multiplayer testing.
- Explore Rawframe Studio for visual world building.