Skip to content

[Feature Request] Support runtime GLB import (or provide a documented/runtime-safe importer API) #87

@Epersonf

Description

@Epersonf

Hi! First, thanks for the amazing work on flutter_scene.
I'm currently building a map editor application (desktop) where users import 3D models dynamically at runtime. Ideally, users should be able to select a .glb file and see it immediately in the 3D viewport.

I’ve learned that flutter_scene currently works like this:

.glb → .model conversion is handled by the native importer tool

Flutter can only load .model files via flatbuffers at runtime

The GLB importer logic is not exposed as a runtime API

This means runtime GLB import is not currently possible inside a Flutter app without shipping and managing external platform-specific binaries.

❗ Issue

The helper utilities in flutter_scene_importer (such as importGltf) rely on:

Isolate.resolvePackageUriSync

build-time directory layout (e.g. /build/_deps/...)

Flutter/Dart toolchain being installed

So they cannot safely be called in a production runtime environment, because:

The build/ directory isn't included in release builds

Package URIs may not resolve in release/AOT

Toolchain dependencies won't exist on user machines

This makes it difficult to build applications that allow dynamic model import, which is a common requirement for editors and content-creation tools.

💡 Feature request

It would be extremely useful to have one of the following:

Official runtime-safe GLB import support
(even if desktop-only at first)

or

A documented/runtime-safe API for accessing the importer, such as:

a stable executable distributed with the package

or an embeddable Dart API

or a recommended integration pattern

👍 Why this matters

Enables real-world 3D tooling (editors, content apps, etc.)

Matches what engines like Unity/Godot provide

Keeps .glb as a universal format while using .model internally

🙏 Thanks

Totally understand this is early-preview software and priorities are evolving, this is just feedback from someone trying to use Scene in a production-style workflow.

If runtime import is explicitly out-of-scope right now, clarification in docs would also help a lot.

Thanks again for the awesome work!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions