Leadwerks is a commercial 3D game engine from Leadwerks Software, built for indie developers and hobbyists who want to make 3D games without a big studio’s toolchain. It combines a visual editor with built-in level design tools, Lua scripting and a royalty-free licence, with C++ available for programmers. First released in the mid-2000s and sold on Steam since 2014, it’s still in active development: Leadwerks 5, released in November 2025, is the engine that was developed for several years as Ultra Engine.
This profile covers Leadwerks’ history from its early versions to Leadwerks 5, how the engine works today, games made with it, pricing, and a tested Lua script example. Facts were checked against Leadwerks’ own news posts, its Steam store page and its official documentation repository in November 2026.
What Is Leadwerks?
Leadwerks is a commercial 3D game engine for Windows by Leadwerks Software, written in C++ and scripted in Lua, with C++ programming available as a paid add-on. It includes a visual editor, level design tools and a flowgraph editor. Leadwerks 5, released in November 2025, merged the company’s Ultra Engine into the Leadwerks name. The latest version is 5.2.1 (November 2026).
Leadwerks at a glance
| Developer | Leadwerks Software (CEO Josh Klint) |
|---|---|
| First released | 2006; on Steam since January 2014 |
| Latest version | Leadwerks 5.2.1 (November 3, 2026) |
| Formerly | Ultra Engine (merged into Leadwerks 5, November 2025) |
| Written in | C++ |
| Scripting | Lua 5.4 and a visual flowgraph; C++ with the Professional add-on |
| Physics | Newton Dynamics |
| Platform | Windows 10 and 11 (64-bit); OpenXR VR |
| Licence | Proprietary, royalty-free for commercial games |
| Price | $49.99 on Steam; Professional add-on $49.99 |
A Short History of Leadwerks
Leadwerks began in 2006 as a companion engine to 3D World Studio, a level editor from the same company, Leadwerks Software, whose CEO is Josh Klint. Each major version changed its rendering approach:
| Version | Released | Highlights |
|---|---|---|
| 1.0 | 2007 | OpenGL 2.1, lightmaps and per-vertex lighting |
| 2.x | 2008 | Shadow maps; version 2.1 switched to deferred lighting, still rare at the time |
| 3.0 | 2013 (GDC) | First multiplatform version: Windows, Mac, iOS and Android |
| 3.1 | January 2014 | Launched on Steam, with Linux support and a new OpenGL 4.0 deferred renderer; mobile support dropped |
| 4.0 | December 2015 | New vegetation system for large amounts of foliage |
| 4.6 | March 2019 | Final major version of Leadwerks 4, with peer-to-peer networking and voice chat among its additions |
Linux support was funded by a 2013 Kickstarter that raised $42,358 from 787 backers, more than double its goal. Leadwerks then passed Steam Greenlight in 27 days and went on sale on Steam in January 2014 (MCV’s report on the Steam launch).
After 4.6, the company started over with a new engine. Ultra App Kit, a C++ toolkit for building desktop applications with graphical user interfaces, came out in April 2021. The Ultra Engine SDK followed in January 2023, then Early Access on Steam and the company’s store in December 2023, and Ultra Engine 1.0 in September 2025.
From Ultra Engine to Leadwerks 5
Ultra Engine was a rewrite, not an update. Leadwerks Software’s Early Access announcement listed the changes: an editor written in C++ instead of BlitzMax, 64-bit instead of 32-bit, a custom user interface that looks the same on every platform, and C++ shared pointers instead of raw pointers, all on a Vulkan-based renderer (Ultra Engine Early Access announcement).
On November 11, 2025, the company announced that it was moving all Ultra Engine users to the Leadwerks app on Steam, as part of a plan “to consolidate users into a single app ID” (the migration announcement on Steam). Thirteen days later, on November 24, 2025, the engine was released as Leadwerks Game Engine 5. The official documentation repository shows the same merge: it moved from the UltraEngine account to the Leadwerks account on GitHub, and many pages still call the engine Ultra Engine.
Is Leadwerks Discontinued?
No. Leadwerks 4 stopped getting major updates after 2019, which led many people to assume the engine was abandoned. In fact the company spent those years building Ultra Engine, which became Leadwerks 5. Since then, updates have come steadily:
- 5.0.2 (February 2026): new timing options for smooth, stutter-free motion at high frame rates.
- 5.1 (July 2026): the clustered forward+ renderer that 5.0 launched with was replaced by a new deferred renderer with MSAA, and support was added for older and integrated graphics, back to hardware from around 2010. It also added ocean water, terrain-mesh blending and better transparency (the Leadwerks 5.1 announcement).
- 5.2 (September 2026): a new virtual reality backend built on the OpenXR standard, supporting most current VR headsets, plus a higher-precision physics mode that switches on automatically in VR.
- 5.2.1 (November 3, 2026): Steam overlay and Steamworks support when running games from the editor, a new
Scene:Clear()command, and default project folders moved to avoid conflicts with OneDrive.
How Leadwerks Works
Leadwerks is built around a single editor where you design levels, attach scripts and run your game:
- Level design tools. You can sketch levels from boxes and other shapes directly in the editor, with control over subdivision, bevels and displacement, and paint materials onto the geometry.
- Entity scripts in Lua. Any object in a scene can have Lua scripts attached. The script’s properties appear as editable fields in the editor, and the built-in script editor includes a debugger that lets you pause the game and inspect variables. Leadwerks 5 uses Lua 5.4.
- Flowgraph editor. Script functions marked as inputs or outputs can be wired together visually, so a level designer can set up sequences, such as “walk into this trigger, open that door”, without writing code.
- C++ for programmers. The engine’s full C++ API is available through the Leadwerks Professional add-on.
- Physics and AI. Newton Dynamics handles physics, and navigation meshes rebuild automatically when objects in the scene move.
- Assets. A built-in downloads manager offers ready-made PBR materials, models and skyboxes, and models can be imported as glTF.
- VR and Steam. Built-in OpenXR VR support and Steamworks features such as achievements, leaderboards and multiplayer lobbies.
Hello, Leadwerks: A Lua Entity Script
This entity script spins any object it’s attached to. Create it with the editor’s New Entity Script command (the editor saves scripts in a folder under Scripts\Entities), paste in this code, and attach the script to an object:
Spinner = {}
Spinner.name = "Spinner"
Spinner.degreespersecond = 90.0--"Degrees per second"
Spinner.spinning = true--"Spinning"
function Spinner:Start()
self.direction = 1
end
function Spinner:Update()
if not self.spinning then return end
-- World:Update() runs game logic 60 times a second by default
local step = self.degreespersecond / 60 * self.direction
self:Turn(0, step, 0)
end
-- Flowgraph inputs: connect a trigger's output to these in the editor
function Spinner:Reverse()--in
self.direction = -self.direction
end
function Spinner:Toggle()--in
self.spinning = not self.spinning
end
The text in quotes after -- on each property becomes the field’s label in the editor, so “Degrees per second” and “Spinning” can be changed per object without editing code. The --in comments mark Reverse and Toggle as flowgraph inputs, so you can wire a trigger to them. Leadwerks runs game logic 60 times a second by default, which is why the script divides by 60.
Our test: Leadwerks 5 runs only on Windows through Steam, so we didn’t run this script in the engine itself. We ran it in Lua 5.4, the version Leadwerks 5 uses, with a small stand-in for a Leadwerks entity that recorded each turn. After 60 updates, one second at the default rate, the object had turned exactly 90 degrees. Calling Reverse and running 30 more updates brought it back to 45 degrees, and Toggle stopped it. The script follows the conventions in Leadwerks’ official documentation, checked in November 2026.
Games Made with Leadwerks
Leadwerks is mostly used for indie games, many of them first-person and horror titles:
| Game | Released | Notes |
|---|---|---|
| FotoMuseo 3D | 2020 | An exploration adventure set in a photography exhibition |
| Concealment | 2021 | A first-person psychological horror game |
| Cyclone | 2022 | A first-person puzzle platformer by the creator of the Portal mod Blue Portals |
| Salvationland | 2023 | An adventure set after a global flood |
FotoMuseo 3D, Cyclone and Salvationland were sold together with the engine in the Leadwerks Games Bundle (2024). The company also runs regular community game tournaments, such as its summer and Halloween events.
Leadwerks Pricing and System Requirements
Leadwerks is sold on Steam, where a trial version is also available. In November 2026 the US prices were:
- Leadwerks Game Engine: $49.99, with Lua scripting and the full editor.
- Leadwerks Game Engine Professional (add-on): $49.99, adding C++ programming.
- Team 4-Pack: $129.99 for four copies.
The licence is royalty-free: you can sell any number of games and keep all of the revenue. On Steam, Leadwerks 5 requires 64-bit Windows 10 or 11, a 2 GHz dual-core processor, 2 GB of RAM and 4 GB of disk space, with graphics as old as an Nvidia GeForce 420, AMD Radeon HD 7400 or Intel Haswell integrated GPU (Leadwerks on Steam). Unlike Leadwerks 4, which also ran on Linux, Leadwerks 5 lists only Windows.
Leadwerks Alternatives
- Godot: a free, open-source engine with its own scripting language, C# and C++, and a large community. See our Godot engine profile.
- Unity: a large commercial engine for 2D and 3D games, scripted in C#. See our Unity engine profile.
- Unreal Engine: high-end 3D with full C++ source access and no fee until a game earns $1 million. See our Unreal Engine profile.
For more engines, browse our directory of C++ game engines.
Key Takeaways
- Leadwerks is a commercial, royalty-free 3D engine for Windows, scripted in Lua, with C++ through the $49.99 Professional add-on.
- It has been on Steam since January 2014, after a 2013 Kickstarter funded Linux support for Leadwerks 3.1.
- Leadwerks 4.6 (March 2019) was the last version of the old engine.
- Ultra Engine, the company’s rewrite, became Leadwerks 5 in November 2025, after Ultra Engine users were moved to the Leadwerks app on Steam.
- Leadwerks is actively developed: 5.1 added a new deferred renderer and support for older PCs, 5.2 added OpenXR VR support, and 5.2.1 arrived in November 2026.
- A Leadwerks entity script takes about 25 lines of Lua, with editor fields and flowgraph inputs declared by comments.
Conclusion
Leadwerks has always aimed at the developer who wants to build a 3D game alone or in a small team, with level tools, scripting and a licence that leaves every sale with the developer. Its quiet years after 2019 hid a full rewrite, and Leadwerks 5 is the result: the Ultra Engine technology under the Leadwerks name, updated every few months. For indie developers on Windows who like Lua, it’s a capable and affordable option.
For more engines across every genre, browse our game development hub.




