From 7b2b3b41ee2f5fe1aa40527373929b22920d7c0e Mon Sep 17 00:00:00 2001 From: Robert Yevdokimov <105675984+ryevdokimov@users.noreply.github.com> Date: Thu, 15 Jan 2026 12:59:20 -0500 Subject: [PATCH] Fix viewport orbit snap defaulting to always snapping when shortcut(s) are set to none --- editor/scene/3d/node_3d_editor_plugin.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/editor/scene/3d/node_3d_editor_plugin.cpp b/editor/scene/3d/node_3d_editor_plugin.cpp index 29c91368d5..c08c79f1ae 100644 --- a/editor/scene/3d/node_3d_editor_plugin.cpp +++ b/editor/scene/3d/node_3d_editor_plugin.cpp @@ -2861,8 +2861,9 @@ void Node3DEditorViewport::_nav_orbit(Ref p_event, cons cursor.x_rot = cursor.unsnapped_x_rot; cursor.y_rot = cursor.unsnapped_y_rot; - if (_is_nav_modifier_pressed("spatial_editor/viewport_orbit_snap_modifier_1") && - _is_nav_modifier_pressed("spatial_editor/viewport_orbit_snap_modifier_2")) { + bool snap_modifier_configured = !_is_shortcut_empty("spatial_editor/viewport_orbit_snap_modifier_1") || !_is_shortcut_empty("spatial_editor/viewport_orbit_snap_modifier_2"); + + if (snap_modifier_configured && _is_nav_modifier_pressed("spatial_editor/viewport_orbit_snap_modifier_1") && _is_nav_modifier_pressed("spatial_editor/viewport_orbit_snap_modifier_2")) { const real_t snap_angle = Math::deg_to_rad(45.0); const real_t snap_threshold = Math::deg_to_rad((real_t)EDITOR_GET("editors/3d/navigation_feel/angle_snap_threshold"));