We have just returned from a four week trip to Uganda.
We ordered a VISA card before we left as we only had Mastercards and had read that they were not widely accepted.
In the event, we only needed our bank cards for cash withdrawals, as the lodges and hotels that we stayed at (bar one) only accepted cash.
For cash withdrawals, both Stanbic and Barclays accepted Mastercard, so we did not need the VISA. There were Barclays branches in the larger towns such as Entebbe, Kabale and Kasese and Stanbic branches in both larger and smaller towns too. We never had a problem with the cash dispensers.
Barclays had a limit of 2,000,000 shillings and Stanbic 700,000 shillings. As each of us had our own card, we had no problems in withdrawing sufficient quantities of cash for our needs, but we always kept an eye on the town for next withdrawal and how much we would need. The Bradt maps were very useful for this.
The bank charges were just over 5%. We also bought an amount of US$ in cash through Travelex online which cost us around 2% in charges and bid/offer spread. These were accepted without problems in our hotels/lodges and in National Parks.