Computed from every play, garbage time excluded. FBS rank among players with enough volume
| Defense | Value | FBS rank |
|---|---|---|
| Havoc plays | 1 | 1749th / 2573 |
| Tackles for loss | 0 | — |
| Run stops | 0 | — |
| Sacks | 0 | — |
| Pass breakups | 1 | — |
| Interceptions | 0 | — |
| Forced fumbles | 0 | — |
| Tackles | 4 | — |
Where McWilliams's plays went: throw and catch spots, air yards and yards after the catch, read from the play-by-play
The play-by-play names the defender on breakups, interceptions and tackles, but not the man in coverage on every throw, so true times-targeted isn't in the text. Coverage plays is the closest stand-in; exact targets come from hand charting.
Roddrey McWilliams's box score, game by game, from ESPN, with a 0–10 game score for each (hover it for how it works). Click a result for the full game
| Defense | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Wk | Opponent | Result | Game score | Tkl | Solo | TFL | Sacks | Hur | PD | INT | TD |
| 1 | W 20–13 | 4.0 | 1 | 1 | 0 | 0 | 0 | 0 | · | · | |
| 2 | W 87–3 | — | no stats recorded | ||||||||
| 3 | @ | W 26–13 | 5.4 | 0 | 0 | 0 | 0 | 0 | 1 | · | · |
| 4 | @ | W 46–20 | 4.7 | 2 | 1 | 0 | 0 | 0 | 0 | · | · |
| 5 | W 45–17 | 2.5 | 1 | 0 | 0 | 0 | 0 | 0 | · | · | |
| 6 | @ | W 27–24 | 4.7 | 2 | 1 | 0 | 0 | 0 | 0 | · | · |
| 7 | W 49–22 | 2.5 | 1 | 0 | 0 | 0 | 0 | 0 | · | · | |
| 2026 · 6 games | 4.0 | 7 | 3 | 0 | 0 | 0 | 1 | · | · | ||
FBS rank among qualifying players
| Defense | 2026 | FBS rank |
|---|---|---|
| Tackles | 7 | 2498th / 5408 |
| Solo | 3 | — |
| Tackles for loss | 0 | — |
| Sacks | 0 | — |
| QB hurries | 0 | — |
| Passes defended | 1 | 704th / 1589 |
| Defensive TD | 0 | — |
Estimated snaps from a model trained on real NFL snap counts. Ranges in brackets are where the real number lands 80% of the time: wide for a single game, tighter over the season. How it works
| Game | Start | Opp. plays | Est. snaps | Plays made | Snap share |
|---|---|---|---|---|---|
| Wk 1 · Liberty | ✓ CB | 66 | ~6 (0–19) | 1 | 9% |
| Wk 3 · San Diego State | — | 77 | ~8 (0–25) | 1 | 10% |
| Wk 4 · Old Dominion | — | 68 | ~11 (0–34) | 2 | 16% |
| Wk 5 · Marshall | — | 81 | ~10 (0–31) | 1 | 12% |
| Wk 6 · Georgia Southern | — | 65 | ~46 (19–49) | 2 | 71% |
| Wk 7 · Georgia State | — | 66 | ~8 (0–25) | 1 | 12% |
| Season | 1 GS | 490 | 89 (3–78) | 8 | 18% |
21 DBs on the James Madison roster, ordered by tkl
| # | Player | Pos | Class | Tkl | TFL | Sacks | INT | PD |
|---|---|---|---|---|---|---|---|---|
| 24 | Jayon Harvey | S | JR | 49 | 1.5 | 0 | — | 3 |
| 31 | Seth Gathers | S | SO | 33 | 0.5 | 0 | — | 3 |
| Ken Willis | CB | 27 | 5 | 1 | 1 | 2 | ||
| 14 | KJ Flowe | S | JR | 21 | 2 | 0 | — | 4 |
| 16 | TJ McGill | S | SR | 16 | 0 | 0 | — | 1 |
| 6 | DJ Kelly | CB | SO | 14 | 0 | 0 | 4 | 3 |
| 25 | Terrence Jones | S | JR | 10 | 1.5 | 0 | — | 0 |
| 7 | Roddrey McWilliams | CB | SO | 7 | 0 | 0 | — | 1 |
| 11 | LaRon Dues | CB | FR | 7 | 1 | 0 | — | 1 |
| 1 | Damier Minkah | CB | SR | 4 | 0 | 0 | — | 0 |
| 27 | Jamal Olford | CB | SO | 4 | 0 | 0 | 1 | 1 |
| 22 | Chase Regan | S | JR | 3 | 0 | 0 | — | 0 |
| 30 | D'Kwan Thomas | S | FR | 3 | 0 | 0 | — | 0 |
| 35 | Joshua Prince | S | JR | 1 | 0 | 0 | — | 0 |
| 41 | George Lovelace | CB | JR | 1 | 0 | 0 | — | 0 |
| 7 | Javis Mynatt | S | SR | — | — | — | — | — |
| 18 | Jase Rhodes | S | FR | — | — | — | — | — |
| 28 | Kamden Jennings | CB | FR | — | — | — | — | — |
| 32 | Chase Miller | S | SR | — | — | — | — | — |
| 33 | Trey Gibson | CB | FR | — | — | — | — | — |
| 47 | Kevin Kabasele | S | JR | — | — | — | — | — |
Stats, EPA and usage come from CollegeFootballData.com and refresh daily. FBS ranks only count players with enough volume for the stat to mean something. Qualifying for EPA takes —+ plays per team game. James Madison depth chart →