Application.TickGlobalCallbacks causing issues working in Unity 2020. What is this?

A popup window in Unity with Application.TickGlobalCallbacks frequently, but not consistently, appears while I’m working in Unity 2020.1.1f1. It has appeared after I placed game objects in the scene or just clicked on an asset from the project folders or selected a field to edit in the Inspector pane or applied a texture layer to the terrain. It doesn’t appear every time, but frequent enough to be very annoying.

166600-tickglobalcallbacks.png

All actions have to wait until this window disappears. Most of the time, the popup window disappears within a few seconds, and I can continue working in Unity. Sometimes, however, the window will show an amount of time (e.g., “busy for 8:10”); usually, when that happens, the application never recovers (I’ve waited overnight one time and it still said it was busy the next morning).

I don’t have this issue if I’m working in earlier versions of Unity (2019 and before).

I can usually just search on Google for issues I have, but this one has me stumped. I tried searching for TickGlobalCallbacks but the search returns 0 results.

Does anyone know what this is?

I had the same issues with 2020.1.2f1 recently when trying to attach the debugger to a project after cleaning up a lot of unused script files after some refactoring.

I deleted the Library directory and let it re-generate everything. After that the debugger finally managed to attach after waiting ~2min this time. Not sure if I just wasn’t waiting long enough before… but I’m pretty sure I waited 6min+ and it was still stuck, so may be worth trying to re generate the Library dir.

There will be a few things that can cause this, but this can also happen if you sleep/hibernate the computer, then power back up and try run Unity again, it can freeze or not work properly.

Even with a new process of Unity, if you have just powered up from sleep/hibernate, you will probably see the Application.TickGlobalCallbacks running indefinitely.

You are better to restart the computer for a fresh process.

This thing was driving me nuts today and I tried everything… installed another Unity version… restarted the PC, deleted library folders, etc… and for my surprise, the solution (since I’m working on a VR project) was to disconnect the USB headset cable. Quest 2 is sometimes finicky with the USB connection, especially if the headset goes to sleep. As soon as I disconnected the cable… the TickGlobalCallbacks message disappeared and Unity was unstuck. It seems Unity was trying to contact the headset and didn’t find anything, and instead of throwing an error (device not found), it froze the application.