Mouse Scroll Camera Speed doesn't work for Skeletal Mesh editor, etc.

Summary

In Editor Preference - Level Editor - Viewports, Use distance-scaled camera speed works for level editor viewport, skeletal mesh editor and more. But Mouse Scroll Camera Speed only works for level editor viewport, not for skeletal mesh editor, etc.

This results in inconsistent behavior when using the mouse to scroll the camera. When starting the “distance-scaled camera speed” function, the scroll speed in the skeletal mesh editor is very slow.

What Type of Bug are you experiencing?

Editor

Steps to Reproduce

Change the Use distance-scaled camera speed and Mouse Scroll Camera Speed settings respectively, observe scrolling behaviors in different viewports.

Expected Result

Keep the Mouse Scroll Camera Speed consistent across different editor viewports.

Observed Result

Mouse Scroll Camera Speed does not work in viewports other than the Level Editor viewport.

Affects Versions

5.8

Platform(s)

Windows

workaround

diff --git a/Engine/Source/Editor/Experimental/EditorInteractiveToolsFramework/Private/ViewportInteractions/ViewportZoomInteraction.cpp b/Engine/Source/Editor/Experimental/EditorInteractiveToolsFramework/Private/ViewportInteractions/ViewportZoomInteraction.cpp
--- a/Engine/Source/Editor/Experimental/EditorInteractiveToolsFramework/Private/ViewportInteractions/ViewportZoomInteraction.cpp
+++ b/Engine/Source/Editor/Experimental/EditorInteractiveToolsFramework/Private/ViewportInteractions/ViewportZoomInteraction.cpp
@@ -301,11 +301,14 @@
 	if (bInZoomIn)
 	{
 		Drag = -Drag;
 	}
 
-	const float CameraSpeed = EditorViewportClient->GetCameraSpeedSettings().GetCurrentSpeed();
+	// Match the level editor viewport, which dollies using the "Mouse Scroll Zoom Speed" preference.
+	PRAGMA_DISABLE_DEPRECATION_WARNINGS
+	const float CameraSpeed = EditorViewportClient->GetCameraSpeed(GetDefault<ULevelEditorViewportSettings>()->MouseScrollCameraSpeed);
+	PRAGMA_ENABLE_DEPRECATION_WARNINGS
 	Drag *= CameraSpeed * 32.0f;
 
 	constexpr bool bDollyCamera = true;
 	EditorViewportClient->MoveViewportCamera(Drag, FRotator::ZeroRotator, bDollyCamera);