Open Source · BSD License · Zero Royalties
A production-grade 3D engine. Script in Python, optimise in C++, or go visual with Blueprints.
PBR rendering, physics, multiplayer, and Studio AI —
one pip install, zero royalties.
pip install acron
What's inside
A complete runtime — not a framework. From rendering to networking, all under one pip install.
Forward PBR pipeline with metal-roughness, IBL, filmic tonemapping, MSAA, HDR bloom, emission maps, and color LUT grading. GLSL shaders load directly.
Bullet 3 and ODE integrations. Raycasting, boxcast, mesh colliders, rigid-body dynamics, and a built-in simple physics layer for rapid prototyping.
Distributed Objects networking — a typed, zone-aware, server-authoritative architecture for games with hundreds to thousands of concurrent players.
Acron Studio ships with a local AI that knows your engine API. Generate code, scaffold systems, and create art assets — offline, no subscription needed to start.
First-class glTF 2.0 support with KHR extensions, Blender export via blend2bam, BAM/EGG formats, DCC exporters for Maya and 3ds Max, and a built-in model viewer.
Skeletal animation with glTF clips, sprite sheet and 2D frame animation, a full tween/interval system, and spatial audio via OpenAL and FMOD.
AcronAI: seek, flee, pursue, flock, obstacle avoidance, A* pathfinding, and nav mesh generation. Behaviour trees optional. All scriptable in Python.
Windows, macOS, Linux from one codebase. build_apps auto-packages self-contained executables. Android experimental. Vulkan in progress.
Get started in minutes
Install via pip, import the engine, and you're rendering a 3D scene in under 10 lines. No project files, no launcher, no account. Just Python.
from acron import *
# A spinning cube in 4 lines
app = Acron()
cube = Entity(model='cube', color=color.spark)
cube.animate_rotation_y(360, duration=2, loop=True)
app.run()
# Or go low-level when you need control
from acron import ShowBase
class MyGame(ShowBase):
def __init__(self):
super().__init__()
self.scene = self.loader.loadModel('city.glb')
self.scene.reparentTo(self.render)
self.taskMgr.add(self.update, 'update')
def update(self, task):
# full engine access in Python
return task.cont
MyGame().run()
BSD license. No revenue threshold. No percentage cut. No runtime fee. Ship your game, keep everything you earn.
See PricingBuilt with Acron
Games, simulations, and research projects shipped by the community.
Built something with Acron? Submit your project →
Community
Open source, developer-first. Come build with us.
Ready?
One command. No account required. BSD licensed, zero royalties, production-grade.