5. Richie James Jr.
James is one of the most intriguing players on the 49ers’ roster. The 2018 seventh-round pick hasn’t been able to carve out a significant role as a receiver, but he’s been productive when he does get looks in the passing game. He’s turned just 24 targets into 15 catches, 295 yards and two touchdowns. The explosiveness to average 19.7 yards per reception hasn’t turned into regular playing time for James though, which is a bit concerning when looking at his status moving into the third year of his career. He’s done a fine job as a returner, but roster spots at receiver aren’t going to be easy to come by. He’ll need to prove more consistent as a pass catcher to ensure he lands on the final roster.