Over the last month or so, the question I have been asked most by Niners fans is, “Why is Kyle Shanahan’s offense so bland?”

The answer is quite simple but hardly not satisfying:

His players are bland.

Yes, some of the same players who comprised one of the best offenses in NFL history in 2023 are leaving Shanahan and the Niners wanting. Others have been promoted to roles beyond their capabilities.

It leaves you groaning “blah” on most game days this season.

The obvious example here is Deebo Samuel. He might be tweeting through it, alleging he is still the same game-breaking player he once was, but the eye in the sky doesn’t lie. Samuel’s side-to-side agility has been zapped this season, and without his ability to create space or make defenders miss in the open field, the Niners offense’s “cool” factor is gone.

Think about it like chess. Samuel used to be a bishop, knight, or rook — take your choice, but he was a valuable, board-changing piece for Shanahan. Now, he’s a pawn.

What else can you call someone who needs to be schemed open as a receiver, had five carries for 13 yards against the Bears, and is averaging 2.9 yards per carry (mostly on gadget plays meant for big gains) this season?

Frankly, the Niners have a lot of pawns on the board right now. Jauan Jennings is a marvelous possession receiver, but he’s being asked to play the X role vacated by the injured Brandon Aiyuk. In Shanahan’s ideal offense, the X is a receiver who can win one-on-one in man coverage and force the defense to shift a safety up and to his side of the field. That creates space for the Y (tight end), Z (Samuel), and flanker (previously Jennings) to find space underneath that high coverage, giving quarterback Brock Purdy clear windows to throw the ball on short and intermediate routes, as well as space for those receivers to run with the ball once in possession.

You know, the 49ers offense we’re used to seeing.

But Jennings doesn’t play that game — he’s more suited for the Z receiver spot. Samuel cannot play X (as he can’t win in man-to-man coverage) and rookie Ricky Pearsall, who has roughly a dozen practices with Purdy since July, isn’t yet ready for the gig.

So here we are.

Suffice it to say that the Niners can’t run their best pass-game stuff under the circumstances.

A wonderful, perhaps season-shifting reprieve came Sunday against the Bears, though, as Chicago ran a preseason-level defense — dropping into undisguised zone on more than 80 percent of Purdy’s dropbacks. That was a byproduct of absentee coaching: Everyone knows you play man-to-man against these 49ers.

But Sunday was also the first game the Niners used Guerendo, their rookie fourth-round pick and the fourth running back on the training camp depth chart, as the primary running back.

And while he is no Christian McCaffrey, his skillset should demand a similar respect.

In fact, considering McCaffrey’s slow restart after injury, the Bears game was the first time all season the Niners had a McCaffrey-like player—one who can run for 100 yards and add 100 receiving—in the backfield.

Is it any surprise it was their best offensive game of the season? They were finally able to run the offense they installed in the summer.

When the Niners had Jordan Mason in the backfield for the first eight games of the season, opposing teams were happy to play man-to-man because Mason was a sub-par receiver.

Put a linebacker or a safety on him — what’s he going to do?

That’d be a death sentence against a healthy McCaffrey.

It looked the same with Guerendo, a former college receiver with historic speed for a player his size.

He had two catches on Sunday where he left Bears defenders scrambling to recover. Competent teams would look at that tape and say, “We need to play zone, or he’s going to burn us.” They’d be playing into the Niners’ hands in the pass game.

Guerendo might be a no-name who made his first NFL start Sunday, but he was no pawn. And cool players allow coaches to make cool play calls. They also tilt the field so less versatile and adaptable players can impact the game.

So, the possibility of not having Guerendo (foot sprain, didn’t practice this week) for tonight’s game is more significant than you might think.

His backups — running backs Nos. 5 (Patrick Taylor Jr.) and 6 (Ke’Shawn Vaughn) — are one-dimensional players.

They don’t give the Niners’ offense the upper hand it has been missing all year, save for perhaps Sunday.

And when the 49ers’ offense lacks versatile players, it allows the defense to set the terms of engagement.

Those teams might still give the Niners the looks they want to see — the defensive plays they can attack — but that’s just wishful thinking. This is the NFL, after all.

In the meantime, the Niners need to hope that Guerendo’s foot is good enough to play tonight.

His is the latest injury San Francisco simply cannot afford.