In 2017, his first season, Roberts appeared in 18 matches as a freshman, and became a mainstay in the starting lineup as a freshman.[1] As a sophomore in 2018, Roberts scored five goals in 18 appearances for the Thundering Herd.[1] He was also named the Conference USA Offensive Player of the Week in early November.[4] In 2019, Roberts played in 18 matches, scoring eight times.[1] He was named to the All-Conference USA second team.[5] As a result of the COVID-19 pandemic, the 2020 season was postponed to the spring, with the NCAA Tournament also to be played in the spring.[6] Ahead of the spring season, Roberts was drafted by Sporting Kansas City 77th overall in the 2021 MLS SuperDraft.[7] However, he decided to stay at Marshall for his senior season.[8] In the spring 2020 season, Roberts scored 2 goals in 13 regular season games.[1] However, he came alive in the NCAA Tournament, scoring a goal in three straight games for Marshall (vs. Georgetown, vs. North Carolina, and vs. Indiana) to propel them to their first ever National Championship win.[9][10]
Sporting Kansas City selected Roberts with the 77th overall pick in the 2021 MLS Draft.[12] After deferring joining the organization until after his senior season at Marshall, Roberts signed with the club's USL Championship affiliate Sporting Kansas City II on 1 July 2021.[13] Roberts made his professional debut with the club on 10 July 2021 in a 1–0 victory over Atlanta United 2 when he subbed in during the 67th minute.[14] He scored his first professional goal on 12 August 2021 in a 4–2 loss vs. Birmingham Legion FC.[15][16] He went on to make 16 appearances and scored 2 goals for the club.[17] Following the 2021 season, Kansas City opted to declined their contract option on Roberts.[18]