Librebox Engine (demo)
An open-source Roblox-compatible game engine
NOTE: Librebox IS NOT AFFILIATED WITH Roblox or Roblox Corporation.
What is Librebox?
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.
Why Librebox?
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).
Example
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
Compatibility
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 Basic camera movement Based on 'Libre-1' (to change in the future)
Standard data types CFrame , Vector3 , Color3 , Random game , script , workspace
Instance System Nearly complete Instance API (missing :WaitForChild() ) .Parent :Destroy() , :Clone()
Parts Implements BasePart Instance.new("Part") Part.Color , Part.Transparency , Part.Size Part.Position , Part.CFrame More support in the future
Client-sided services Workspace workspace.CurrentCamera Default rendering stage RunService All five standard stages, including RenderStep and HeartBeat game.RunService.RenderStepped:Wait() , :Connect() Lighting game.Lighting.Ambient game.Lighting.ShadowSoftness game.Lighting.ClockTime game.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.
Download
Download releases here.
To Be Added
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.
Platforms
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)
)
Future Support
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.
The future of Librebox
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.)
Usage and Documentation
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
Licenses
This project uses:
Luau, licensed under the MIT License.
Copyright (c) 2025 Roblox Corporation.
Copyright (c) 2025 Roblox Corporation. raylib, licensed under the zlib/libpng License.
Copyright (c) 2013-2025 Ramon Santamaria and contributors.
Legal Notice
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.
Contact
You can send requests or questions at [email protected] .