NOTE: Librebox IS NOT AFFILIATED WITH Roblox or Roblox Corporation.
Librebox is an open-source game engine that runs Luau. It aims to replicate the Roblox Public API, allowing Roblox code to run on the Librebox engine.
Librebox gives developers agency over their games -- from the code to the engine. Create your own immersive games with a familiar interface (and fully own your platform).
Create a part in the Workspace, while rotating and cycling its color.
-- examples/part_example.lua
local part = Instance.new("Part") -- Create a part
part.Anchored = true -- compat
part.Color = Color3.new(1,0,0) -- Make the part red
part.Position = Vector3.new(0,2.5,0) -- Position it
part.Parent = workspace -- Put it into workspace
local rs = game:GetService("RunService")
local t = 0
rs.RenderStepped:Connect(function(dt)
t += dt
part.CFrame = CFrame.new(part.Position) * CFrame.Angles(0, t, 0) -- rotate in place with CFrame
part.Color = Color3.fromHSV((t*0.2 % 1), 1, 1) -- set part color
end)> ./LibreboxPlayer.exe examples/part_example.lua
Librebox is currently in demo stage (it implements a limited subset of the Roblox API), but here is what is supported:
- Basic scene rendering
- Lighting, shadows, ambient, skybox
- Parts render within
game.Workspace
- Parts render within
- Basic camera movement
- Based on 'Libre-1' (to change in the future)
- Lighting, shadows, ambient, skybox
- Standard data types
CFrame,Vector3,Color3,Randomgame,script,workspace
- Instance System
- Nearly complete Instance API (missing
:WaitForChild()) <instance>.Parent:Destroy(),:Clone()
- Nearly complete Instance API (missing
- Parts
- Implements
BasePart Instance.new("Part")Part.Color,Part.Transparency,Part.SizePart.Position,Part.CFrame- More support in the future
- Implements
- Client-sided services
Workspaceworkspace.CurrentCamera- Default rendering stage
RunService- All five standard stages, including
RenderStepandHeartBeat game.RunService.RenderStepped:Wait(),:Connect()
- All five standard stages, including
Lightinggame.Lighting.Ambientgame.Lighting.ShadowSoftnessgame.Lighting.ClockTimegame.Lighting.Brightness
game:GetService()
- Luau script support
- Highly capable 'Hyperball' task scheduler
RBXScriptSignal, Event binding, connections- Coroutines, Scripts, LocalScripts
task.spawn,task.wait,task.delay- Luau optimization enabled by default
- Window handling and fullscreen optimization
NOTE: Librebox DOES NOT use any Roblox source code or assets. It simply replicates the environment used to run games. We will provide open assets in the future.
Of course, this is just a rendering demo. Librebox is extensible and easily supports the additions of new services and features.
In the next release, we will incorporate UserInputService and StarterPlayer, turning Librebox into an actual interactive engine.
Librebox currently supports Windows, but can easily be ported anywhere. The only dependencies are 'raylib' -- and raylib is already cross-platform.
- Windows 7+ (
.exe)- Standalone executable (LibreboxPlayer.exe)
Right now, Librebox compatibility is limited. This is currently a demo (not even a release!). In future releases, you can expect the following:
- Physics
- Collision events, aspects
- Mesh support
- game.Players, Player
- UserInputService, ContextActionService
- Image rendering, decals
- Onscreen GUIs
- Materials, stronger rendering
And, in the future.
- Replication support (and Servers)
Librebox is on its way to becoming a fully fledged engine -- just like Godot, or Unity, you can transfer your current Lua skills into Librebox, and create games you own.
In future releases, it could be entirely possible to:
- Create a game within the Librebox Editor (assets and scripts)
- Deploy a Librebox server (just like a Minecraft server)
- Implement your own monetization
- Get the full user experience, and professional game development
- No platform dependency
- Use your own APIs or rewrite the source code
This is entirely feasible, and, in fact, a good point for the existence of Librebox. However, what we'd like to implement first is full client compatiblity (proper rendering, APIs). Then, this makes it easier to move on to servers.
And best of all, it is copyright free and open source (Librebox is just an environment.)
I'll add this ASAP. For building dependencies, use the 'build_dependencies.bat' script, and for building the engine, build_engine.bat
For the .exe, you can specify a path either as the first argument (lua script only), or as --path (script or folder).
LibreboxPlayer.exe includes three arguments: --no-place, --target-fps, and --path.
--no-place: (FLAG) Does not execute the default place initialization script (this includes the Baseplate.)
--target-fps: Strict the FPS to a certain value (default monitor refresh rate)
--path: Path to script
This project uses:
- Luau, licensed under the MIT License.
Copyright (c) 2025 Roblox Corporation. - raylib, licensed under the zlib/libpng License.
Copyright (c) 2013-2025 Ramon Santamaria and contributors.
Librebox is an independent open source project. It is not affiliated with, endorsed by, or sponsored by Roblox Corporation. “Roblox” and “Roblox Corporation” are trademarks of Roblox Corporation. References to the Roblox Public API and compatibility are for interoperability only. Librebox uses no Roblox source code, assets, or other proprietary materials.
You can send requests or questions at librebox.developers@gmail.com.




