diff --git a/Assets/UniGLTF/Runtime/UniGLTF/Format/ExtensionsAndExtras/KHR_texture_basisu.cs b/Assets/UniGLTF/Runtime/UniGLTF/Format/ExtensionsAndExtras/KHR_texture_basisu.cs
new file mode 100644
index 000000000..6b8ef550c
--- /dev/null
+++ b/Assets/UniGLTF/Runtime/UniGLTF/Format/ExtensionsAndExtras/KHR_texture_basisu.cs
@@ -0,0 +1,61 @@
+using System;
+using UniJSON;
+
+namespace UniGLTF
+{
+ ///
+ /// https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_texture_basisu
+ ///
+ [Serializable]
+ public sealed class glTF_KHR_texture_basisu
+ {
+ public const string ExtensionName = "KHR_texture_basisu";
+
+ private static readonly Utf8String ExtensionNameUt8 = Utf8String.From(ExtensionName);
+
+ ///
+ /// glTF Id
+ ///
+ [JsonSchema(Minimum = 0)]
+ public int source = -1;
+
+ public static bool TryGet(glTFTextureInfo textureInfo, out glTF_KHR_texture_basisu basisuExtension)
+ {
+ if (textureInfo?.extensions is glTFExtensionImport importedExtensions)
+ {
+ foreach (var kv in importedExtensions.ObjectItems())
+ {
+ if (kv.Key.GetUtf8String() == ExtensionNameUt8)
+ {
+ basisuExtension = Deserialize(kv.Value);
+ return basisuExtension != null;
+ }
+ }
+ }
+
+ basisuExtension = default;
+ return false;
+ }
+
+ private static glTF_KHR_texture_basisu Deserialize(JsonNode json)
+ {
+ if (json.Value.ValueType != ValueNodeType.Object) return null;
+
+ foreach (var kv in json.ObjectItems())
+ {
+ var key = kv.Key.GetString();
+ switch (key)
+ {
+ case nameof(source):
+ var value = kv.Value.GetInt32();
+ return new glTF_KHR_texture_basisu
+ {
+ source = value,
+ };
+ }
+ }
+
+ return null;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/UniGLTF/Runtime/UniGLTF/Format/ExtensionsAndExtras/KHR_texture_basisu.cs.meta b/Assets/UniGLTF/Runtime/UniGLTF/Format/ExtensionsAndExtras/KHR_texture_basisu.cs.meta
new file mode 100644
index 000000000..45bed0843
--- /dev/null
+++ b/Assets/UniGLTF/Runtime/UniGLTF/Format/ExtensionsAndExtras/KHR_texture_basisu.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: ed158370be0b4340b9d571c199878591
+timeCreated: 1638944458
\ No newline at end of file