BabylonJS/Babylon.js · error · Error

Incompatible minimum version:

Error message

Incompatible minimum version: 

What it means

Thrown when the parsed `asset.minVersion` is greater than the glTF 2.0 spec version the loader supports (major > 2, or major == 2 with minor > 0 per _compareVersion). The loader refuses files that declare a minimum version it cannot honor.

Source

Thrown at packages/dev/loaders/src/glTF/glTFFileLoader.pure.ts:1227

        const asset = (<any>loaderData.json).asset || {};

        this._log(`Asset version: ${asset.version}`);
        asset.minVersion && this._log(`Asset minimum version: ${asset.minVersion}`);
        asset.generator && this._log(`Asset generator: ${asset.generator}`);

        const version = GLTFFileLoader._parseVersion(asset.version);
        if (!version) {
            throw new Error("Invalid version: " + asset.version);
        }

        if (asset.minVersion !== undefined) {
            const minVersion = GLTFFileLoader._parseVersion(asset.minVersion);
            if (!minVersion) {
                throw new Error("Invalid minimum version: " + asset.minVersion);
            }

            if (GLTFFileLoader._compareVersion(minVersion, { major: 2, minor: 0 }) > 0) {
                throw new Error("Incompatible minimum version: " + asset.minVersion);
            }
        }

        const createLoaders: { [key: number]: (parent: GLTFFileLoader) => IGLTFLoader } = {
            1: GLTFFileLoader._CreateGLTF1Loader,
            2: GLTFFileLoader._CreateGLTF2Loader,
        };

        const createLoader = createLoaders[version.major];
        if (!createLoader) {
            throw new Error("Unsupported version: " + asset.version);
        }

        return createLoader(this);
    }

    private _parseJson(json: string): object {
        this._startPerformanceCounter("Parse JSON");

View on GitHub (pinned to 0592b347b8)

Solutions

  1. Lower `asset.minVersion` to "2.0" if the file does not actually need newer features
  2. Confirm the file's real requirements; re-export targeting glTF 2.0 core
  3. Upgrade Babylon.js to a newer release that may support the higher minVersion

Example fix

// before
"asset": { "version": "2.0", "minVersion": "2.1" }
// after
"asset": { "version": "2.0", "minVersion": "2.0" }
Defensive patterns

Strategy: validation

Validate before calling

const mv = gltfJson?.asset?.minVersion;
if (mv) {
  const [maj, min] = String(mv).split('.').map(Number);
  if (maj > 2 || (maj === 2 && min > 0)) throw new Error('minVersion unsupported: ' + mv);
}

Try / catch

try {
  await loader.loadAsync(url);
} catch (e) {
  if (e.message?.startsWith('Incompatible minimum version:')) {
    console.error('Asset requires newer glTF than loader supports:', e.message);
  }
}

Prevention

When it happens

Trigger: Loading a glTF whose `asset.minVersion` is e.g. "2.1" or "3.0" — a file requiring features beyond what this loader supports.

Common situations: Assets produced by newer exporters targeting future glTF revisions; spec-draft files; mixing glTF 2.0 loaders with files intended for newer toolchains.

Related errors


AI-assisted analysis of BabylonJS/Babylon.js@0592b347b8 (2026-08-30). Data as JSON: /api/errors/4bd60e45f10d996e. Report an issue: GitHub.