The 49ers’ roster bubble going into the final preseason game features a slew of players who’re going to miss San Francisco’s roster, but land with another team. General manager John Lynch and head coach Kyle Shanahan find themselves in a position unique to their third year together – they’re going to have to cut NFL-caliber players.
The bubble is also full of players who were on the 2018 club. Here is a look at five players on the edge of the 53-man roster who were on last year’s team:
DB Adrian Colbert

Colbert went from contender for a starting job to the roster bubble after getting surpassed on the depth chart by Tarvarius Moore and Jimmie Ward. The third-year safety didn’t help his chances to make the roster by getting ejected from the first preseason game after seven plays, then not playing in the third preseason contest due to an injury. There’s still a chance for Colbert to make the team, but numbers at the safety position and needs elsewhere on the roster could push him out.
OL Joshua Garnett

A huge preseason didn’t go well for Garnett, who’s played only 22 games with 11 starts since coming in as a first-round pick in 2016. He missed all of 2017 with a knee injury and spent most of last year inactive with three different injuries. This year didn’t go much different for Garnett. He dislocated a finger that wouldn’t heal itself and needed surgery. That forced him out of the first two preseason games, and he didn’t play in the third contest. Garnett’s only way onto the roster was to perform well, and not performing at all has pushed him to the bubble despite a lack of offensive line depth in San Francisco.
RB Jeff Wilson Jr.

It’s not typically good to be on the roster bubble, but Wilson was all the way outside prior to Jerick McKinnon’s latest setback in his recovery from a torn ACL. Wilson had a good year last year in limited action as an undrafted free agent, then he came back with a very good showing this preseason. San Francisco may not want to risk Wilson getting scooped off waivers, and he could land on the roster if McKinnon goes on season-ending IR.
WR Kendrick Bourne

Numbers at receiver have pushed Bourne to the bubble. The team’s leading wide receiver from last season has battled some inconsistency and suddenly finds himself without a sure roster spot. There’s a chance Shanahan’s already made his decision at receiver, but Bourne needs a strong showing in the final preseason contest if he’s going to nail down a job in his third season with the 49ers.
WR Richie James

James’ lack of a role in last year’s banged up receiving corps wasn’t promising for his chances to make this year’s club after improvements at the position. However, he’s done a nice job in the preseason with the starters, and he’s continued to flash big-time playmaking potential in the return game. James’ job should get some support from his versatility, but a big game Saturday would help too.