diff --git a/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs b/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs
index 59e469d4b1b00af11e6b785fdf35ab278b33296d..7a254df9032b21c7cbfbfa023e8b856b415bef17 100644
--- a/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs
+++ b/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs
@@ -25,7 +25,8 @@ public GameObject
         Sphere,
         ActualSphere,
         Cuboid,
-        TriangularPrism
+        TriangularPrism,
+        Cylinder
         ;
 
     private void OnEnable()
@@ -79,6 +80,8 @@ public void SpawnFactRepresentation(Fact fact)
                 SpawnCuboid(cuboidFact); break;
             case PrismFact prismFact:
                 SpawnTriangularPrism(prismFact); break;
+            case CylinderFact cylinderFact:
+                SpawnCylinderFact(cylinderFact); break;
             default: break;
         };
     }
@@ -95,6 +98,18 @@ public void SpawnCuboid(CuboidFact fact){
         cuboid.GetComponentInChildren<TextMeshPro>().text = fact.GetLabel(StageStatic.stage.factState) + " = " + System.Math.Round(fact.Volume, 2) + "m³";
 
     }
+
+    public void SpawnCylinderFact(CylinderFact fact){
+
+        GameObject cylinder = GameObject.Instantiate(Cylinder);
+        fact.WorldRepresentation = cylinder.GetComponent<FactObject3D>();
+        fact.WorldRepresentation.Fact = fact;
+
+        cylinder.transform.SetPositionAndRotation(fact.Position, fact.Rotation);
+        cylinder.transform.localScale = Vector3.Scale(cylinder.transform.localScale, fact.LocalScale);
+
+        cylinder.GetComponentInChildren<TextMeshPro>().text = fact.GetLabel(StageStatic.stage.factState) + " = " + System.Math.Round(fact.Volume, 2) + "m³";
+    }
     public void SpawnSphere(SphereFact fact){
 
         GameObject sphere = GameObject.Instantiate(ActualSphere);