McRoberts spielte zunächst zwei Jahre für die Duke University, ehe er im NBA-Draft 2007 in der zweiten Runde von den Portland Trail Blazers ausgewählt wurde. Er absolvierte nur 8 Spiele für die Blazers, ehe er im Sommer 2008 zu den Indiana Pacers transferiert wurde. McRoberts spielte drei Jahre in seiner Heimatstadt und schaffte in der Saison 2010/11 seinen Durchbruch, als er in 51 von 72 startete und dabei 7,4 Punkte, 2,1 Assists und 5,3 Rebounds erzielte. Im Dezember 2011 unterschrieb er einen Zweijahres-Vertrag bei den Los Angeles Lakers. Nach der Saison wurde er zu den Orlando Magic transferiert. Im Februar 2013 wurde er für Hakim Warrick zu den Charlotte Hornets, damals noch Bobcats, transferiert. Nach der Saison verlängerte er seinen Vertrag mit den Hornets.