diff --git a/modules/asset_loader/include/vkcv/asset/asset_loader.hpp b/modules/asset_loader/include/vkcv/asset/asset_loader.hpp
index 4107d57ee97a6efe0475c6d9dbd80d2603e0afe8..f0e505e1f49edc32cb5235727a022caa9e60b781 100644
--- a/modules/asset_loader/include/vkcv/asset/asset_loader.hpp
+++ b/modules/asset_loader/include/vkcv/asset/asset_loader.hpp
@@ -114,7 +114,8 @@ enum class PrimitiveType : uint32_t {
     POSITION = 1,
     NORMAL = 2,
     TEXCOORD_0 = 3,
-    TEXCOORD_1 = 4
+    TEXCOORD_1 = 4,
+    TANGENT = 5
 };
 
 /** These integer values are used the same way in OpenGL, Vulkan and glTF. This
diff --git a/modules/asset_loader/src/vkcv/asset/asset_loader.cpp b/modules/asset_loader/src/vkcv/asset/asset_loader.cpp
index 97fd39515290ac9235b3936d44d3e40a584ef84f..a14e9eb61551f50278ad68fb0010297cf0afb296 100644
--- a/modules/asset_loader/src/vkcv/asset/asset_loader.cpp
+++ b/modules/asset_loader/src/vkcv/asset/asset_loader.cpp
@@ -177,8 +177,11 @@ int loadScene(const std::string &path, Scene &scene){
                     attribute.type = PrimitiveType::NORMAL;
                 } else if (attrib.first == "TEXCOORD_0") {
                     attribute.type = PrimitiveType::TEXCOORD_0;
-                } else if (attrib.first == "TEXCOORD_1") {
+                }
+                else if (attrib.first == "TEXCOORD_1") {
                     attribute.type = PrimitiveType::TEXCOORD_1;
+                } else if (attrib.first == "TANGENT") {
+                    attribute.type = PrimitiveType::TANGENT;
                 } else {
                     return 0;
                 }