diff --git a/Source/Editor/Gizmo/TransformGizmo.cs b/Source/Editor/Gizmo/TransformGizmo.cs index 4a3fa39ba..741b89d2d 100644 --- a/Source/Editor/Gizmo/TransformGizmo.cs +++ b/Source/Editor/Gizmo/TransformGizmo.cs @@ -201,7 +201,21 @@ namespace FlaxEditor.Gizmo ActorNode prefabRoot = GetPrefabRootInParent(actorNode); if (prefabRoot != null && actorNode != prefabRoot) { - hit = WalkUpAndFindActorNodeBeforeSelection(actorNode, prefabRoot); + bool isPrefabInSelection = false; + foreach (var e in sceneEditing.Selection) + { + if (e is ActorNode ae && GetPrefabRootInParent(ae) == prefabRoot) + { + isPrefabInSelection = true; + break; + } + } + + // Skip selecting prefab root if we already had object from that prefab selected + if (!isPrefabInSelection) + { + hit = WalkUpAndFindActorNodeBeforeSelection(actorNode, prefabRoot); + } } }