Preseason games don’t count, but they do matter. Especially for players trying to make the team, and for a team with three young quarterbacks who need reps. That was the case for the San Francisco 49ers Friday night, as they hosted the Green Bay Packers.

The good news is that all three signal-callers looked good. There was a lot to like (and a few things to dislike) for 49ers fans. I saw my fair share of good and bad. Here are my 21 quick observations from the 49ers’ preseason win over the Packers.

  • Kemoko Turay was everywhere and was disrupting things the entire time he was in the game. That’s a good sign.
  • Tarvarius Moore is so talented. But he makes too many mistakes. The way he got beat in the first quarter for the touchdown was bad. Talanoa Hufanga will be the starting strong safety.
  • Speaking of Hufanga—he almost killed a Green Bay running back Friday night. big hit.
  • Justin Skule looked rusty.
  • Trey Lance looked sharp, though. He used his legs well and even slide, instead of trying to run over a defender. That’s progress. And that 76-yard touchdown pass to Danny Gray was pretty.
  • By the way, Gray is really fast.
  • The 49ers kickoff team gave up a long kick return. Let’s hope that was a fluke.
  • It’s great to see Kerry Hyder, Jr. and Javon Kinlaw back on the field for the 49ers. They both should make a big impact this season.
  • Marcelino McCrary-Ball looks fast and has great moves. After his interception, he had a 56-yard return. And he’s an undrafted rookie. He’s a keeper!
  • Nate Sudfeld’s first pass was a 39-yard touchdown pass to Ray-Ray McCloud. McCloud was wide open. Nice throw. Even better route.
  • McCloud will be dangerous with the ball in his hands—for the 49ers, and against the 49ers. He’ll make some big plays, but he’ll also put the ball on the ground. He fumbled the ball away in his first half with his new team.
  • Rookie corner Samuel Womack III makes me think Darqueze Dennard won’t be a starter very long. Womack had two picks in his first NFL game and made a number of other plays, too. He was great.
  • Ambry Thomas, however, did not look good to me.
  • Drake Jackson, the 49ers’ first draft selection in April, made some plays before leaving with a shoulder stinger.
  • JaMycal Hasty looked good with the ball in his hands. Except for one mistake on a kickoff return, in which he touched the ball, then stepped out of bounds. The ball might have gone out of bounds on its own, but Hasty didn’t have much time to decide. He should learn from that.
  • Ty Davis-Price ran the ball well, too. He had one run, that gained 10 yards, that if he does n’t slip, he could’ve gone for a lot more. Davis-Price runs with authority and carries piles. But he can’t catch.
  • Sudfeld looked good. He had some nice touch passes and showed some decent mobility.
  • Let’s hope Keaton Sutherland never has to play. I’m sure Kiefer Sutherland would agree, as well. (Yea, I know. That was weak.)
  • Spencer Burford was throwing people around. I like him.
  • Brock Purdy looked solid. The touchdown pass, as well as the two-point conversion, were really nice passes. Purdy may have to enter concussion protocol, though, because of the hit he took from his position coach, Brian Griese. Purdy said Griese’s aggressive celebration left the rookie with a cut lip. Tough sport.
  • This rookie class, including some of the undrafted free agents, looks like a really strong class. That’s very encouraging.

Next week, the 49ers travel to Minnesota to spend some time practicing with the Vikings. Then the 49ers will play against Minnesota on Saturday. This will likely be the game that features few, if any, starters.