*Club domestic league appearances and goals, correct as of 14:40, 21 December 2024 (UTC) ‡ National team caps and goals, correct as of 12:13, 13 January 2019 (UTC)
Hamilton played several matches for Manchester United's under-18s team during the 2014–15 season, before signing for the club as an academy scholar in July 2015, when he was 16 years old.[5] Hamilton was a regular for the Manchester United Under-18s in the first half of the 2015–16 season, but did not play at all in the second half of the season.[5] He returned to the team for the 2016–17 season, when, despite not finding the back of the net until December, he finished as the team's third-highest goalscorer, with 8 goals in 23 appearances; he also played eight times for the club's reserve team that season, before making the regular step up for the 2017–18 season.[5] He made 22 appearances for the reserves that season, his performances earning him a call-up to the first team in February 2018, after Paul Pogba was ruled out of the club's FA Cup fifth round tie against Huddersfield Town;[6] Hamilton was assigned the number 48 shirt and named as a substitute, but did not play in the game.[7] At the end of the season, Hamilton was nominated alongside Demetri Mitchell and Kieran O'Hara for the Denzil Haroun Reserve Team Player of the Year award, given to Manchester United's best reserve team player of the season; the award was ultimately won by Mitchell.[8]
Ahead of the 2018–19 season, Hamilton signed his first professional contract with Manchester United,[9] before being named as part of the squad for the club's pre-season tour of the United States.[10] He made one appearance on the tour, coming on as an 89th-minute substitute for Juan Mata in a game against Milan on 26 July. The match finished 1–1 after 90 minutes and went straight to penalties; with the score at 6–6 after nine kicks each, Hamilton saw his penalty saved by Pepe Reina, only for José Mauri to also miss. United went on to win the shoot-out 9–8 after 13 kicks each.[11] Hamilton made 14 appearances for the Manchester United reserves in the first half of the 2018–19 season, before moving on loan to Rochdale in January 2019.[12]
For the 2019–20 season, Hamilton joined League One club Southend United on loan.[13][14] He scored his first goal for Southend when he scored in an EFL Trophy tie against AFC Wimbledon on 13 November 2019.[15] His spell with Southend came to an end when he was recalled by Manchester United on 3 January 2020.[16]
He was released by Manchester United at the end of the 2019–20 season.[18] He signed for Peterborough United in August 2020.[19] He scored his first and only goal for Peterborough in an EFL Trophy tie against Portsmouth on 12 January 2021.[20]
On 31 August 2021, Hamilton joined Accrington Stanley on a two-year deal.[21] He made his Accrington debut on 4 September, appearing as a substitute alongside Jovan Malcolm, also making his debut.[22]
On 1 August 2023, Hamilton joined Lincoln City for an undisclosed fee, signing a three-year contract.[23][24] On 5 August 2023, he made his Lincoln City debut starting against Bolton Wanderers.[25] His first Lincoln goal was the winner in a 1–0 victory against Shrewsbury Town on 19 August 2023.[26] On 29 February, manager Michael Skubala confirmed that Hamilton would be out for the season following a knee injury.[27] He returned to the side on 5 October 2024 following his long term injury, coming off the bench against Leyton Orient.[28]