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
- Lower `asset.minVersion` to "2.0" if the file does not actually need newer features
- Confirm the file's real requirements; re-export targeting glTF 2.0 core
- 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
- Only accept assets declaring minVersion <= 2.0
- Check asset requirements during asset ingestion pipeline
- Keep Babylon.js updated for newer spec support
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
- Unsupported version:
- Unsupported Physics plugin version.
- Buffer access is out of range
- ${extensionContext}: Invalid area light type (${light.type})
- ${context}: Irradiance coefficients are missing
AI-assisted analysis of BabylonJS/Babylon.js@0592b347b8 (2026-08-30).
Data as JSON: /api/errors/4bd60e45f10d996e.
Report an issue: GitHub.