Skip to content

Scene View Locks Up In Place Mode (workaround) - Unity 6 (potentially 2022 and lower) #411

Description

@SamNChiet

Repro:

  • Switch to the Rotation tool
  • Select a non-brush transform with the Rotation tool active
  • Switch to the Move tool

The scene view will block all interactions (besides dragging the gizmo of the active transform - though the gizmo also won't respond to hovering).

The issue is caused by boundsCenter turning into NaN.
I think the symptoms arise because the Handles calculations within the block I skip end up thinking the bounds are infinitely large - but skipping this chunk works just as well for now.
A true fix would be to prevent boundsCenter from becoming NaN in the first place, but that'll have to wait for another day.

Temporary workaround (adding a NaN check):

in EditMode.Place.cs at this line, replace:

    if (Tools.current == Tool.Move)
    {
        if (HaveSelection)
        {
            Vector3 newPosition = boundsCenter;
            // ...

with

if (Tools.current == Tool.Move)
{
    bool boundsCenterIsNaN = float.IsNaN(boundsCenter.x) || float.IsNaN(boundsCenter.y) || float.IsNaN(boundsCenter.z);   // TODO: investigate why this happens
    if (HaveSelection && !boundsCenterIsNaN)
    {
        Vector3 newPosition = boundsCenter;
        // the rest is the same

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions