He only made one appearance for Manchester United before leaving for Hull City in 2016, but also failed to break into the first team there, and spent the second half of the 2016–17 season on loan to Wigan Athletic.
[5][6] Weir made his UEFA Youth League debut for Manchester United U19 against Bayer Leverkusen, where he started and played for 69 minutes, as they won 4–3.
[8] However, in the club's second meeting of the tournament against Bayer Leverkusen, on 27 November 2013, he was sent–off in stoppage time for a second bookable offence, as they lost 3–1.
[10] He was later called to the first team by Manager Louis van Gaal and appeared as an unused substitute against Newcastle United on 12 January 2016.
[4][11] Weir made his professional debut on 28 February 2016 in a 3–2 Premier League win at home to Arsenal, coming on as an injury-time substitute for Ander Herrera.
[20] In a follow–up match, Weir made his first starts for Wigan Athletic, where he played 45 minutes before being substituted at half time, in a 2–2 draw against Norwich City.
[22] He made his league debut for Hull City on the opening day of the 2017–18 season, 5 August 2017, away at Aston Villa, in a 1–1 draw.
[34] With his first team opportunities limited under the management of Hill and the winter arrivals, it was announced on 31 January 2020 that Weir's contract was terminated by mutual consent.
[37] Weir first appeared in a match for Pohronie on 30 May 2020, during an empty-stadium friendly game ahead of Fortuna Liga restart on 13 June.
[39] Weir made his Fortuna Liga debut on 13 June at pod Dubňom, in the starting line-up against AS Trenčín.
Pohronie took an early lead thanks to Weir's header, following a cross from Ján Hatok, and were two up 15 minutes in, after another goal by Pavlík.
Despite the promising lead Sereď came back and equalised the score in the second half with two goals by Filip Pankarićan and Martin Mečiar.