I have TMO unlimited right now. Coverage wise, they're fine for me. Worked well in Los Angeles, Minneapolis, Boston and Dallas for me. Minneapolis is my home base. If you need coverage in the city, you'd likely be just fine with TMO. but if you're in the sticks or spend a lot of time there, I'd get AT&T. With international travel, TMobile wipes the floor with the competition all-around.
AT&T unlimited does not allow you to use your phone as a hotspot.
In September, they're introducing something called TMobile One. Which is unlimited data, but it comes with a few caveats.
The tethering included in TMobile One is 2g (basically useless), and they're implementing mandatory Binge On (which automatically downscales video content to 480p). If you want full HD video on LTE, you have to pay an additional fee. If you want high speed tethering, you have to pay an additional fee for 5GB of high speed data. It's nonsense.
If you're going to switch to TMO, I'd do it immediately before TMobile One takes effect. If you switch now, you still have the ability to get Unlimited Data with Binge On turned off, as well as a 14gb LTE hotspot included.