I've played around with a few different controllers in my time, with the latest one being the 8BitDo Ultimate Gaming Controller, which is designed in the same layout as an Xbox controller. For me, this was very familiar. I found the controller itself to be comfortable to hold as well.
The 8BitDo Ultimate Gaming Controller is an Android-specific controller that connects via Bluetooth, which is quite simple to get working. Though the controller itself does need to be charged (instead of connecting to your phone directly to work). Charging didn't take too long using the included USB-C to USB cable. The battery does seem to last for a while, at around 12 hours, which is pretty good.
The controller opens up to hold larger phones or phones with cases. The back of this is textured, which I feel is very much needed, as there isn't a connector to connect your phone into place. With that said, my phone with and without a case didn't wiggle or feel like it might slide out.
The buttons and thumbsticks felt good, everything worked well, and they were satisfying to press. It's got Hall Effect technology, so drifting isn't something you will need to worry about in the slightest. It's just a decent controller, though it's let down by its lack of iPhone support, and for me, the need to charge it to use it.
I do feel that, for the price, the 8BitDo Ultimate Gaming Controller feels decent, but it is missing some of the features that I like to see in my mobile gaming controllers. With that said, I do like the security that my thumbsticks won't drift!