Ugwu was born in Oxford, Oxfordshire.[4][5] He began his career with Reading and progressed through the club's academy to sign a first professional contract in June 2011.[2][6][7] He joined Conference National side Ebbsfleet United on a one-month loan in January 2012,[8] and made his debut in a 1–0 FA Trophy defeat at York City.[9] Ugwu his first goal for the club in a 3–2 win at Bath City,[10] and two more in his next three appearances, against Southport and Gateshead, before the loan was extended by a further month.[4][11] He returned to Reading at the start of April to try and earn a new contract after scoring four goals in ten league and cup appearances for Ebbsfleet.[12][13]
He signed a new two-year contract with Reading in July 2012 and joined League One side Yeovil Town on loan for six months.[14][15] Ugwu made his debut in a 3–0 League Cup win against Colchester United in August,[16] and scored his first two goals for Yeovil in a 4–0 win at Scunthorpe United eleven days later.[17][18] He scored one more goal, against Doncaster Rovers,[19] and returned to Reading at the start of January 2013 after making five starts and 13 substitute appearances for Yeovil.[20][21] Soon after his return, Ugwu was included in a Reading match-day squad for the first time ahead of an FA Cup tie with Crawley Town.[22] He was named among the substitutes but did not make an appearance in a 3–1 win for Reading.[23]
Later in January, Ugwu joined League Two club Plymouth Argyle on a one-month youth loan.[7][24][25] In his second week with the club, he injured his ankle and was unavailable for two matches.[26] He resumed training in February and made his debut for Argyle two days later in a 2–1 win at Aldershot Town as a second-half substitute.[27][28] Despite his injury hit start, manager John Sheridan was keen to extend Ugwu's stay and on 19 February his loan was extended for a further month.[29][30] Having started only two games, and with Reading keen for Ugwu to get playing time,[31] he was recalled from loan on 11 March.[32]
On 14 November 2013, Ugwu signed on loan for Shrewsbury Town until January and made his debut two days later in a 3–1 defeat to Port Vale.[33][34] He returned to Reading having scored once in seven appearances after Shrewsbury manager Graham Turner decided against renewing his loan.[35] On his decision not to extend Ugwu's stay, Turner commented that despite a positive start, he felt criticism from the fans had impacted on his performances.[36]
On 2 August 2014, Ugwu joined Scottish League One side Dunfermline Athletic.[41] He made his debut days later, coming on as a substitute in the 88th minute of the Scottish Challenge Cup match against Raith Rovers.[42] On 23 August 2014, Ugwu scored twice in 3–0 home victory over Airdrieonians, netting in the 24th and 80th minute.[43] On 22 November 2014, Ugwu scored his first career hat-trick in a 4–0 home victory against Stirling Albion, netting all three goals in the space of 60 minutes.[44]
Yeovil Town
Following his release from Dunfermline, Ugwu rejoined Yeovil Town on 15 January 2015 until the end of the season.[45] Despite finishing the season as Yeovil's joint top goalscorer with five, Ugwu was released by Yeovil at the end of the 2014–15 season following their relegation to League Two.[46]
Wycombe Wanderers
On 9 September 2015, Ugwu signed a permanent deal with Wycombe Wanderers to the end of the 2015–16 season.[47] Three days later, Ugwu was given his debut by manager Gareth Ainsworth in Wycombe's 2–1 home defeat against Plymouth Argyle, playing the full 90 minutes.[48] A week later, Ugwu went onto score his first goal for Wycombe Wanderers in their 1–1 draw with Leyton Orient, opening the scoring just before half time.[49] On 30 January 2016, Ugwu scored the winner in Wycombe's reverse fixture against Plymouth Argyle, netting the only goal of the game in the 3rd minute.[50]
On 9 May 2016, it was announced that Ugwu would leave the club upon the expiry of his contract on 30 June 2016, along with team-mates; Max Kretzschmar, Alex Lynch and Ryan Sellers.[51]
Woking
On 15 July 2016, Ugwu joined National League side Woking on a one-year deal.[52] On 6 August 2016, Ugwu made his Woking debut in a 3–1 home defeat against Lincoln City, playing the full 90 minutes.[53]
On 27 August 2016, Ugwu scored his first Woking goal in a 4–1 defeat against York City, netting the opener in the 8th minute.[54] Two days later, Ugwu went on to score Woking's third against Chester, in the Cards first victory of the 2016–17 campaign.[55] On 18 October 2016, in an FA Cup fourth qualifying round replay against Torquay United, Ugwu scored a brace to send Woking through to the first round.[56] In following round of the FA Cup, Ugwu once again scored a brace to assist Woking to a 4–2 victory over Stockport County.[57] On 26 November 2016, Ugwu scored his first Woking hat-trick in a 3–0 home victory against Gateshead, sealing his 12th goal of the season.[58] On 1 April 2017, Ugwu came off the bench to score the winner in Woking's 2–1 victory over Sutton United, after being dropped for new signing Jamie Lucas.[59] On 17 April 2017, Ugwu scored his 20th goal of the campaign, in Woking's 3–2 away victory against Chester, converting a penalty in the 91st minute.[60]
Chesterfield
On 25 May 2017, Ugwu joined League Two side Chesterfield on a two-year deal.[61] On 5 August 2017, Ugwu made his Chesterfield debut during their 3–1 home defeat against Grimsby Town, featuring for the entire 90 minutes.[62] Following sustaining a long-term thigh injury in late 2017, Ugwu returned to action during Chesterfield's penultimate fixture of the season, replacing Jerome Binnom-Williams with nineteen minutes to play in the 2–1 defeat.[63]
Ebbsfleet United
Having finished the 2018–19 season on loan at Ebbsfleet United, Ugwu joined the club on a permanent basis on 24 June 2019.[64]