Mainly used on special teams
James had six receptions for 160 yards and a touchdown in 2019, spending most of his time as a return man for the 49ers.
Huge kick return Saturday
James ripped off an 81-yard kickoff return but did not receive a target on offense in Saturday's 34-31 win over the Rams.
Plays three snaps Sunday
James only played three snaps in Sunday's 29-22 loss to the Falcons.
Starts, but used sparsely
James technically started Sunday's win over Green Bay, but did not have a target and finished with just 12 snaps on offense.
Not used on offense
James did not receive a target in Sunday's 51-13 win over Carolina.
Connects on big gain
James hauled in his lone target for 40 yards in Sunday's 9-0 win over the Redskins.
Sticks to special teams
James did not receive a target in Sunday's 20-7 win over the Rams.
Plays just six snaps on offense
James was not targeted in Monday's 31-3 win over the Browns.
Two catches in win
James caught two passes (three targets) for 22 yards in Sunday's 24-20 win over the Steelers.
Four targets Sunday
James caught one of four targets for seven yards in Sunday's 41-17 win over the Bengals.
Maximizes only catch
James brought in one of two targets for a 39-yard touchdown in the 49ers' 31-17 win over the Buccaneers on Sunday.
Makes 53-man roster
James was one of seven wide receivers kept on the 53-man roster following Saturday's deadline, Matt Maiocco of NBC Sports Bay Area reports.
Has one catch Thursday
James caught his lone target for seven yards in Thursday's preseason finale against the Chargers.
Leads team in receiving
James caught all four of his targets for 66 yards in Saturday's preseason win over Kansas City.
Six catches Saturday
James caught six of seven targets for 31 yards in Saturday's preseason opener against the Cowboys.
Struggles at minicamp
James was outplayed by Trent Taylor during the offseason program, Matt Maiocco of NBC Sports Bay Area reports.