Having come through the club's academy,[4] Hudson first appeared on the bench for Preston North End in early 2015 in an FA Cup fourth-round tie against Sheffield United,[5] and made his professional debut aged 17 as a replacement for future England goalkeeper Jordan Pickford who was sent off in the 30th minute of a 1–0 away defeat at Leeds United on 20 December 2015.[6] Leeds scored the only goal of the game through an Alan Browne own goal in the 46th minute, while Pickford's red card was later rescinded.[6][7] Hudson signed his first professional contract in January 2016, with the deal lasting 18 months and having the option for a further year.[8] He won Preston's scholar of the year award for the 2015–16 season.[9]
He did not make a first-team appearance during the 2016–17 or 2017–18 seasons,[10] but agreed a new two-year deal with the club in June 2018,[11] and joined League Two side Bury on loan until January the following month.[12][13] He made his debut for the club on 4 September 2020 in a defeat away to Rochdale in the EFL Trophy,[14] and made a total of four appearances for Bury, all of which coming in the EFL Trophy.[10]
With Hudson contract set to expire in summer 2020, it was extended by two years in June 2020.[4] On 23 October 2020, he joined Bamber Bridge on loan alongside teammate Adam O'Reilly, until 28 November 2020.[15][16] He made his debut for the club the following day in a 2–1 defeat at home to Bamber Bridge, he didn't play anymore games for the club. .[17] Hudson was released at the end of his contract in June 2022.[18]