diff --git a/.gitmodules b/.gitmodules
index cc3bf1fcd2e1eb8117cbcc7222b04f7041fea520..ef5fa3cfcc738f2bc8dedb0ec219903e71500f49 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -28,3 +28,9 @@
 [submodule "modules/upscaling/lib/FidelityFX-FSR"]
 	path = modules/upscaling/lib/FidelityFX-FSR
 	url = https://github.com/GPUOpen-Effects/FidelityFX-FSR.git
+[submodule "lib/Vulkan-Headers"]
+	path = lib/Vulkan-Headers
+	url = https://github.com/KhronosGroup/Vulkan-Headers.git
+[submodule "lib/Vulkan-Hpp"]
+	path = lib/Vulkan-Hpp
+	url = https://github.com/KhronosGroup/Vulkan-Hpp
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d65f3735bb90f7510a14fae4132de1f67085a50b..9c3f6df3508592fc5003ee490951fdf8368b48ac 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -98,6 +98,7 @@ endif()
 include(${vkcv_config}/Sources.cmake)
 
 message(STATUS "Framework:")
+message(" - Includes: [ ${vkcv_includes} ]")
 message(" - Libraries: [ ${vkcv_libraries} ]")
 message(" - Flags: [ ${vkcv_flags} ]")
 
diff --git a/config/lib/Vulkan.cmake b/config/lib/Vulkan.cmake
index e8fe4aee3a949fa7bf9906558f8a0c558eb47cf2..5100d1b78986a7a4b4b6180b1862046cb8b4fc8c 100644
--- a/config/lib/Vulkan.cmake
+++ b/config/lib/Vulkan.cmake
@@ -2,7 +2,26 @@
 find_package(Vulkan REQUIRED)
 
 if (Vulkan_FOUND)
-    list(APPEND vkcv_includes ${Vulkan_INCLUDE_DIR})
+    if (NOT EXISTS ${Vulkan_INCLUDE_DIR}/vulkan/vulkan.h)
+        use_git_submodule("${vkcv_lib_path}/Vulkan-Headers" vulkan_headers_status)
+        
+        if (${vulkan_headers_status})
+            list(APPEND vkcv_includes ${vkcv_lib}/Vulkan-Headers/include)
+        endif()
+    else()
+        list(APPEND vkcv_includes ${Vulkan_INCLUDE_DIR})
+    endif()
+
+    if (NOT EXISTS ${Vulkan_INCLUDE_DIR}/vulkan/vulkan.hpp)
+        use_git_submodule("${vkcv_lib_path}/Vulkan-Hpp" vulkan_hpp_status)
+    
+        if (${vulkan_hpp_status})
+            list(APPEND vkcv_includes ${vkcv_lib}/Vulkan-Hpp)
+        endif()
+    else()
+        list(APPEND vkcv_includes ${Vulkan_INCLUDE_DIR})
+    endif()
+    
     list(APPEND vkcv_libraries ${Vulkan_LIBRARIES})
 
     message(${vkcv_config_msg} " Vulkan  -   ")
diff --git a/lib/Vulkan-Headers b/lib/Vulkan-Headers
new file mode 160000
index 0000000000000000000000000000000000000000..8ba8294c86d0e99fcb457bedbd573dd678ccc9b3
--- /dev/null
+++ b/lib/Vulkan-Headers
@@ -0,0 +1 @@
+Subproject commit 8ba8294c86d0e99fcb457bedbd573dd678ccc9b3
diff --git a/lib/Vulkan-Hpp b/lib/Vulkan-Hpp
new file mode 160000
index 0000000000000000000000000000000000000000..ae1b0c36df0943795cd621a37e7f7bfd00ac958a
--- /dev/null
+++ b/lib/Vulkan-Hpp
@@ -0,0 +1 @@
+Subproject commit ae1b0c36df0943795cd621a37e7f7bfd00ac958a