├── .gitattributes ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── codecov.yml ├── renovate.json └── workflows │ ├── renovate-validation.yml │ └── renovate.yml ├── .gitignore ├── CHANGELOG.md ├── CHANGELOG.md.meta ├── CODE_OF_CONDUCT.md ├── CODE_OF_CONDUCT.md.meta ├── CONTRIBUTING.md ├── CONTRIBUTING.md.meta ├── DocExamples.meta ├── DocExamples ├── CustomGltfImport.cs ├── CustomGltfImport.cs.meta ├── ExportSamples.cs ├── ExportSamples.cs.meta ├── ExtraData.cs ├── ExtraData.cs.meta ├── LoadGltfFromMemory.cs ├── LoadGltfFromMemory.cs.meta ├── MultipleInstances.cs ├── MultipleInstances.cs.meta ├── SimpleExport.cs ├── SimpleExport.cs.meta ├── glTFast.Documentation.Examples.asmdef └── glTFast.Documentation.Examples.asmdef.meta ├── Documentation~ ├── ExportEditor.md ├── ExportRuntime.md ├── Images │ ├── Unity-glTF-workflows.png │ ├── gltf-extra-data.PNG │ ├── gltfasset_component.png │ ├── gltfast3to4.png │ ├── import.gif │ └── unity-gltf-logos.png ├── ImplementationDetails.md ├── ImportEditor.md ├── ImportRuntime.md ├── KnownIssues.md ├── LightUnits.md ├── Original.md ├── ProjectSetup.md ├── TableOfContents.md ├── UpgradeGuides.md ├── UseCaseCustomExtras.md ├── apple-privacy-manifest.md ├── code-of-conduct.md ├── config.json ├── contributing.md ├── development.md ├── features.md ├── filter.yml ├── index.md ├── installation.md ├── sources.md ├── test-open-file.md ├── test-project-setup.md └── tests.md ├── Editor.meta ├── Editor ├── Scripts.meta ├── Scripts │ ├── AssemblyInfo.cs │ ├── AssemblyInfo.cs.meta │ ├── AsyncHelpers.cs │ ├── AsyncHelpers.cs.meta │ ├── BuiltInShaderGUI.cs │ ├── BuiltInShaderGUI.cs.meta │ ├── Constants.cs │ ├── Constants.cs.meta │ ├── EditorDownloadProvider.cs │ ├── EditorDownloadProvider.cs.meta │ ├── EditorImportSettings.cs │ ├── EditorImportSettings.cs.meta │ ├── GltfAssetDependency.cs │ ├── GltfAssetDependency.cs.meta │ ├── GltfAssetEditor.cs │ ├── GltfAssetEditor.cs.meta │ ├── GltfImporter.cs │ ├── GltfImporter.cs.meta │ ├── GltfImporterEditor.cs │ ├── GltfImporterEditor.cs.meta │ ├── ImportSettingsEditor.cs │ ├── ImportSettingsEditor.cs.meta │ ├── InstantiationSettingsEditor.cs │ ├── InstantiationSettingsEditor.cs.meta │ ├── MaterialsVariantsComponentInspector.cs │ ├── MaterialsVariantsComponentInspector.cs.meta │ ├── MenuEntries.cs │ ├── MenuEntries.cs.meta │ ├── OnScriptsReloadHandler.cs │ ├── OnScriptsReloadHandler.cs.meta │ ├── PackageSetupCheck.cs │ ├── PackageSetupCheck.cs.meta │ ├── ShaderGUIBase.cs │ ├── ShaderGUIBase.cs.meta │ ├── ShaderGraphGUI.cs │ ├── ShaderGraphGUI.cs.meta │ ├── Utils.cs │ ├── Utils.cs.meta │ ├── glTFast.Editor.asmdef │ └── glTFast.Editor.asmdef.meta ├── UI.meta └── UI │ ├── Dependency-style.uss │ ├── Dependency-style.uss.meta │ ├── Dependency.uxml │ ├── Dependency.uxml.meta │ ├── GltfImporter-style.uss │ ├── GltfImporter-style.uss.meta │ ├── GltfImporter.uxml │ ├── GltfImporter.uxml.meta │ ├── MaterialsVariantsComponentInspector.uxml │ ├── MaterialsVariantsComponentInspector.uxml.meta │ ├── ReportItem-style.uss │ ├── ReportItem-style.uss.meta │ ├── ReportItem.uxml │ ├── ReportItem.uxml.meta │ ├── gltf-icon-bug.png │ ├── gltf-icon-bug.png.meta │ ├── gltf-logo.png │ └── gltf-logo.png.meta ├── LICENSE.md ├── LICENSE.md.meta ├── Plugins.meta ├── Plugins ├── UnityCloudGltfast.xcprivacy └── UnityCloudGltfast.xcprivacy.meta ├── README.md ├── README.md.meta ├── Runtime.meta ├── Runtime ├── Prefabs.meta ├── Prefabs │ ├── glTF-FastestLoading.prefab │ ├── glTF-FastestLoading.prefab.meta │ ├── glTF-StableFramerate.prefab │ └── glTF-StableFramerate.prefab.meta ├── Scripts.meta ├── Scripts │ ├── AccessorUsage.cs │ ├── AccessorUsage.cs.meta │ ├── Animation.meta │ ├── Animation │ │ ├── AnimationLoopPlayable.cs │ │ ├── AnimationLoopPlayable.cs.meta │ │ ├── AnimationPlayableComponent.cs │ │ ├── AnimationPlayableComponent.cs.meta │ │ ├── AssemblyInfo.cs │ │ ├── AssemblyInfo.cs.meta │ │ ├── glTFast.Animation.asmdef │ │ └── glTFast.Animation.asmdef.meta │ ├── AnimationMethod.cs │ ├── AnimationMethod.cs.meta │ ├── AnimationUtils.cs │ ├── AnimationUtils.cs.meta │ ├── AssemblyInfo.cs │ ├── AssemblyInfo.cs.meta │ ├── ComponentType.cs │ ├── ComponentType.cs.meta │ ├── DOTS.meta │ ├── DOTS │ │ ├── EntityInstantiator.cs │ │ ├── EntityInstantiator.cs.meta │ │ ├── GltfEntityAsset.cs │ │ ├── GltfEntityAsset.cs.meta │ │ ├── glTFast.dots.asmdef │ │ └── glTFast.dots.asmdef.meta │ ├── DefaultDeferAgent.cs │ ├── DefaultDeferAgent.cs.meta │ ├── DontDestroyOnLoad.cs │ ├── DontDestroyOnLoad.cs.meta │ ├── DracoMeshGenerator.cs │ ├── DracoMeshGenerator.cs.meta │ ├── Export.meta │ ├── Export │ │ ├── AssemblyInfo.cs │ │ ├── AssemblyInfo.cs.meta │ │ ├── Constants.cs │ │ ├── Constants.cs.meta │ │ ├── DracoExportSettings.cs │ │ ├── DracoExportSettings.cs.meta │ │ ├── ExportJobs.cs │ │ ├── ExportJobs.cs.meta │ │ ├── ExportSettings.cs │ │ ├── ExportSettings.cs.meta │ │ ├── GameObjectExport.cs │ │ ├── GameObjectExport.cs.meta │ │ ├── GameObjectExportSettings.cs │ │ ├── GameObjectExportSettings.cs.meta │ │ ├── GltfBuiltInShaderMaterialExporter.cs │ │ ├── GltfBuiltInShaderMaterialExporter.cs.meta │ │ ├── GltfHdrpMaterialExporter.cs │ │ ├── GltfHdrpMaterialExporter.cs.meta │ │ ├── GltfMaterialExporter.cs │ │ ├── GltfMaterialExporter.cs.meta │ │ ├── GltfShaderGraphMaterialExporter.cs │ │ ├── GltfShaderGraphMaterialExporter.cs.meta │ │ ├── GltfUnlitMaterialExporter.cs │ │ ├── GltfUnlitMaterialExporter.cs.meta │ │ ├── GltfWriter.cs │ │ ├── GltfWriter.cs.meta │ │ ├── HDAdditionalLightDataExtensions.cs │ │ ├── HDAdditionalLightDataExtensions.cs.meta │ │ ├── HighDefinitionMaterialExport.cs │ │ ├── HighDefinitionMaterialExport.cs.meta │ │ ├── IGltfWritable.cs │ │ ├── IGltfWritable.cs.meta │ │ ├── IMaterialExport.cs │ │ ├── IMaterialExport.cs.meta │ │ ├── IMeshData.cs │ │ ├── IMeshData.cs.meta │ │ ├── ImageExport.cs │ │ ├── ImageExport.cs.meta │ │ ├── ImageExportBase.cs │ │ ├── ImageExportBase.cs.meta │ │ ├── ImageFormat.cs │ │ ├── ImageFormat.cs.meta │ │ ├── KhrLightsPunctual.cs │ │ ├── KhrLightsPunctual.cs.meta │ │ ├── ManagedNativeArray.cs │ │ ├── ManagedNativeArray.cs.meta │ │ ├── MaskMapImageExport.cs │ │ ├── MaskMapImageExport.cs.meta │ │ ├── MaterialExport.cs │ │ ├── MaterialExport.cs.meta │ │ ├── MaterialExportBase.cs │ │ ├── MaterialExportBase.cs.meta │ │ ├── MeshDataProxy.cs │ │ ├── MeshDataProxy.cs.meta │ │ ├── MeshMaterialCombination.cs │ │ ├── MeshMaterialCombination.cs.meta │ │ ├── MetaMaterialExport.cs │ │ ├── MetaMaterialExport.cs.meta │ │ ├── MetaMaterialExportBuiltIn.cs │ │ ├── MetaMaterialExportBuiltIn.cs.meta │ │ ├── NonReadableMeshData.cs │ │ ├── NonReadableMeshData.cs.meta │ │ ├── NormalImageExport.cs │ │ ├── NormalImageExport.cs.meta │ │ ├── OrmImageExport.cs │ │ ├── OrmImageExport.cs.meta │ │ ├── StandardMaterialExport.cs │ │ ├── StandardMaterialExport.cs.meta │ │ ├── StreamExtension.cs │ │ ├── StreamExtension.cs.meta │ │ ├── TextureComparer.cs │ │ ├── TextureComparer.cs.meta │ │ ├── VertexAttributeUsage.cs │ │ ├── VertexAttributeUsage.cs.meta │ │ ├── glTFast.Export.asmdef │ │ └── glTFast.Export.asmdef.meta │ ├── Extensions.cs │ ├── Extensions.cs.meta │ ├── FlatArray.cs │ ├── FlatArray.cs.meta │ ├── GameObjectBoundsInstantiator.cs │ ├── GameObjectBoundsInstantiator.cs.meta │ ├── GameObjectInstantiator.cs │ ├── GameObjectInstantiator.cs.meta │ ├── GameObjectSceneInstance.cs │ ├── GameObjectSceneInstance.cs.meta │ ├── GlbBinChunk.cs │ ├── GlbBinChunk.cs.meta │ ├── GltfAsset.cs │ ├── GltfAsset.cs.meta │ ├── GltfAssetBase.cs │ ├── GltfAssetBase.cs.meta │ ├── GltfBoundsAsset.cs │ ├── GltfBoundsAsset.cs.meta │ ├── GltfGlobals.cs │ ├── GltfGlobals.cs.meta │ ├── GltfImport.cs │ ├── GltfImport.cs.meta │ ├── GltfJsonUtilityParser.cs │ ├── GltfJsonUtilityParser.cs.meta │ ├── IDeferAgent.cs │ ├── IDeferAgent.cs.meta │ ├── IGltfBuffers.cs │ ├── IGltfBuffers.cs.meta │ ├── IGltfReadable.cs │ ├── IGltfReadable.cs.meta │ ├── IInstantiator.cs │ ├── IInstantiator.cs.meta │ ├── IMaterialProvider.cs │ ├── IMaterialProvider.cs.meta │ ├── IMaterialsVariantsProvider.cs │ ├── IMaterialsVariantsProvider.cs.meta │ ├── ImageCreateContext.cs │ ├── ImageCreateContext.cs.meta │ ├── ImportAddons.meta │ ├── ImportAddons │ │ ├── ImportAddon.cs │ │ ├── ImportAddon.cs.meta │ │ ├── ImportAddonInstance.cs │ │ ├── ImportAddonInstance.cs.meta │ │ ├── ImportAddonRegistry.cs │ │ ├── ImportAddonRegistry.cs.meta │ │ ├── glTFast.ImportAddons.asmref │ │ └── glTFast.ImportAddons.asmref.meta │ ├── ImportSettings.cs │ ├── ImportSettings.cs.meta │ ├── InstantiationSettings.cs │ ├── InstantiationSettings.cs.meta │ ├── Jobs.cs │ ├── Jobs.cs.meta │ ├── KtxLoadContext.cs │ ├── KtxLoadContext.cs.meta │ ├── KtxLoadContextBase.cs │ ├── KtxLoadContextBase.cs.meta │ ├── KtxLoadNativeContext.cs │ ├── KtxLoadNativeContext.cs.meta │ ├── LightPunctualExtension.cs │ ├── LightPunctualExtension.cs.meta │ ├── Loading.meta │ ├── Loading │ │ ├── CustomHeaderDownloadProvider.cs │ │ ├── CustomHeaderDownloadProvider.cs.meta │ │ ├── DefaultDownloadProvider.cs │ │ ├── DefaultDownloadProvider.cs.meta │ │ ├── IDownload.cs │ │ ├── IDownload.cs.meta │ │ ├── IDownloadProvider.cs │ │ ├── IDownloadProvider.cs.meta │ │ ├── INativeDownload.cs │ │ ├── INativeDownload.cs.meta │ │ ├── ITextureDownload.cs │ │ ├── ITextureDownload.cs.meta │ │ ├── glTFast.Loading.asmref │ │ └── glTFast.Loading.asmref.meta │ ├── Logging.meta │ ├── Logging │ │ ├── CollectingLogger.cs │ │ ├── CollectingLogger.cs.meta │ │ ├── ConsoleLogger.cs │ │ ├── ConsoleLogger.cs.meta │ │ ├── ICodeLogger.cs │ │ ├── ICodeLogger.cs.meta │ │ ├── LogMessages.cs │ │ ├── LogMessages.cs.meta │ │ ├── glTFast.Logging.asmref │ │ └── glTFast.Logging.asmref.meta │ ├── MainBufferType.cs │ ├── MainBufferType.cs.meta │ ├── ManagedNativeArray.cs │ ├── ManagedNativeArray.cs.meta │ ├── Material.meta │ ├── Material │ │ ├── BuiltInMaterialGenerator.cs │ │ ├── BuiltInMaterialGenerator.cs.meta │ │ ├── BuiltInShaderGraphMaterialGenerator.cs │ │ ├── BuiltInShaderGraphMaterialGenerator.cs.meta │ │ ├── Constants.cs │ │ ├── Constants.cs.meta │ │ ├── HighDefinitionRPMaterialGenerator.cs │ │ ├── HighDefinitionRPMaterialGenerator.cs.meta │ │ ├── IMaterialGenerator.cs │ │ ├── IMaterialGenerator.cs.meta │ │ ├── MaterialGenerator.cs │ │ ├── MaterialGenerator.cs.meta │ │ ├── MaterialProperty.cs │ │ ├── MaterialProperty.cs.meta │ │ ├── ShaderGraphMaterialGenerator.cs │ │ ├── ShaderGraphMaterialGenerator.cs.meta │ │ ├── StandardShaderMode.cs │ │ ├── StandardShaderMode.cs.meta │ │ ├── UniveralRPMaterialGenerator.cs │ │ ├── UniveralRPMaterialGenerator.cs.meta │ │ ├── glTFast.Material.asmref │ │ └── glTFast.Material.asmref.meta │ ├── MaterialsVariants.meta │ ├── MaterialsVariants │ │ ├── IMaterialsVariantsSlot.cs │ │ ├── IMaterialsVariantsSlot.cs.meta │ │ ├── IMaterialsVariantsSlotInstance.cs │ │ ├── IMaterialsVariantsSlotInstance.cs.meta │ │ ├── MaterialsVariantsComponent.cs │ │ ├── MaterialsVariantsComponent.cs.meta │ │ ├── MaterialsVariantsControl.cs │ │ ├── MaterialsVariantsControl.cs.meta │ │ ├── MaterialsVariantsSlotInstances.cs │ │ ├── MaterialsVariantsSlotInstances.cs.meta │ │ ├── MultiMaterialsVariantsSlotInstances.cs │ │ └── MultiMaterialsVariantsSlotInstances.cs.meta │ ├── Mathematics.cs │ ├── Mathematics.cs.meta │ ├── MeshAssignment.cs │ ├── MeshAssignment.cs.meta │ ├── MeshComparer.cs │ ├── MeshComparer.cs.meta │ ├── MeshGenerator.cs │ ├── MeshGenerator.cs.meta │ ├── MeshGeneratorBase.cs │ ├── MeshGeneratorBase.cs.meta │ ├── MeshOrder.cs │ ├── MeshOrder.cs.meta │ ├── MeshResult.cs │ ├── MeshResult.cs.meta │ ├── MeshSubset.cs │ ├── MeshSubset.cs.meta │ ├── MorphTargetsGenerator.cs │ ├── MorphTargetsGenerator.cs.meta │ ├── NameImportMethod.cs │ ├── NameImportMethod.cs.meta │ ├── NativeArrayExtensions.cs │ ├── NativeArrayExtensions.cs.meta │ ├── Newtonsoft.meta │ ├── Newtonsoft │ │ ├── GltfImport.cs │ │ ├── GltfImport.cs.meta │ │ ├── Schema.meta │ │ ├── Schema │ │ │ ├── Accessor.cs │ │ │ ├── Accessor.cs.meta │ │ │ ├── AccessorSparse.cs │ │ │ ├── AccessorSparse.cs.meta │ │ │ ├── AccessorSparseIndices.cs │ │ │ ├── AccessorSparseIndices.cs.meta │ │ │ ├── AccessorSparseValues.cs │ │ │ ├── AccessorSparseValues.cs.meta │ │ │ ├── AnimationChannel.cs │ │ │ ├── AnimationChannel.cs.meta │ │ │ ├── AnimationChannelTarget.cs │ │ │ ├── AnimationChannelTarget.cs.meta │ │ │ ├── AnimationSampler.cs │ │ │ ├── AnimationSampler.cs.meta │ │ │ ├── Asset.cs │ │ │ ├── Asset.cs.meta │ │ │ ├── Buffer.cs │ │ │ ├── Buffer.cs.meta │ │ │ ├── BufferView.cs │ │ │ ├── BufferView.cs.meta │ │ │ ├── BufferViewExtensions.cs │ │ │ ├── BufferViewExtensions.cs.meta │ │ │ ├── CameraOrthographic.cs │ │ │ ├── CameraOrthographic.cs.meta │ │ │ ├── CameraPerspective.cs │ │ │ ├── CameraPerspective.cs.meta │ │ │ ├── GltfAnimation.cs │ │ │ ├── GltfAnimation.cs.meta │ │ │ ├── GltfCamera.cs │ │ │ ├── GltfCamera.cs.meta │ │ │ ├── IJsonObject.cs │ │ │ ├── IJsonObject.cs.meta │ │ │ ├── Image.cs │ │ │ ├── Image.cs.meta │ │ │ ├── Material.cs │ │ │ ├── Material.cs.meta │ │ │ ├── MaterialExtensions.cs │ │ │ ├── MaterialExtensions.cs.meta │ │ │ ├── Mesh.cs │ │ │ ├── Mesh.cs.meta │ │ │ ├── MeshExtras.cs │ │ │ ├── MeshExtras.cs.meta │ │ │ ├── MeshPrimitive.cs │ │ │ ├── MeshPrimitive.cs.meta │ │ │ ├── MeshPrimitiveExtensions.cs │ │ │ ├── MeshPrimitiveExtensions.cs.meta │ │ │ ├── Node.cs │ │ │ ├── Node.cs.meta │ │ │ ├── NodeExtensions.cs │ │ │ ├── NodeExtensions.cs.meta │ │ │ ├── NormalTextureInfo.cs │ │ │ ├── NormalTextureInfo.cs.meta │ │ │ ├── OcclusionTextureInfo.cs │ │ │ ├── OcclusionTextureInfo.cs.meta │ │ │ ├── PbrMetallicRoughness.cs │ │ │ ├── PbrMetallicRoughness.cs.meta │ │ │ ├── Root.cs │ │ │ ├── Root.cs.meta │ │ │ ├── RootExtensions.cs │ │ │ ├── RootExtensions.cs.meta │ │ │ ├── Sampler.cs │ │ │ ├── Sampler.cs.meta │ │ │ ├── Scene.cs │ │ │ ├── Scene.cs.meta │ │ │ ├── Skin.cs │ │ │ ├── Skin.cs.meta │ │ │ ├── Texture.cs │ │ │ ├── Texture.cs.meta │ │ │ ├── TextureExtensions.cs │ │ │ ├── TextureExtensions.cs.meta │ │ │ ├── TextureInfo.cs │ │ │ ├── TextureInfo.cs.meta │ │ │ ├── TextureInfoExtensions.cs │ │ │ ├── TextureInfoExtensions.cs.meta │ │ │ ├── UnclassifiedData.cs │ │ │ ├── UnclassifiedData.cs.meta │ │ │ ├── glTFast.Newtonsoft.Schema.asmref │ │ │ └── glTFast.Newtonsoft.Schema.asmref.meta │ │ ├── glTFast.Newtonsoft.asmdef │ │ └── glTFast.Newtonsoft.asmdef.meta │ ├── NodeExtension.cs │ ├── NodeExtension.cs.meta │ ├── PrimitiveComparer.cs │ ├── PrimitiveComparer.cs.meta │ ├── PrimitiveSet.cs │ ├── PrimitiveSet.cs.meta │ ├── PrimitivesComparer.cs │ ├── PrimitivesComparer.cs.meta │ ├── RenderPipelineUtils.cs │ ├── RenderPipelineUtils.cs.meta │ ├── RootExtension.cs │ ├── RootExtension.cs.meta │ ├── SamplerKey.cs │ ├── SamplerKey.cs.meta │ ├── SceneObjectCreation.cs │ ├── SceneObjectCreation.cs.meta │ ├── Schema.meta │ ├── Schema │ │ ├── Accessor.cs │ │ ├── Accessor.cs.meta │ │ ├── AccessorSparse.cs │ │ ├── AccessorSparse.cs.meta │ │ ├── AccessorSparseIndices.cs │ │ ├── AccessorSparseIndices.cs.meta │ │ ├── AccessorSparseValues.cs │ │ ├── AccessorSparseValues.cs.meta │ │ ├── AnimationChannel.cs │ │ ├── AnimationChannel.cs.meta │ │ ├── AnimationChannelTarget.cs │ │ ├── AnimationChannelTarget.cs.meta │ │ ├── AnimationSampler.cs │ │ ├── AnimationSampler.cs.meta │ │ ├── Asset.cs │ │ ├── Asset.cs.meta │ │ ├── Buffer.cs │ │ ├── Buffer.cs.meta │ │ ├── BufferView.cs │ │ ├── BufferView.cs.meta │ │ ├── BufferViewExtensions.cs │ │ ├── BufferViewExtensions.cs.meta │ │ ├── BufferViewMeshoptExtension.cs │ │ ├── BufferViewMeshoptExtension.cs.meta │ │ ├── Constants.cs │ │ ├── Constants.cs.meta │ │ ├── FakeSchema.meta │ │ ├── FakeSchema │ │ │ ├── Accessor.cs │ │ │ ├── Accessor.cs.meta │ │ │ ├── AccessorSparse.cs │ │ │ ├── AccessorSparse.cs.meta │ │ │ ├── Material.cs │ │ │ ├── Material.cs.meta │ │ │ ├── MaterialExtension.cs │ │ │ ├── MaterialExtension.cs.meta │ │ │ ├── Mesh.cs │ │ │ ├── Mesh.cs.meta │ │ │ ├── MeshPrimitive.cs │ │ │ ├── MeshPrimitive.cs.meta │ │ │ ├── NamedObject.cs │ │ │ ├── NamedObject.cs.meta │ │ │ ├── Root.cs │ │ │ ├── Root.cs.meta │ │ │ ├── glTFast.FakeSchema.asmref │ │ │ └── glTFast.FakeSchema.asmref.meta │ │ ├── GltfAccessorAttributeType.cs │ │ ├── GltfAccessorAttributeType.cs.meta │ │ ├── GltfAnimation.cs │ │ ├── GltfAnimation.cs.meta │ │ ├── GltfCamera.cs │ │ ├── GltfCamera.cs.meta │ │ ├── GltfComponentType.cs │ │ ├── GltfComponentType.cs.meta │ │ ├── IBufferView.cs │ │ ├── IBufferView.cs.meta │ │ ├── Image.cs │ │ ├── Image.cs.meta │ │ ├── InterpolationType.cs │ │ ├── InterpolationType.cs.meta │ │ ├── JsonWriter.cs │ │ ├── JsonWriter.cs.meta │ │ ├── LightPunctual.cs │ │ ├── LightPunctual.cs.meta │ │ ├── LightsPunctual.cs │ │ ├── LightsPunctual.cs.meta │ │ ├── Material.cs │ │ ├── Material.cs.meta │ │ ├── MaterialClearCoat.cs │ │ ├── MaterialClearCoat.cs.meta │ │ ├── MaterialExtensions.cs │ │ ├── MaterialExtensions.cs.meta │ │ ├── MaterialIor.cs │ │ ├── MaterialIor.cs.meta │ │ ├── MaterialPbrMetallicRoughness.cs │ │ ├── MaterialPbrMetallicRoughness.cs.meta │ │ ├── MaterialSheen.cs │ │ ├── MaterialSheen.cs.meta │ │ ├── MaterialSpecular.cs │ │ ├── MaterialSpecular.cs.meta │ │ ├── MaterialTransmission.cs │ │ ├── MaterialTransmission.cs.meta │ │ ├── MaterialUnlit.cs │ │ ├── MaterialUnlit.cs.meta │ │ ├── MaterialsVariantsExtension.cs │ │ ├── MaterialsVariantsExtension.cs.meta │ │ ├── Mesh.cs │ │ ├── Mesh.cs.meta │ │ ├── MeshGpuInstancing.cs │ │ ├── MeshGpuInstancing.cs.meta │ │ ├── MeshPrimitive.cs │ │ ├── MeshPrimitive.cs.meta │ │ ├── NamedObject.cs │ │ ├── NamedObject.cs.meta │ │ ├── Node.cs │ │ ├── Node.cs.meta │ │ ├── NodeLightsPunctual.cs │ │ ├── NodeLightsPunctual.cs.meta │ │ ├── NormalTextureInfo.cs │ │ ├── NormalTextureInfo.cs.meta │ │ ├── OcclusionTextureInfo.cs │ │ ├── OcclusionTextureInfo.cs.meta │ │ ├── PbrSpecularGlossiness.cs │ │ ├── PbrSpecularGlossiness.cs.meta │ │ ├── Root.cs │ │ ├── Root.cs.meta │ │ ├── RootExtensions.cs │ │ ├── RootExtensions.cs.meta │ │ ├── Sampler.cs │ │ ├── Sampler.cs.meta │ │ ├── Scene.cs │ │ ├── Scene.cs.meta │ │ ├── Skin.cs │ │ ├── Skin.cs.meta │ │ ├── SpotLight.cs │ │ ├── SpotLight.cs.meta │ │ ├── Texture.cs │ │ ├── Texture.cs.meta │ │ ├── TextureExtensions.cs │ │ ├── TextureExtensions.cs.meta │ │ ├── TextureInfo.cs │ │ ├── TextureInfo.cs.meta │ │ ├── TextureInfoExtensions.cs │ │ ├── TextureInfoExtensions.cs.meta │ │ ├── TextureTransform.cs │ │ ├── TextureTransform.cs.meta │ │ ├── glTFast.Schema.asmref │ │ └── glTFast.Schema.asmref.meta │ ├── StreamExtension.cs │ ├── StreamExtension.cs.meta │ ├── SubMeshAssignment.cs │ ├── SubMeshAssignment.cs.meta │ ├── TextureDownload.cs │ ├── TextureDownload.cs.meta │ ├── TimeBudgetPerFrameDeferAgent.cs │ ├── TimeBudgetPerFrameDeferAgent.cs.meta │ ├── UninterruptedDefaultDeferAgent.cs │ ├── UninterruptedDefaultDeferAgent.cs.meta │ ├── UninterruptedDeferAgent.cs │ ├── UninterruptedDeferAgent.cs.meta │ ├── UriHelper.cs │ ├── UriHelper.cs.meta │ ├── UvTransform.cs │ ├── UvTransform.cs.meta │ ├── VertexBufferBones.cs │ ├── VertexBufferBones.cs.meta │ ├── VertexBufferColors.cs │ ├── VertexBufferColors.cs.meta │ ├── VertexBufferDescriptor.cs │ ├── VertexBufferDescriptor.cs.meta │ ├── VertexBufferGenerator.cs │ ├── VertexBufferGenerator.cs.meta │ ├── VertexBufferGeneratorBase.cs │ ├── VertexBufferGeneratorBase.cs.meta │ ├── VertexBufferTexCoords.cs │ ├── VertexBufferTexCoords.cs.meta │ ├── VertexStructs.cs │ ├── VertexStructs.cs.meta │ ├── glTFast.asmdef │ └── glTFast.asmdef.meta ├── Shader.meta └── Shader │ ├── Built-In.meta │ ├── Built-In │ ├── glTFIncludes.meta │ ├── glTFIncludes │ │ ├── glTF.cginc │ │ ├── glTF.cginc.meta │ │ ├── glTFUnityStandardCore.cginc │ │ ├── glTFUnityStandardCore.cginc.meta │ │ ├── glTFUnityStandardCoreForward.cginc │ │ ├── glTFUnityStandardCoreForward.cginc.meta │ │ ├── glTFUnityStandardCoreForwardSimple.cginc │ │ ├── glTFUnityStandardCoreForwardSimple.cginc.meta │ │ ├── glTFUnityStandardInput.cginc │ │ ├── glTFUnityStandardInput.cginc.meta │ │ ├── glTFUnityStandardMeta.cginc │ │ └── glTFUnityStandardMeta.cginc.meta │ ├── glTFPbrMetallicRoughness.shader │ ├── glTFPbrMetallicRoughness.shader.meta │ ├── glTFPbrSpecularGlossiness.shader │ ├── glTFPbrSpecularGlossiness.shader.meta │ ├── glTFUnlit.shader │ └── glTFUnlit.shader.meta │ ├── Export.meta │ ├── Export │ ├── glTFExport.shadervariants │ ├── glTFExport.shadervariants.meta │ ├── glTFExportColor.shader │ ├── glTFExportColor.shader.meta │ ├── glTFExportMaskMap.shader │ ├── glTFExportMaskMap.shader.meta │ ├── glTFExportMetalGloss.shader │ ├── glTFExportMetalGloss.shader.meta │ ├── glTFExportNormal.shader │ ├── glTFExportNormal.shader.meta │ ├── glTFExportOcclusion.shader │ ├── glTFExportOcclusion.shader.meta │ ├── glTFExportSmoothness.shader │ └── glTFExportSmoothness.shader.meta │ ├── HDRP.meta │ ├── HDRP │ ├── glTF-pbrMetallicRoughnessStackLit.shadergraph │ └── glTF-pbrMetallicRoughnessStackLit.shadergraph.meta │ ├── Includes.meta │ ├── Includes │ ├── Emission.cginc │ └── Emission.cginc.meta │ ├── Legacy.meta │ ├── Legacy │ ├── README.txt │ ├── README.txt.meta │ ├── SubGraphs.meta │ ├── SubGraphs │ │ ├── EmissionLegacy.shadersubgraph │ │ ├── EmissionLegacy.shadersubgraph.meta │ │ ├── PBR_metallic_roughness_Legacy.shadersubgraph │ │ ├── PBR_metallic_roughness_Legacy.shadersubgraph.meta │ │ ├── PBR_specular_glossiness_Legacy.shadersubgraph │ │ └── PBR_specular_glossiness_Legacy.shadersubgraph.meta │ ├── glTF-pbrMetallicRoughness-Blend-double.shadergraph │ ├── glTF-pbrMetallicRoughness-Blend-double.shadergraph.meta │ ├── glTF-pbrMetallicRoughness-Blend.shadergraph │ ├── glTF-pbrMetallicRoughness-Blend.shadergraph.meta │ ├── glTF-pbrMetallicRoughness-Opaque-double.shadergraph │ ├── glTF-pbrMetallicRoughness-Opaque-double.shadergraph.meta │ ├── glTF-pbrMetallicRoughness-Opaque.shadergraph │ ├── glTF-pbrMetallicRoughness-Opaque.shadergraph.meta │ ├── glTF-pbrMetallicRoughness-Premultiply-double.shadergraph │ ├── glTF-pbrMetallicRoughness-Premultiply-double.shadergraph.meta │ ├── glTF-pbrMetallicRoughness-Premultiply.shadergraph │ ├── glTF-pbrMetallicRoughness-Premultiply.shadergraph.meta │ ├── glTF-pbrSpecularGlossiness-Blend-double.shadergraph │ ├── glTF-pbrSpecularGlossiness-Blend-double.shadergraph.meta │ ├── glTF-pbrSpecularGlossiness-Blend.shadergraph │ ├── glTF-pbrSpecularGlossiness-Blend.shadergraph.meta │ ├── glTF-pbrSpecularGlossiness-Opaque-double.shadergraph │ ├── glTF-pbrSpecularGlossiness-Opaque-double.shadergraph.meta │ ├── glTF-pbrSpecularGlossiness-Opaque.shadergraph │ ├── glTF-pbrSpecularGlossiness-Opaque.shadergraph.meta │ ├── glTF-unlit-Blend-double.shadergraph │ ├── glTF-unlit-Blend-double.shadergraph.meta │ ├── glTF-unlit-Blend.shadergraph │ ├── glTF-unlit-Blend.shadergraph.meta │ ├── glTF-unlit-Opaque-double.shadergraph │ ├── glTF-unlit-Opaque-double.shadergraph.meta │ ├── glTF-unlit-Opaque.shadergraph │ └── glTF-unlit-Opaque.shadergraph.meta │ ├── SubGraphs.meta │ ├── SubGraphs │ ├── BaseColor.shadersubgraph │ ├── BaseColor.shadersubgraph.meta │ ├── Clearcoat.shadersubgraph │ ├── Clearcoat.shadersubgraph.meta │ ├── Emission.shadersubgraph │ ├── Emission.shadersubgraph.meta │ ├── MetallicRoughness.shadersubgraph │ ├── MetallicRoughness.shadersubgraph.meta │ ├── Normal.shadersubgraph │ ├── Normal.shadersubgraph.meta │ ├── Occlusion.shadersubgraph │ ├── Occlusion.shadersubgraph.meta │ ├── PBR_metallic_roughness.shadersubgraph │ ├── PBR_metallic_roughness.shadersubgraph.meta │ ├── PBR_metallic_roughness_advanced.shadersubgraph │ ├── PBR_metallic_roughness_advanced.shadersubgraph.meta │ ├── PBR_specular_glossiness.shadersubgraph │ ├── PBR_specular_glossiness.shadersubgraph.meta │ ├── ScreenGrab.shadersubgraph │ ├── ScreenGrab.shadersubgraph.meta │ ├── SpecularGlossiness.shadersubgraph │ ├── SpecularGlossiness.shadersubgraph.meta │ ├── TextureTransform.shadersubgraph │ ├── TextureTransform.shadersubgraph.meta │ ├── Unlit.shadersubgraph │ └── Unlit.shadersubgraph.meta │ ├── URP.meta │ ├── URP │ ├── glTF-pbrMetallicRoughness-Clearcoat.shadergraph │ └── glTF-pbrMetallicRoughness-Clearcoat.shadergraph.meta │ ├── glTF-pbrMetallicRoughness.shadergraph │ ├── glTF-pbrMetallicRoughness.shadergraph.meta │ ├── glTF-pbrSpecularGlossiness.shadergraph │ ├── glTF-pbrSpecularGlossiness.shadergraph.meta │ ├── glTF-unlit.shadergraph │ └── glTF-unlit.shadergraph.meta ├── package.json └── package.json.meta /.gitattributes: -------------------------------------------------------------------------------- 1 | # Specify filepatterns you want to assign special attributes. 2 | *.png filter=lfs diff=lfs merge=lfs -text 3 | *.glb filter=lfs diff=lfs merge=lfs -text 4 | *.bin filter=lfs diff=lfs merge=lfs -text 5 | *.gif filter=lfs diff=lfs merge=lfs -text 6 | *.jpg filter=lfs diff=lfs merge=lfs -text 7 | *.ktx2 filter=lfs diff=lfs merge=lfs -text 8 | *.ktx filter=lfs diff=lfs merge=lfs -text 9 | *.bytes filter=lfs diff=lfs merge=lfs -text 10 | *.webp filter=lfs diff=lfs merge=lfs -text 11 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # [atteneder] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: tteneder 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/codecov.yml: -------------------------------------------------------------------------------- 1 | codecov: 2 | require_ci_to_pass: false 3 | notify: 4 | wait_for_ci: true 5 | 6 | coverage: 7 | precision: 2 8 | round: down 9 | range: "50...70" 10 | status: 11 | patch: true 12 | default_rules: 13 | flag_coverage_not_uploaded_behavior: exclude 14 | project: 15 | default: 16 | target: auto 17 | # Threshold used for the PR Check 18 | threshold: 0.5% 19 | base: auto 20 | if_ci_failed: success 21 | informational: false 22 | only_pulls: true 23 | 24 | # PR Comment configuration 25 | comment: 26 | layout: "reach,diff,flags,files" 27 | behavior: default 28 | require_changes: false 29 | require_base: false 30 | require_head: false 31 | # Set this to the number of coverage jobs run in the PR 32 | after_n_builds: 5 33 | 34 | flag_management: 35 | default_rules: 36 | carryforward: true -------------------------------------------------------------------------------- /.github/renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": [ 4 | "local>unity/renovate-config" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | [Ll]ibrary/ 2 | [Tt]emp/ 3 | [Oo]bj/ 4 | [Bb]uild/ 5 | [Bb]uilds/ 6 | Assets/AssetStoreTools* 7 | 8 | .DS_Store 9 | 10 | # Visual Studio cache directory 11 | /.vs/ 12 | /.vscode/ 13 | 14 | # Autogenerated VS/MD/Consulo solution and project files 15 | ExportedObj/ 16 | .consulo/ 17 | *.csproj 18 | *.unityproj 19 | *.sln 20 | *.suo 21 | *.tmp 22 | *.user 23 | *.userprefs 24 | *.pidb 25 | *.booproj 26 | *.svd 27 | *.pdb 28 | 29 | # Unity3D generated meta files 30 | *.pidb.meta 31 | *.pdb.meta 32 | 33 | # Unity3D Generated File On Crash Reports 34 | sysinfo.txt 35 | 36 | # Builds 37 | *.apk 38 | *.unitypackage 39 | 40 | # Rider 41 | **/.idea 42 | -------------------------------------------------------------------------------- /CHANGELOG.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1907d48165c914f65909bac3ebdeb857 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | See [Contributor Covenant Code of Conduct](Documentation~/code-of-conduct.md). 4 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 315b3ac82fac241e09252eb593f4ddb7 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | See [Contributing](Documentation~/contributing.md). 4 | -------------------------------------------------------------------------------- /CONTRIBUTING.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 465ae02a69d65445fb2f3bd88e85e756 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /DocExamples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 80a9660688f788a4b90e36414fcb5fb6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /DocExamples/CustomGltfImport.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ed7eb2828185cf54896d0bc4e34c7d24 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /DocExamples/ExportSamples.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3bc95897a165b435a9df9b8dabd3f67b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /DocExamples/ExtraData.cs: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors 2 | // SPDX-License-Identifier: Apache-2.0 3 | 4 | namespace GLTFast.Documentation.Examples 5 | { 6 | 7 | #region ExtraData 8 | using UnityEngine; 9 | 10 | class ExtraData : MonoBehaviour 11 | { 12 | public string someExtraKey; 13 | } 14 | 15 | #endregion 16 | } 17 | -------------------------------------------------------------------------------- /DocExamples/ExtraData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c228dd24f481eca4d8b951a9b54398b1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /DocExamples/LoadGltfFromMemory.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cbdeab6fe2fc54058a70f9be966cd732 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /DocExamples/MultipleInstances.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5eb4588209c214a4e8be0ac7a9f33729 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /DocExamples/SimpleExport.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0515018949e5443cfa8e0ac0ea8b3f6d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /DocExamples/glTFast.Documentation.Examples.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "glTFast.Documentation.Examples", 3 | "rootNamespace": "GLTFast.Documentation.Examples", 4 | "references": [ 5 | "Unity.Mathematics", 6 | "glTFast", 7 | "glTFast.Export", 8 | "glTFast.Newtonsoft" 9 | ], 10 | "includePlatforms": [], 11 | "excludePlatforms": [], 12 | "allowUnsafeCode": false, 13 | "overrideReferences": false, 14 | "precompiledReferences": [], 15 | "autoReferenced": false, 16 | "defineConstraints": [], 17 | "versionDefines": [ 18 | { 19 | "name": "com.unity.nuget.newtonsoft-json", 20 | "expression": "3", 21 | "define": "NEWTONSOFT_JSON" 22 | } 23 | ], 24 | "noEngineReferences": false 25 | } -------------------------------------------------------------------------------- /DocExamples/glTFast.Documentation.Examples.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f5c1be42eb774f4e8372825ac2e4d50 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Documentation~/Images/Unity-glTF-workflows.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:aa50e3980f8e9a99e53b8347cdde7e293fe37ffb5e1469640379d802ef304541 3 | size 59247 4 | -------------------------------------------------------------------------------- /Documentation~/Images/gltf-extra-data.PNG: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:57f7aced9ce2532edcddcf1966b739313f604854463e658916d990b58d84bbe9 3 | size 24697 4 | -------------------------------------------------------------------------------- /Documentation~/Images/gltfasset_component.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2503cbfd8f0f8db67bc4ee2798ed9900ac8a96a9735bb99b6d9564d80aeb294c 3 | size 63589 4 | -------------------------------------------------------------------------------- /Documentation~/Images/gltfast3to4.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:0fe3700fe2156a13b17efb1f74ccbad0fa04753e3e5e1b82592c724688e49741 3 | size 108480 4 | -------------------------------------------------------------------------------- /Documentation~/Images/import.gif: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:c1dce7be34949dbba21617c9f651808f34ef2d58ca4a4ae836f15835997a0c65 3 | size 1112884 4 | -------------------------------------------------------------------------------- /Documentation~/Images/unity-gltf-logos.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9846c84d84817f2c178b0ae5484332d759a9f5d2dae7faa47784df15cae49fc8 3 | size 13686 4 | -------------------------------------------------------------------------------- /Documentation~/ImplementationDetails.md: -------------------------------------------------------------------------------- 1 | # Implementation Details 2 | 3 | *Unity glTFast* uses [JsonUtility](https://docs.unity3d.com/ScriptReference/JsonUtility.html) for parsing, which has little overhead, is fast and memory-efficient (See ). 4 | 5 | It also uses fast low-level memory copy methods, the [C# Job System](https://docs.unity3d.com/Manual/JobSystem.html), [Mathematics](https://docs.unity3d.com/Packages/com.unity.mathematics@1.0/manual/index.html), the [Burst compiler](https://docs.unity3d.com/Packages/com.unity.burst@1.6/manual/index.html) and the [Advanced Mesh API](https://docs.unity3d.com/ScriptReference/Mesh.html). 6 | 7 | ## Trademarks 8 | 9 | *Unity®* is a registered trademark of [Unity Technologies][unity]. 10 | 11 | *Khronos®* is a registered trademark and *glTF™* is a trademark of [The Khronos Group Inc][khronos]. 12 | 13 | [khronos]: https://www.khronos.org 14 | [unity]: https://unity.com 15 | -------------------------------------------------------------------------------- /Documentation~/TableOfContents.md: -------------------------------------------------------------------------------- 1 | * [Unity glTFast](index.md) 2 | * [Installation](installation.md) 3 | * [Upgrade guides](UpgradeGuides.md) 4 | * [Features](features.md) 5 | * Runtime 6 | * [Import](ImportRuntime.md) 7 | * [Export](ExportRuntime.md) 8 | * Editor 9 | * [Import](ImportEditor.md) 10 | * [Export](ExportEditor.md) 11 | * [Project Setup](ProjectSetup.md) 12 | * Use Cases 13 | * [Use glTFast Add-on API to import custom data](UseCaseCustomExtras.md) 14 | * [Development](development.md) 15 | * [Sources](sources.md) 16 | * [Test Project](test-project-setup.md) 17 | * [Run Tests](tests.md) 18 | * [Contributing](contributing.md) 19 | * More Information 20 | * [Known Issues](KnownIssues.md) 21 | * [Physical Light Units in glTF](LightUnits.md) 22 | * [Implementation Details](ImplementationDetails.md) 23 | * [Code of Conduct](code-of-conduct.md) 24 | * [Apple Privacy Manifest](apple-privacy-manifest.md) 25 | -------------------------------------------------------------------------------- /Documentation~/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "DefineConstants": "DRACO_UNITY;KTX_UNITY;KTX_UNITY_1_3_OR_NEWER;KTX_UNITY_2_2_OR_NEWER;USING_URP;USING_HDRP;USING_HDRP_10_OR_NEWER;UNITY_PHYSICS;UNITY_IMAGECONVERSION;UNITY_WEBREQUEST_TEXTURE;MESHOPT;USING_URP_12_OR_NEWER;UNITY_SHADER_GRAPH;UNITY_SHADER_GRAPH_12_OR_NEWER;UNITY_ANIMATION;UNITY_ENTITIES_GRAPHICS;NEWTONSOFT_JSON;UNITY_COLLECTIONS" 3 | } -------------------------------------------------------------------------------- /Documentation~/filter.yml: -------------------------------------------------------------------------------- 1 | apiRules: 2 | - exclude: 3 | hasAttribute: 4 | uid: System.ObsoleteAttribute 5 | type: Type 6 | -------------------------------------------------------------------------------- /Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69598450d552f5f44b191743ba3fae43 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a5c3b59db843444be9a563ee216701ce 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Scripts/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors 2 | // SPDX-License-Identifier: Apache-2.0 3 | 4 | using System.Runtime.CompilerServices; 5 | 6 | [assembly: InternalsVisibleTo("glTFast.Editor.Tests")] 7 | -------------------------------------------------------------------------------- /Editor/Scripts/AssemblyInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0da5eda5fa95e4275ad1af63eda3dd54 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Scripts/AsyncHelpers.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df7900cf92aa0420bad0006e7cf0eebc 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Scripts/BuiltInShaderGUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8262fb96f3f02c3418d53dfe137bd6c2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Scripts/Constants.cs: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors 2 | // SPDX-License-Identifier: Apache-2.0 3 | 4 | using UnityEngine; 5 | 6 | namespace GLTFast.Editor 7 | { 8 | static class Constants 9 | { 10 | public const string gltfExtension = "gltf"; 11 | public const string gltfBinaryExtension = "glb"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Editor/Scripts/Constants.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19321ba41adf44e7b8819d4f4731b62c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Scripts/EditorDownloadProvider.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b8297485b6f14c10a7eb6af4a19c5fc 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Scripts/EditorImportSettings.cs: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors 2 | // SPDX-License-Identifier: Apache-2.0 3 | 4 | using System; 5 | using UnityEngine; 6 | 7 | namespace GLTFast.Editor 8 | { 9 | 10 | /// 11 | /// Editor Import specific settings (not relevant at runtime) 12 | /// 13 | [Serializable] 14 | class EditorImportSettings 15 | { 16 | 17 | /// 18 | /// Creates a secondary UV set on all meshes, if there is none present already. 19 | /// Often used for lightmaps. 20 | /// 21 | [Tooltip("Generate Lightmap UVs")] 22 | public bool generateSecondaryUVSet; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Editor/Scripts/EditorImportSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f989e96318ee5422aadb70c4bb252df0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 3b6a1cb26d29941f2a3cc902680e2e03, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Scripts/GltfAssetDependency.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace GLTFast 4 | { 5 | 6 | [Serializable] 7 | struct GltfAssetDependency 8 | { 9 | 10 | public enum Type 11 | { 12 | Unknown, 13 | Texture, 14 | Buffer 15 | } 16 | 17 | public Type type; 18 | public string originalUri; 19 | public string assetPath; 20 | 21 | public GltfAssetDependency(string originalUri, Type type = Type.Unknown) 22 | { 23 | this.originalUri = originalUri; 24 | this.type = type; 25 | 26 | assetPath = null; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Editor/Scripts/GltfAssetDependency.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1aaa3ac6bfeee4120bc398ccb553c591 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Scripts/GltfAssetEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 683196dff1b6443d89c2ead90facfbc3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Scripts/GltfImporter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 715df9372183c47e389bb6e19fbc3b52 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Scripts/GltfImporterEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0b04a08654076497abec2857c0edb835 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: 7 | - mainMarkup: {fileID: 9197481963319205126, guid: d72633e56500240858af54bf878c907d, 8 | type: 3} 9 | - reportItemMarkup: {fileID: 9197481963319205126, guid: 727aa1886d86e4b3faa4ca8f263a6ee4, 10 | type: 3} 11 | - dependencyMarkup: {fileID: 9197481963319205126, guid: 4df82ef208e584428bdb29715790cd6f, 12 | type: 3} 13 | executionOrder: 0 14 | icon: {instanceID: 0} 15 | userData: 16 | assetBundleName: 17 | assetBundleVariant: 18 | -------------------------------------------------------------------------------- /Editor/Scripts/ImportSettingsEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e4a416fc96fd6453bbac68253cdb9743 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Scripts/InstantiationSettingsEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8793e79932a5c408db9aafd1b924a99a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Scripts/MaterialsVariantsComponentInspector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1533d582ae2ef4144a8c96f65c0b080e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: 7 | - m_MainMarkup: {fileID: 9197481963319205126, guid: d61d79f8a5b6648529e9ae112313759d, 8 | type: 3} 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Scripts/MenuEntries.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 97759b33473f943e5a24b78714284966 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Scripts/OnScriptsReloadHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd9d2e50cd6f34502ad61d8555c226bc 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Scripts/PackageSetupCheck.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 433625e5684fd4f83b3ee45f614c2d7d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Scripts/ShaderGUIBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3fc2baf04d5f44c57812b8e8a0d5dc4b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Scripts/ShaderGraphGUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5e2f126a1146d494cb1f1664639f3205 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Scripts/Utils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 966d97ab7ca974903930d757b9107bd5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Scripts/glTFast.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 76676817d91ba4f44b4aa7df71867256 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5b6f220a7d34a4d23adfcf372466fa46 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/UI/Dependency-style.uss: -------------------------------------------------------------------------------- 1 | .dependency { 2 | flex-direction: row; 3 | align-items: center; 4 | } 5 | 6 | .fix-button { 7 | margin-left: auto; 8 | } 9 | -------------------------------------------------------------------------------- /Editor/UI/Dependency-style.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8b07415b3b6e441cfa55e9187248229c 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | disableValidation: 0 12 | -------------------------------------------------------------------------------- /Editor/UI/Dependency.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 |