Search Issue Tracker

Fixed

Fixed in 2022.3.53f1, 6000.0.27f1, 6000.1.0a4, 7000.0.0a10

Votes

0

Found in

2022.3.52f1

6000.0.26f1

6000.1.0a3

7000.0.0a10

Issue ID

UUM-86183

Regression

Yes

Scene view freezes when "NullReferenceException" is thrown in a .delayCall

--

-

Reproduction steps:
1. Open the attached “repro_IN-87492“ project
2. Open the Scene view
3. Try to move the camera in any way

Expected result: The camera moves
Actual result: The camera doesn’t move

Reproducible with: 2022.3.14f1, 2022.3.52f1, 6000.0.26f1, 6000.1.0a3
Not reproducible with: 2021.3.45f1, 2022.3.13f1

Reproducible on: Windows 10 (22H2)
Not reproducible on: No other environments tested

  1. Resolution Note (fix version 7000.0.0a10):

    Moved the registration of the SceneViewMotion and RectSelection shortcut contexts to the OnEnable method of the Scene view.

  2. Resolution Note (fix version 6000.1.0a4):

    Moved the registration of the SceneViewMotion and RectSelection shortcut contexts to the OnEnable method of the Scene view.

  3. Resolution Note (fix version 6000.0.27f1):

    Moved the registration of the SceneViewMotion and RectSelection shortcut contexts to the OnEnable method of the Scene view.

  4. Resolution Note (fix version 2022.3.53f1):

    Moved the registration of the SceneViewMotion and RectSelection shortcut contexts to the OnEnable method of the Scene view.

Comments (3)

  1. antoinebr_unity

    Nov 13, 2024 18:47

    Hey Stein, it's indeed something we want to fix but will be done in seperate work. Thank you for the feedback!

  2. ThomasLopez

    Nov 12, 2024 21:48

    Hi Stein,
    This bug ticket is intending to fix the SceneView freezer problem, that was also the source of other bugs. I understand the problem regarding the delay calls and the exceptions, this is another one indeed. Let me discuss about this with some persons from my team and we will come back to you :)

  3. steinbitglis

    Nov 04, 2024 07:26

    That sounds like an incorrect solution to this issue 😮
    Don't give up on delayCall, but make it so that EditorApplication.delayCall will not abort once a single subscriber throws an exception. To do this, call Delegate.GetInvocationList() and wrap each call in a try-catch clause, so each exception is handled separately, as it should.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.