diff --git a/demos/viewer/src/vrcontroller_navigation_behavior.cpp b/demos/viewer/src/vrcontroller_navigation_behavior.cpp
index 15061d7b9bcfbfe594197efccda19ae70248b125..9acee895c5d9784aa53d6c017de0fd72a8e5b7ba 100644
--- a/demos/viewer/src/vrcontroller_navigation_behavior.cpp
+++ b/demos/viewer/src/vrcontroller_navigation_behavior.cpp
@@ -81,6 +81,14 @@ void VRControllerNavigationBehavior::OnButtonSignal(
   }
 }
 
+float VRControllerNavigationBehavior::GetNavigationSpeed() const {
+  return speed_;
+}
+
+void VRControllerNavigationBehavior::SetNavigationSpeed(float speed) {
+  speed_ = speed;
+}
+
 phx::VRController* VRControllerNavigationBehavior::GetController() {
   for (auto controller : device_system_->GetDevices<phx::VRController>()) {
     if (controller->GetSide() == side_) {
diff --git a/demos/viewer/src/vrcontroller_navigation_behavior.hpp b/demos/viewer/src/vrcontroller_navigation_behavior.hpp
index f2860be7999add30e44c6954cac03d8ff5c83aeb..8ed142a67365bce88dc03fca8aa46f1e308eceb4 100644
--- a/demos/viewer/src/vrcontroller_navigation_behavior.hpp
+++ b/demos/viewer/src/vrcontroller_navigation_behavior.hpp
@@ -46,6 +46,9 @@ class VRControllerNavigationBehavior : public phx::Behavior {
   void OnButtonSignal(phx::VRController::ButtonId id,
                       phx::VRController::ButtonEvent event);
 
+  float GetNavigationSpeed() const;
+  void SetNavigationSpeed(float speed);
+
  private:
   phx::DeviceSystem* device_system_;
   phx::VRController* GetController();