Hi,
I have been messing around with a huge bug for a few days which was breaking all the UI Navigation if a dropdown appeared on the screen at some time. Not opened, not selected, just appearing somewhere.
The issue was here after updating Unity and TextMeshPro to the latest versions.
I went through a lot of versions of TextMeshPro and found the source of the problem, a function you added back when updating to 1.4.0 in the TMP_Dropdown.cs script line 458 (since 1.4.0) :
protected override void OnDisable()
{
//Destroy dropdown and blocker in case user deactivates the dropdown when they click an option (case 935649)
ImmediateDestroyDropdownList();
if (m_Blocker != null)
DestroyBlocker(m_Blocker);
m_Blocker = null;
base.OnDisable(); //YOU MISSED THAT
}
As said in comment, you replaced the OnDisable() function of Selectable class but did not call the base OnDisable() function after that, preventing the Selectable from being removed from the active Selectables when OnDisable() is called and thus, breaking the navigation for other menus.
I’m surprised I did not see anyone talking about this huge bug somewhere.
Hope you correct it soon, I added the line to the latest version (2.0.1) on my project and everything went back to normal.
Keep up the good work !
Rémi from Arokma.