diff --git a/editor/plugins/spatial_editor_plugin.cpp b/editor/plugins/spatial_editor_plugin.cpp index bca1f254b0b..1d25f9e56b2 100644 --- a/editor/plugins/spatial_editor_plugin.cpp +++ b/editor/plugins/spatial_editor_plugin.cpp @@ -1756,7 +1756,11 @@ void SpatialEditorViewport::_notification(int p_what) { Transform t = sp->get_global_transform(); t.translate(se->aabb.position); - t.basis.scale(se->aabb.size); + + // apply AABB scaling before item's global transform + Basis aabb_s; + aabb_s.scale(se->aabb.size); + t.basis = t.basis * aabb_s; exist = true; if (se->last_xform == t)