Playable worlds
Build real-time 3D games with frame loops, moving instances, cameras, collisions, touch input, and a Flutter HUD.
Games · simulations · playFlutter-native 3D engine
Glint is an open 3D engine for Flutter. Build games, interactive products, immersive worlds, and anything else that belongs in three dimensions—using Dart.
flutter pub add glint_engineWhy Glint
Flutter already makes the whole screen yours. Glint makes the world behind it yours too.
Not a model viewer or a thin wrapper. A scene runtime, renderer, asset pipeline, interaction system, and game loop designed to feel at home in Flutter.
What you can build
Glint is being built as a general 3D layer for Flutter—not around one narrow demo.
Build real-time 3D games with frame loops, moving instances, cameras, collisions, touch input, and a Flutter HUD.
Games · simulations · playCreate configurators, spatial catalogs, viewers, digital twins, and product stories that live inside a normal app.
Commerce · industry · storiesShape explorable spaces, learning tools, data environments, and experiences that need more than a flat canvas.
Worlds · education · dataUse Flutter’s interface system around a real 3D runtime to invent editors, creative tools, and entirely new interaction models.
Editors · interfaces · unknownsInside Glint
Glint owns the 3D world. Flutter keeps layout, text, navigation, accessibility, state, and everything it already does brilliantly.
Explore the documentation ↗PBR, HDR environments, lights, shadows, fog, blending, culling, and GPU diagnostics.
glTF / GLB, skeletal skins, KTX2 / Basis textures, remote loading, and typed errors.
Crossfades, layers, masks, events, state machines, root motion, and ragdoll blending.
Rigid bodies, joints, contacts, queries, characters, vehicles, replay, and stress tools.
Deterministic pooled particles and backend-neutral spatial audio with optional native packages.
Widget overlays, navigation, HUD, labels, sheets, gestures, and hot reload without a bridge.
Composition
Put a scene anywhere a widget can go. Layer Flutter above it, beside it, or through it. Keep the navigation, gestures, state, and hot reload you already know.
Read the quick start →Stack(children: [
Scene3D(
scene: World(
camera: chaseCamera,
nodes: gameObjects,
),
),
const GameHud(),
]);Proof, not promises
These are working examples testing different parts of the engine. Switch between a real-world car marketplace showroom, skeletal character animation, device footage, a game loop, and 3D composed inside a scrolling Flutter interface.
A production-style automotive listing with an interactive 3D showroom: orbit and pinch controls, live paint choices, performance specs, and ordinary Flutter commerce UI around the vehicle.
View Montara on GitHubWhere Glint is now
The published glint_engine line already covers Flutter composition, glTF scenes, PBR rendering, HDR lighting, picking, labels, instancing, and game loops. The 0.2 release line adds production skeletal animation, general 3D physics, deterministic particles, spatial audio, compressed texture delivery, and shader graphs.
Optional Box3D, Basis Universal, and SoLoud packages keep native capabilities modular. Comprehensive task guides document each system, and every package is now published and proven from a clean external project.
Build beyond the flat screen