This was *THE MOST* frustrating problem I have ever had with an apple device and/or software update. It's been dogging me for months, but I *FINALLY* figured it out.
As background, after the Catalina update in November, my MBP which had been used to drive 2 external monitors stopped detecting these monitors. No change in monitors. No change in cables. No change in hardware of any type. It worked flawlessly for 2 years pre-Catalina. After a few minutes randomly, the screen would flicker and one monitor would be back on. I would work through the day, sometimes minutes later, sometimes hours later, the 2nd one would flicker and then come on. If I ever disconnected from the monitors or -- god forbid -- had to restart the MBP, I would be monitor-less for an indeterminate amount of time.
Before I get to the solution, here is what didn't work. I searched the forums for months:
1) Resetting NVRAM , PRAM, or SMC.
2) Restarting the MBP
3) Unplugging and replugging
4) Power cycling the monitors
5) Updating drivers
6) Updating to latest version of OS
7) Buying a new-ish monitor (the old ones were... well, old)
8) Using a new USB C Hub
Apple certainly never admits to these types of problems, and doesn't let the public know when stuff is broken. Like I said, it was frustrating.
So, the solution for me was the cable. I looked up the 2 year old cables, which were HDMI to USB C (purchased when HDMI's were removed from MBP's). Fortunately, Amazon had the order history and I was able to see that what I had were 4k 30HZ cables. When I replaced with 4k 60 Hz cables, it finally -- BLESSEDLY -- worked.
This is unconscionable for Apple to break these and then neither admit to, nor respond to the many forum posts that requested help with this.
So, buy new cables that support 4k 60hz, *NOT* 30hz. I got a J5create 6 foot HDMI to USB C cable for $30 from Best Buy, but I can see that there are cheaper options on Amazon.