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 materials, HDR environments, depth, blending, culling, and GPU diagnostics.
Nodes, transforms, cameras, hierarchy, world bounds, and reusable composition.
glTF / GLB meshes, textures, materials, remote loading, and actionable errors.
Ray picking, orbit, pan, zoom, touch routing, and node-to-screen projection.
Frame clock, dynamic instances, free cameras, simulation updates, and real-time loops.
Widget overlays, navigation, HUD, labels, sheets, 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 real device footage, a game loop, and 3D composed inside a scrolling Flutter interface.
Unedited device footage with imported multi-material glTF models, animation playback, fog, blob shadows, and a Flutter HUD.
Where Glint is now
glint_engine is live on pub.dev. The core covers scene graphs, glTF with per-material batches, PBR rendering, HDR lighting, fog, animation playback, cameras, picking, labels, instancing, game loops, and Flutter composition—validated at 60 fps on iPhone.
Next come skeletal skinning, shadows, physics, particles, audio, and the systems real projects prove they need.
Build beyond the flat screen