Udoka was the last player invited to his hometown Portland Trail Blazers training camp before the 2006–07 season, getting the invite only after Aaron Miles failed a physical. Despite the death of his father during the preseason, Udoka impressed the coaching staff with his defense and professionalism, and improbably, made the team. After having played in only 12 NBA games in his career, Udoka started in 75 games played in the 2006–07 season. He played 28.6 minutes per game while averaging 8.4 points, 3.7 rebounds, and 0.9 steals.
In 2007, Udoka signed a contract with the San Antonio Spurs. He played in 73 games averaging 5.8 points and 3.1 rebounds in 18 minutes. On his second season with the Spurs, Udoka played in 67 games, and started in three. He averaged 4.3 points and 2.8 rebounds in 15.4 minutes.
Following the 2009 season, Udoka became a free agent, eventually re-signing with the Trail Blazers. He was waived by the Blazers on October 22, 2009, but signed with the Sacramento Kings on November 4, 2009. He played 69 games with the Kings, averaging 3.6 points and 2.8 rebounds in 13.7 minutes.
On November 24, 2010, Udoka rejoined the San Antonio Spurs, but he was waived on January 5, 2011 after playing only 20 games.
On December 15, 2011, Udoka signed with the New Jersey Nets. However, he was waived on December 23, 2011.
In January 2012 he signed with UCAM Murcia, a team in the Spanish ACB League.
In August 2012, Udoka joined the San Antonio Spurs as an assistant coach. Udoka would win his first championship after the Spurs defeated the Miami Heat in the 2014 NBA Finals 4 games to 1.