Hughes was born in Glasgow and was raised in the Castlemilk district; he attended a school with no rugby programme.[2][3] From the age of 6 he played for GHA, before joining Stirling County and the Scottish Rugby Elite Development system in 2011, aged 18.[4] He was assigned to Glasgow Warriors, joining the professional squad in 2013. He has since spent time back with Stirling County when released to play for them by the Warriors.
On 11 December 2015, Hughes was loaned out to London Scottish to get game time before the Six Nations tournament.[6] Hughes scored five tries in four appearances for Scottish before returning to Glasgow Warriors in time for the Ospreys game on 31 January 2016.[7]
Hughes scored his first competitive try for Glasgow Warriors in the match against the Ospreys.[8]
He made his debut for the Ayrshire Bulls in the Super 6 on 16 November 2019. He scored 2 tries.[9]