diff --git a/Source/DisplayClusterExtensions/Private/VirtualRealityPawn.cpp b/Source/DisplayClusterExtensions/Private/VirtualRealityPawn.cpp
index 9ea06e432ba7bd85d3730854a0bc1d59ebf044bd..93e443b242e540b0a17eb2ac0640fc29d80a2794 100644
--- a/Source/DisplayClusterExtensions/Private/VirtualRealityPawn.cpp
+++ b/Source/DisplayClusterExtensions/Private/VirtualRealityPawn.cpp
@@ -39,11 +39,17 @@ AVirtualRealityPawn::AVirtualRealityPawn(const FObjectInitializer& ObjectInitial
 
 void                    AVirtualRealityPawn::OnForward_Implementation   (float Value)
 {
-  AddMovementInput(Forward->GetForwardVector(), Value);
+  if (NavigationMode == EVRNavigationModes::NAV_MODE_FLY)
+  {
+    AddMovementInput(Forward->GetForwardVector(), Value);
+  }
 }
-void                    AVirtualRealityPawn::OnRight_Implementation     (float Value)
+void                    AVirtualRealityPawn::OnRight_Implementation(float Value)
 {
-  AddMovementInput(Forward->GetRightVector  (), Value);
+  if (NavigationMode == EVRNavigationModes::NAV_MODE_FLY)
+  {
+    AddMovementInput(Forward->GetRightVector(), Value);
+  }
 }
 void                    AVirtualRealityPawn::OnTurnRate_Implementation  (float Rate )
 {
diff --git a/Source/DisplayClusterExtensions/Public/VirtualRealityPawn.h b/Source/DisplayClusterExtensions/Public/VirtualRealityPawn.h
index 0569fdfa0a747634943faa43be1555cac59c2e60..da1b540322c32ed445612862329282b7ea4982d7 100644
--- a/Source/DisplayClusterExtensions/Public/VirtualRealityPawn.h
+++ b/Source/DisplayClusterExtensions/Public/VirtualRealityPawn.h
@@ -10,6 +10,12 @@
 
 #include "VirtualRealityPawn.generated.h"
 
+UENUM(BlueprintType)
+enum class EVRNavigationModes : uint8{
+  NAV_MODE_NONE UMETA(DisplayName = "Navigation Mode None"),
+  NAV_MODE_FLY UMETA(DisplayName = "Navigation Mode Fly")
+};
+
 UCLASS()
 class DISPLAYCLUSTEREXTENSIONS_API AVirtualRealityPawn : public ADisplayClusterPawn
 {
@@ -23,6 +29,8 @@ public:
   UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "Pawn") void OnFire      (bool  Pressed);
   UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "Pawn") void OnAction    (bool  Pressed, int32 Index);
 
+  UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Pawn") EVRNavigationModes NavigationMode = EVRNavigationModes::NAV_MODE_FLY;
+
 protected:
   DECLARE_DELEGATE_OneParam (FFireDelegate  , bool);
   DECLARE_DELEGATE_TwoParams(FActionDelegate, bool, int32);