diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/CMakeLists.txt b/source/RobotAPI/libraries/RobotAPIComponentPlugins/CMakeLists.txt
index 444d6e770fa746c6924a1341d62651ecd4d1a953..eb2a743cc6435d7ab3d44a77dc8283a0e754138d 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/CMakeLists.txt
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/CMakeLists.txt
@@ -22,6 +22,7 @@ set(LIB_FILES
     CartesianPositionControlComponentPlugin.cpp
     NaturalIKComponentPlugin.cpp
     HandUnitComponentPlugin.cpp
+    FrameTrackingComponentPlugin.cpp
 )
 set(LIB_HEADERS
     RobotStateComponentPlugin.h
@@ -36,6 +37,7 @@ set(LIB_HEADERS
     CartesianPositionControlComponentPlugin.h
     NaturalIKComponentPlugin.h
     HandUnitComponentPlugin.h
+    FrameTrackingComponentPlugin.h
 )
 
 armarx_add_library("${LIB_NAME}" "${LIB_FILES}" "${LIB_HEADERS}" "${LIBS}")
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/FrameTrackingComponentPlugin.cpp b/source/RobotAPI/libraries/RobotAPIComponentPlugins/FrameTrackingComponentPlugin.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..f5ba6417ad1ee3c5a683a33209678c3465c76277
--- /dev/null
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/FrameTrackingComponentPlugin.cpp
@@ -0,0 +1,54 @@
+#include "FrameTrackingComponentPlugin.h"
+
+namespace armarx
+{
+    namespace plugins
+    {
+
+        void FrameTrackingComponentPlugin::preOnInitComponent()
+        {
+            parent<Component>().usingProxyFromProperty(PROPERTY_NAME);
+        }
+
+        void FrameTrackingComponentPlugin::preOnConnectComponent()
+        {
+            parent<Component>().getProxyFromProperty(_frameTracking, PROPERTY_NAME);
+        }
+
+        void FrameTrackingComponentPlugin::postCreatePropertyDefinitions(armarx::PropertyDefinitionsPtr& properties)
+        {
+            if (!properties->hasDefinition(PROPERTY_NAME))
+            {
+                properties->defineOptionalProperty<std::string>(
+                    PROPERTY_NAME,
+                    "FrameTracking",
+                    "Name of the FrameTracking");
+            }
+        }
+
+        FrameTrackingInterfacePrx FrameTrackingComponentPlugin::getFrameTracking()
+        {
+            return _frameTracking;
+        }
+
+
+    }
+}
+
+namespace armarx
+{
+
+    FrameTrackingComponentPluginUser::FrameTrackingComponentPluginUser()
+    {
+        addPlugin(plugin);
+    }
+
+    FrameTrackingInterfacePrx FrameTrackingComponentPluginUser::getFrameTracking()
+    {
+        return plugin->getFrameTracking();
+    }
+
+
+}
+
+
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/FrameTrackingComponentPlugin.h b/source/RobotAPI/libraries/RobotAPIComponentPlugins/FrameTrackingComponentPlugin.h
new file mode 100644
index 0000000000000000000000000000000000000000..82b1b593d1c457b1b2c636a292ee0ce8aebce477
--- /dev/null
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/FrameTrackingComponentPlugin.h
@@ -0,0 +1,58 @@
+#pragma once
+
+#include <ArmarXCore/core/Component.h>
+#include <RobotAPI/interface/components/FrameTrackingInterface.h>
+
+
+namespace armarx
+{
+    namespace plugins
+    {
+
+        class FrameTrackingComponentPlugin : public ComponentPlugin
+        {
+        public:
+            using ComponentPlugin::ComponentPlugin;
+
+            void preOnInitComponent() override;
+
+            void preOnConnectComponent() override;
+
+            void postCreatePropertyDefinitions(PropertyDefinitionsPtr& properties) override;
+
+            FrameTrackingInterfacePrx getFrameTracking();
+
+        private:
+            static constexpr const char* PROPERTY_NAME = "FrameTrackingName";
+            FrameTrackingInterfacePrx _frameTracking;
+        };
+
+    }
+}
+
+namespace armarx
+{
+    /**
+     * @brief Provides a ready-to-use FrameTracking.
+     */
+    class FrameTrackingComponentPluginUser : virtual public ManagedIceObject
+    {
+    public:
+        FrameTrackingComponentPluginUser();
+        FrameTrackingInterfacePrx getFrameTracking();
+
+    private:
+        armarx::plugins::FrameTrackingComponentPlugin* plugin = nullptr;
+    };
+
+}
+
+
+namespace armarx
+{
+    namespace plugins
+    {
+        // Legacy typedef.
+        using FrameTrackingComponentPluginUser = armarx::FrameTrackingComponentPluginUser;
+    }
+}