Skip to content
Built on Bevy
Bevy

Your browser game, compiled to a native app

When a project is ready to leave the tab, the Engine exports it and generates a Bevy project in Rust — then compiles it into a Windows, macOS, Linux or Android build.

Target

Bevy 0.19

Licence

MIT / Apache 2.0

Language

Rust (rustc ≥ 1.95)

Renderer

wgpu

What Bevy is

Bevy is a game engine written in Rust, free and open source under a dual MIT / Apache 2.0 licence. It is built around an entity-component-system architecture and renders through wgpu, the same graphics abstraction that underlies WebGPU. It compiles to a real native binary — no browser, no runtime to ship alongside it.

Why a second engine at all

Babylon.js is what makes aukimi possible: a 3D application you open with a URL. But a finished game often has to be a file — something to put on a store page, hand to a player, or run without a tab. Rather than telling you to rebuild your project elsewhere, the Engine translates it: the scene you authored in the browser becomes a Bevy project that compiles to a desktop or mobile application.

What actually gets exported

The build does not screenshot your scene. It extracts it: geometry and materials leave as a standard GLB, everything the engine knows that glTF cannot carry (terrain, vegetation, sky, post-processing, entity data, scene settings) leaves as structured JSON alongside it, and a full Rust project is generated from those two files. That project is a normal Cargo project — you can read it.

  • scene.glb — geometry, materials, animation
  • scene.json — terrain, vegetation, lights, settings
  • A generated Cargo project targeting Bevy 0.19

Your scripts come along

Gameplay scripts written in the Engine are not rewritten in Rust by hand and they are not dropped. The generated project embeds a JavaScript runtime (QuickJS) and binds the same scripting API, so a script authored in the browser runs in the native build as written. Keeping those two APIs aligned is a standing rule of the codebase, not an afterthought.

Four targets, and one that is honest about being missing

Windows executables, macOS app bundles, Linux AppImages and Android APKs are the targets the build panel offers today. iOS is listed and switched off — the toolchain requirement is not something we can hide behind a spinner. If the build server cannot take your target, you get the generated Rust project to compile yourself rather than a failure message.

  • Windows 10/11 executable
  • macOS app bundle
  • Linux AppImage
  • Android APK (Android 8+)

What does not cross, says so

Two renderers are two renderers. Some things the browser preview does have no equivalent on the Bevy side yet — baked lightmaps and localized light probes among them. The exporter writes a conversion report listing exactly what it could not carry over, instead of silently dropping it and letting you discover the difference in the finished build. A gap you can read is a gap you can plan around.

Build your project to a real binary

Make the game in the browser. Ship it as an application.

Back the Project