Al Draft NBA 2014, venne scelto come 24º scelta assoluta dai Charlotte Hornets, per poi essere ceduto quasi subito ai Miami Heat, i quali puntarono molto forte sul play ventitreenne.[1] Il 14 dicembre 2014 venne mandato in D-League ai Sioux Falls Skyforce.[2] Venne richiamato dagli Heat due giorni dopo,[3] per poi essere rispedito agli Skyforce il 31 dicembre.[4] L'8 gennaio 2015 venne richiamato dai Miami Heat.[5] Il 21 febbraio 2015 nella gara vinta 111-87 contro i New York Knicks mise a referto 18 punti,7 rimbalzi e 6 assist.[6] Il 2 aprile 2015 Napier terminò la sua stagione anzitempo a causa di un'ernia.[7] In totale con la canotta degli Heat disputò 51 partite, di cui 10 da titolare, mettendo a segno in totale 261 punti e con il 78,6% nei tiri liberi e il 36,4% nei tiri da 3.
Il 28 luglio 2015 venne ceduto via trade dai Miami Heat all'altra squadra della Florida, gli Orlando Magic.[8] Il 12 novembre dello stesso anno Napier nella gara vinta 101-99 contro i Los Angeles Lakers segnò 22 punti.[9] Tuttavia nemmeno a Orlando Napier riuscì a imporsi, venendo ceduto a fine stagione.
L'8 luglio 2016 venne ceduto ai Portland Trail Blazers in cambio di una somma di denaro.[10] Dopo aver passato buona parte della stagione come riserva di Damian Lillard, l'11 aprile 2017 segnò 32 punti (migliorando così il suo record personale) nella gara vinta per 99-98 contro i San Antonio Spurs; in quella gara Napier partì titolare proprio al posto di Lillard.[11][12] Giocò le sue prime partite di playoffs con i Trail Blazers, disputando tutte le partite nella serie persa per 4-0 contro i Golden State Warriors, futuri campioni NBA.
La stagione successiva trovò maggiore spazio in uscita dalla panchina.
Il 28 gennaio 2023 l'Olimpia Milano annuncia un accordo fino al termine della stagione[14] in cui contribuisce alla conquista dello scudetto.
La stagione successiva passa alla Stella Rossa ma il 21 dicembre 2023 l'Olimpia annuncia il ritorno del giocatore nel roster.[15]