Carriera Club Proveniente dall'Akwa United, Udoh ha firmato un contratto quadriennale coi norvegesi del Viking in data 1º febbraio 2016. Ha esordito in Eliteserien il 10 aprile successivo, subentrando a Karol Mets nella sconfitta casalinga per 0-2 subita contro l'Odd. Il 13 aprile 2016 ha trovato il primo gol con questa maglia, contribuendo alla vittoria per 1-5 sul campo del Vardeneset, in una sfida valida per il primo turno del Norgesmesterskapet.
Il 29 marzo 2017, Udoh è stato ceduto al Levanger con la formula del prestito, valido fino al mese di luglio dello stesso anno: ha scelto di vestire la maglia numero 11. Il 2 aprile ha giocato la prima partita in 1. divisjon, schierato titolare nel pareggio per 2-2 in casa dell'Ullensaker/Kisa. Il 13 maggio è arrivata la prima rete in campionato, con cui ha contribuito al successo per 0-3 sul campo dell'Arendal. Come previsto, a luglio ha fatto ritorno al Viking.
Il 4 agosto 2017, Udoh è stato ceduto ancora in prestito, stavolta agli svedesi del Ljungskile. Il 26 agosto ha debuttato in Division 1, schierato titolare nella sconfitta per 6-1 subita in casa del Karlskrona AIF. Il 23 settembre ha messo a referto le prime reti in squadra, con una doppietta nella vittoria per 2-4 sul campo dell'Assyriska BK.
Tornato al Viking, nel frattempo retrocesso in 1. divisjon, è rimasto in squadra fino alla sessione di calciomercato estiva. Il 6 agosto 2018 ha infatti fatto ritorno al Ljungskile, a titolo definitivo: ha firmato un contratto valido per il successivo anno e mezzo con la compagine svedese.
In vista del campionato 2020, Udoh è stato ingaggiato dai finlandesi del KuPS. L'esordio in Veikkausliiga è arrivato il 1º luglio, quando ha sostituito Rangel nella vittoria per 0-3 in casa dell'HIFK. Il 22 luglio ha siglato la prima rete nella massima divisione locale, nel 3-0 sul Lahti. Il 19 agosto 2020 ha disputato la prima partita nelle competizioni europee per club: è subentranto ancora a Rangel nella sconfitta per 5-0 contro il Molde, sfida valida per i turni preliminari della Champions League.
Statistiche Presenze e reti nei club Statistiche aggiornate al 21 luglio 2021. StagioneClubCampionatoCoppe nazionaliCoppe continentaliSupercoppeTotaleCompPresRetiCompPresRetiCompPresRetiCompPresRetiPresReti 2016 Viking ES 3 0 CN 2 1 - - - - - - 5 1 mar.-lug. 2017 Levanger 1D 11 1 CN 3 2 - - - - - - 14 3 ago.-dic. 2017 Ljungskile D1 10 5 CS - - - - - - - - 10 5 gen.-ago. 2018 Viking 1D 5 0 CN 0 0 - - - - - - 5 0 Totale Viking 8 0 2 1 - - - - 10 1 ago.-dic. 2018 Ljungskile D1 13 10 CS - - - - - - - - 13 10 2019 D1 27 18 CS 0 0 - - - - - - 27 18 Totale Ljungskile 50 33 0 0 - - - - 50 33 2020 KuPS VL 21 7 CF 7 4 UCL+UEL 1+3Presenze e reti nei turni preliminari. 0+2 - - - 32 13 2021 VL 8 2 CF 1 0 UECL 2 1 - - - 11 3 Totale KuPS 29 9 8 4 6 3 - - 43 16 Totale 98 43 13 7 6 3 - - 117 53
Palmarès Club Competizioni nazionali
KuPS: 2021
Note
Altri progetti
Collegamenti esterni