{"record":{"id":"4bd60e45f10d996e","repo":"BabylonJS/Babylon.js","slug":"incompatible-minimum-version","errorCode":null,"errorMessage":"Incompatible minimum version: ","messagePattern":"Incompatible minimum version: ","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/dev/loaders/src/glTF/glTFFileLoader.pure.ts","lineNumber":1227,"sourceCode":"        const asset = (<any>loaderData.json).asset || {};\r\n\r\n        this._log(`Asset version: ${asset.version}`);\r\n        asset.minVersion && this._log(`Asset minimum version: ${asset.minVersion}`);\r\n        asset.generator && this._log(`Asset generator: ${asset.generator}`);\r\n\r\n        const version = GLTFFileLoader._parseVersion(asset.version);\r\n        if (!version) {\r\n            throw new Error(\"Invalid version: \" + asset.version);\r\n        }\r\n\r\n        if (asset.minVersion !== undefined) {\r\n            const minVersion = GLTFFileLoader._parseVersion(asset.minVersion);\r\n            if (!minVersion) {\r\n                throw new Error(\"Invalid minimum version: \" + asset.minVersion);\r\n            }\r\n\r\n            if (GLTFFileLoader._compareVersion(minVersion, { major: 2, minor: 0 }) > 0) {\r\n                throw new Error(\"Incompatible minimum version: \" + asset.minVersion);\r\n            }\r\n        }\r\n\r\n        const createLoaders: { [key: number]: (parent: GLTFFileLoader) => IGLTFLoader } = {\r\n            1: GLTFFileLoader._CreateGLTF1Loader,\r\n            2: GLTFFileLoader._CreateGLTF2Loader,\r\n        };\r\n\r\n        const createLoader = createLoaders[version.major];\r\n        if (!createLoader) {\r\n            throw new Error(\"Unsupported version: \" + asset.version);\r\n        }\r\n\r\n        return createLoader(this);\r\n    }\r\n\r\n    private _parseJson(json: string): object {\r\n        this._startPerformanceCounter(\"Parse JSON\");\r","sourceCodeStart":1209,"sourceCodeEnd":1245,"githubUrl":"https://github.com/BabylonJS/Babylon.js/blob/0592b347b8a4ee0236089ea86a749cacfdb266d8/packages/dev/loaders/src/glTF/glTFFileLoader.pure.ts#L1209-L1245","documentation":"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.","triggerScenarios":"Loading a glTF whose `asset.minVersion` is e.g. \"2.1\" or \"3.0\" — a file requiring features beyond what this loader supports.","commonSituations":"Assets produced by newer exporters targeting future glTF revisions; spec-draft files; mixing glTF 2.0 loaders with files intended for newer toolchains.","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"],"exampleFix":"// before\n\"asset\": { \"version\": \"2.0\", \"minVersion\": \"2.1\" }\n// after\n\"asset\": { \"version\": \"2.0\", \"minVersion\": \"2.0\" }","handlingStrategy":"validation","validationCode":"const mv = gltfJson?.asset?.minVersion;\nif (mv) {\n  const [maj, min] = String(mv).split('.').map(Number);\n  if (maj > 2 || (maj === 2 && min > 0)) throw new Error('minVersion unsupported: ' + mv);\n}","typeGuard":null,"tryCatchPattern":"try {\n  await loader.loadAsync(url);\n} catch (e) {\n  if (e.message?.startsWith('Incompatible minimum version:')) {\n    console.error('Asset requires newer glTF than loader supports:', e.message);\n  }\n}","preventionTips":["Only accept assets declaring minVersion <= 2.0","Check asset requirements during asset ingestion pipeline","Keep Babylon.js updated for newer spec support"],"tags":["gltf","versioning","compatibility"],"backgroundTag":"gltf-unsupported-version","analyzedSha":"0592b347b8a4ee0236089ea86a749cacfdb266d8","analyzedAt":"2026-08-30T15:11:20.442Z","schemaVersion":2},"datasetVersion":"2026-08-30T18:17:15.746Z"}