diff --git a/include/vkcv/Core.hpp b/include/vkcv/Core.hpp
index 8a165adf43561b1204490a12afa00d2a3fabdbf4..fbd1cc9cce12ee9584065708b56810e6859cf733 100644
--- a/include/vkcv/Core.hpp
+++ b/include/vkcv/Core.hpp
@@ -157,6 +157,17 @@ namespace vkcv
         [[nodiscard]]
         PipelineHandle createGraphicsPipeline(const PipelineConfig &config);
 
+        /**
+         * Creates a basic vulkan compute pipeline using @p shader program and returns it using the @p handle.
+         * Fixed Functions for pipeline are set with standard values.
+         *
+         * @param shader program that hold the compiles compute shader
+         * @param handle a handle to return the created vulkan handle
+         * @return True if pipeline creation was successful, False if not
+         */
+        [[nodiscard]]
+        PipelineHandle createComputePipeline(const ShaderProgram &config);
+
         /**
          * Creates a basic vulkan render pass using @p config from the render pass config class and returns it using the @p handle.
          * Fixed Functions for pipeline are set with standard values.
diff --git a/src/vkcv/Core.cpp b/src/vkcv/Core.cpp
index 9ed83d2a224119bd20fcfc81c5720b425de06bb6..057821119d96b5403180e9afdf4a4fd6042cfaea 100644
--- a/src/vkcv/Core.cpp
+++ b/src/vkcv/Core.cpp
@@ -101,6 +101,11 @@ namespace vkcv
         return m_PipelineManager->createPipeline(config, *m_PassManager);
     }
 
+    PipelineHandle Core::createComputePipeline(const ShaderProgram &shaderProgram)
+    {
+        return m_PipelineManager->createComputePipeline(shaderProgram);
+    }
+
 
     PassHandle Core::createPass(const PassConfig &config)
     {