diff --git a/Source/DisplayClusterExtensions/Private/VirtualRealityPawn.cpp b/Source/DisplayClusterExtensions/Private/VirtualRealityPawn.cpp
index 4246a59b10481c80a795b8362024bc3d6fe3901c..3bdf59ed703923fddee28cb068bb3b511575632e 100644
--- a/Source/DisplayClusterExtensions/Private/VirtualRealityPawn.cpp
+++ b/Source/DisplayClusterExtensions/Private/VirtualRealityPawn.cpp
@@ -27,9 +27,9 @@ AVirtualRealityPawn::AVirtualRealityPawn(const FObjectInitializer& ObjectInitial
 
 	AutoPossessPlayer = EAutoReceiveInput::Player0; // Necessary for receiving motion controller events.
 
-	Movement = CreateDefaultSubobject<UWalkingPawnMovement>(TEXT("WalkingMovement"));
-	Movement->SetUpdatedComponent(RootComponent);
-	Movement->SetCameraComponent(CameraComponent);
+	WalkingMovement = CreateDefaultSubobject<UWalkingPawnMovement>(TEXT("WalkingMovement"));
+	WalkingMovement->SetUpdatedComponent(RootComponent);
+	WalkingMovement->SetCameraComponent(CameraComponent);
 
 	RotatingMovement = CreateDefaultSubobject<URotatingMovementComponent>(TEXT("RotatingMovement"));
 	RotatingMovement->UpdatedComponent = RootComponent;
@@ -210,10 +210,10 @@ void AVirtualRealityPawn::BeginPlay()
 	if (SettingsActors.Num() > 0)
 	{
 		ADisplayClusterSettings* Settings = Cast<ADisplayClusterSettings>(SettingsActors[0]);
-		Movement->MaxSpeed = Settings->MovementMaxSpeed;
-		Movement->Acceleration = Settings->MovementAcceleration;
-		Movement->Deceleration = Settings->MovementDeceleration;
-		Movement->TurningBoost = Settings->MovementTurningBoost;
+		WalkingMovement->MaxSpeed = Settings->MovementMaxSpeed;
+		WalkingMovement->Acceleration = Settings->MovementAcceleration;
+		WalkingMovement->Deceleration = Settings->MovementDeceleration;
+		WalkingMovement->TurningBoost = Settings->MovementTurningBoost;
 		BaseTurnRate = Settings->RotationSpeed;
 	}
 
@@ -277,6 +277,9 @@ void AVirtualRealityPawn::BeginPlay()
 
 	CollisionComponent->SetCollisionProfileName(FName("NoCollision"));
 	CollisionComponent->SetCollisionEnabled(ECollisionEnabled::NoCollision);
+
+	//if the navigation mode was changed in the editor, it should be updated in the actual movement component
+	SetNavigationMode(NavigationMode);
 }
 
 void AVirtualRealityPawn::EndPlay(const EEndPlayReason::Type EndPlayReason)
@@ -417,7 +420,7 @@ FTwoVectors AVirtualRealityPawn::GetHandRay(float Length)
 
 UPawnMovementComponent* AVirtualRealityPawn::GetMovementComponent() const
 {
-	return Movement;
+	return WalkingMovement;
 }
 
 void AVirtualRealityPawn::InitRoomMountedComponentReferences()
@@ -457,5 +460,6 @@ void AVirtualRealityPawn::InitRoomMountedComponentReferences()
 
 void AVirtualRealityPawn::SetNavigationMode(EVRNavigationModes Mode)
 {
-	Movement->NavigationMode = Mode;
+	NavigationMode = Mode;
+	WalkingMovement->NavigationMode = Mode;
 }
diff --git a/Source/DisplayClusterExtensions/Public/VirtualRealityPawn.h b/Source/DisplayClusterExtensions/Public/VirtualRealityPawn.h
index 94d1e8dc7147299b18c85e74db185d005451668d..2cf7a590291102c2f5fa14cf2ff417cbf9bae4e7 100644
--- a/Source/DisplayClusterExtensions/Public/VirtualRealityPawn.h
+++ b/Source/DisplayClusterExtensions/Public/VirtualRealityPawn.h
@@ -56,6 +56,8 @@ public:
 	UFUNCTION(Category = "Pawn") USceneComponent* GetTrackingOriginComponent();
 
 	UFUNCTION(Category = "Pawn") void SetNavigationMode(EVRNavigationModes Mode);
+	//we also add this property so the navigation mode can be changed easier in the editor, will get forwarded to the movment comp on BeginPlay
+	UPROPERTY(Category = "Pawn", EditAnywhere, BlueprintReadOnly) EVRNavigationModes NavigationMode = EVRNavigationModes::nav_mode_fly;
 
 private:
 	UFUNCTION(Category = "Pawn") USceneComponent* GetCaveCenterComponent();
@@ -78,7 +80,7 @@ protected:
 	virtual UPawnMovementComponent* GetMovementComponent() const override;
 
 	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Pawn", meta = (AllowPrivateAccess = "true")) float BaseTurnRate = 45.0f;
-	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Pawn", meta = (AllowPrivateAccess = "true")) UWalkingPawnMovement* Movement = nullptr;
+	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Pawn", meta = (AllowPrivateAccess = "true")) UWalkingPawnMovement* WalkingMovement = nullptr;
 	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Pawn", meta = (AllowPrivateAccess = "true")) URotatingMovementComponent* RotatingMovement = nullptr;
 
 	// Use only when handling cross-device (PC, HMD, CAVE/ROLV) compatibility manually. CAVE/ROLV flystick.