SANTA CLARA – Tank Carradine started for the 49ers on Sunday at right defensive end, but rookie Solomon Thomas saw the bulk of the playing time at that position.

The 49ers got off to a rough start in Kyle Shanahan’s debut as head coach on Sunday with a 23-3 loss to the Carolina Panthers at Levi’s Stadium.

Thomas, the No. 3 overall draft pick, played 64 percent of the 49ers’ defensive snaps. Carradine played 46 percent of the defensive plays. Thomas had a rough opener, failing to get any pressure on Panthers quarterback Cam Newton on 19 passing downs, according to Pro Football Focus.

The 49ers got pressure on Newton on only seven of his 27 drop-backs throughout the game. DeForest Buckner provided about the only pass rush for the 49ers with one quarterback hit and four hurries, according to PFF.

Rookie linebacker Reuben Foster played just 11 snaps before exiting the game with a right ankle sprain. In his limited duty, he registered a high grade with three tackles and a pass broken up.

On offense, Zane Beadles had lowest PFF grade of any guard through Sunday’s games in Week 1. Beadles allowed a quarterback sack – a game-turning sack-strip against Carolina defensive lineman Wes Horton. He also surrendered a quarterback hit and four hurries while in pass protection.

The 49ers’ best performance on the offensive line came from right tackle Trent Brown, according to PFF. Brown did not allow a quarterback pressure on 41 pass-blocking snaps.

Quarterback Brian Hoyer completed 24 of 35 pass attempts, but struggled on passes down the field. He completed just two of 10 attempts downfield for 26 yards with one interception and an on-target deep ball that Marquise Goodwin dropped.

Here is a look at the 49ers’ playing time on offense, defense and special teams:

OFFENSE

Quarterback – Brian Hoyer 57

Running back – Carlos Hyde 45, Kyle Juszczyk 19, Matt Breida 12, Raheem Mostert 1

Wide receiver – Pierre Garçon 50, Marquise Goodwin 50, Trent Taylor 24, Aldrick Robinson 10, Kendrick Bourne 3

Tight end – George Kittle 54, Garrett Celek 14, Logan Paulsen 3

Offensive line – LT Joe Staley 57, LG Zane Beadles 57, C Daniel Kilgore 57, RG Brandon Fusco 57, RT Trent Brown 57

DEFENSE

Defensive line – DeForest Buckner 53, Arik Armstead 51, Solomon Thomas 43, Earl Mitchell 38, Tank Carradine 31, Elvis Dumervil 16, D.J. Jones 15, Xavier Cooper 14

Linebacker – NaVorro Bowman 66, Ray-Ray Armstrong 45, Eli Harold 30, Dekoda Watson 15, Reuben Foster 11

Cornerback – Dontae Johnson 67, Rashard Robinson 67, K’Waun Williams 29

Safety – Jaquiski Tartt 67, Eric Reid 67, Lorenzo Jerome 12

SPECIAL TEAMS

Brock Coyle 19, Mostert 14, Watson 14, Adrian Colbert 13, Armstrong 12, Celek 12, Harold 12, Johnson 11, Keith Reaser 10, Breida 10, Tartt 9, Reid 9, Robinson 8, Bradley Pinion 7, Paulsen 7, Bourne 7, Carradine 6, Kyle Nelson 5, Buckner 5, Armstead 5, Mitchell 5, Jones 4, Juszczyk 4, Taylor 3, Jerome 2, Robbie Gould 1, Garry Gilliam 1, Staley 1, Beadles 1, Kilgore 1, Fusco 1, Brown 1

DID NOT PLAY

QB C.J. Beathard, OL Erik Magnuson

INACTIVE

WR Victor Bolden, CB Ahkello Witherspoon, DB Jimmie Ward (hamstring), LB Pita Taumoepenu, LB Aaron Lynch (back), OL John Theus, OL Laken Tomlinson