I am returning to Ukraine from Canada in August, requiring a 1 night layover at Heathrow (I have booked at Sofitel). I am British Airway both flights, going through Terminal 5. Do I need any kind of UK visa to layover (I have Ukrainian passport and a Canadian visitor visa)
Here is the relevant page from gov.uk
It appears that you may be eligible to transit without a visa, under the grounds that your onward flight is before midnight on the day after you arrive, and presuming you are going direct to Ukraine.
This is the additional criteria you need to meet, note the time criteria:
You’re travelling from (or on part of a reasonable journey from) Australia, Canada, New Zealand or the USA and it’s less than 6 months since you last entered that country with a valid entry visa
In the case that you are not going direct to Ukraine from Heathrow but visiting another country inbetween, you will also need to show the 'correct documents' for your next destination after Heathrow (i.e. a valid visa if required).