diff --git a/Source/MetaCoreEditor/Private/MetaCoreBuiltinCoreServicesModule.cpp b/Source/MetaCoreEditor/Private/MetaCoreBuiltinCoreServicesModule.cpp index 6eec08f..d39cc11 100644 --- a/Source/MetaCoreEditor/Private/MetaCoreBuiltinCoreServicesModule.cpp +++ b/Source/MetaCoreEditor/Private/MetaCoreBuiltinCoreServicesModule.cpp @@ -7163,6 +7163,12 @@ public: } void ApplyViewportSelection(MetaCoreEditorContext& editorContext, MetaCoreId pickedObjectId) override { + const ImGuiIO& io = ImGui::GetIO(); + if (pickedObjectId != 0 && io.KeyShift) { + editorContext.SelectRangeByOrderedIds(editorContext.GetScene().BuildHierarchyPreorder(), pickedObjectId, io.KeyCtrl); + return; + } + if (editorContext.GetInput().IsKeyDown(MetaCoreInputKey::Control)) { if (pickedObjectId != 0) { editorContext.ToggleSelection(pickedObjectId);