diff --git a/assets/games/rose/prefabs/Player.xml b/assets/games/rose/prefabs/Player.xml
index 1d15a3b2..97034127 100644
--- a/assets/games/rose/prefabs/Player.xml
+++ b/assets/games/rose/prefabs/Player.xml
@@ -1,6 +1,6 @@
-
+
@@ -8,7 +8,7 @@
-
+
\ No newline at end of file
diff --git a/src/dawn/scene/components/display/mesh/CMakeLists.txt b/src/dawn/scene/components/display/mesh/CMakeLists.txt
index fe2b8ef1..9f8fc59a 100644
--- a/src/dawn/scene/components/display/mesh/CMakeLists.txt
+++ b/src/dawn/scene/components/display/mesh/CMakeLists.txt
@@ -8,5 +8,6 @@ target_sources(${DAWN_TARGET_NAME}
PRIVATE
MeshRenderer.cpp
CubeMeshHost.cpp
+ CapsuleMeshHost.cpp
MeshHost.cpp
)
\ No newline at end of file
diff --git a/src/dawn/scene/components/display/mesh/CapsuleMeshHost.cpp b/src/dawn/scene/components/display/mesh/CapsuleMeshHost.cpp
new file mode 100644
index 00000000..252b16dd
--- /dev/null
+++ b/src/dawn/scene/components/display/mesh/CapsuleMeshHost.cpp
@@ -0,0 +1,21 @@
+// Copyright (c) 2023 Dominic Masters
+//
+// This software is released under the MIT License.
+// https://opensource.org/licenses/MIT
+
+#include "CapsuleMeshHost.hpp"
+
+using namespace Dawn;
+
+CapsuleMeshHost::CapsuleMeshHost(SceneItem *item) :
+ MeshHost(item),
+ radius(0.5f),
+ height(1.0f)
+{
+}
+
+void CapsuleMeshHost::onStart() {
+ useEffect([&]{
+ CapsuleMesh::create(&this->mesh, radius, height);
+ }, { &this->radius, &this->height })();
+}
\ No newline at end of file
diff --git a/src/dawn/scene/components/display/mesh/CapsuleMeshHost.hpp b/src/dawn/scene/components/display/mesh/CapsuleMeshHost.hpp
new file mode 100644
index 00000000..07c4f88a
--- /dev/null
+++ b/src/dawn/scene/components/display/mesh/CapsuleMeshHost.hpp
@@ -0,0 +1,22 @@
+// Copyright (c) 2023 Dominic Masters
+//
+// This software is released under the MIT License.
+// https://opensource.org/licenses/MIT
+
+#pragma once
+#include "MeshHost.hpp"
+#include "display/mesh/CapsuleMesh.hpp"
+
+namespace Dawn {
+ class CapsuleMeshHost : public MeshHost {
+ public:
+ // @optional
+ StateProperty radius;
+ // @optional
+ StateProperty height;
+
+ CapsuleMeshHost(SceneItem *item);
+
+ void onStart() override;
+ };
+}
\ No newline at end of file