The Team app is your driver line-up: three seats (Primary, Secondary, Reserve), each showing that driver’s full profile page. It is where you swap seats, promote the Reserve, fire someone, or jump to Scouting to fill an empty chair. You will open it before every weekend once you start juggling contracts, and at least once per season to check who is out of contract.
How to open it
- Sidebar → Team (icon 9) — available from any pre-season phase in season 2+; in season 1 it unlocks at Phase 5 (Car Review), once your line-up is locked in.
- Clicking one of your own drivers anywhere (Standings, Hub, News, Debrief, Calendar) opens the same profile page with the same action buttons — the Team app is really just three tabs wrapped around it.
The tab bar under the header reads Primary — XXX · Secondary — YYY · Reserve — ZZZ. Gamepad L1/R1 cycles the three tabs. An empty seat shows a card with a Hire from Scouting button.
The three roles — what each one actually does
Role is not cosmetic. It binds the driver to a car slot (assign_cars_from_roles), and the car slot is what the rest of the game reads.
| Role | Car slot | Races? | Practice / Qualifying | Other duties |
|---|---|---|---|---|
| Primary | Car 0 | Yes | Yes — gets a plan card | Counts toward the 2-car minimum |
| Secondary | Car 1 | Yes | Yes — gets a plan card | Counts toward the 2-car minimum |
| Reserve | none | No | No card at all | Drives the mule in Private Testing |
Every screen that lists “the cars the team is fielding” (practice plan, run plan, loadout, R&D fitting) resolves drivers through seat_index, which returns the driver’s assigned_car. The Reserve has assigned_car = None, so he silently drops out of every one of those lists. He is not “a driver who is skipped” — he simply has no car.
The Reserve is not decoration
Two things make the third seat worth its salary:
- Private Testing needs him.
test_track_driveris literally “the driver whose role is Reserve”. With no Reserve, the standing test-track programme returnsIdleNoReserveevery week and you get a mail saying the programme did not run. All the development-run potential gains are lost. His Intelligence feeds the programme’s output. - He is your insurance. Fire or lose a race driver mid-season and you cannot advance to the next GP with fewer than two Primary/Secondary drivers — the advance button refuses with “Cannot race: team needs Primary AND Secondary drivers.” A Reserve you can promote in one click is much cheaper than an emergency mid-season signing.
The third car
The Weekend Loadout screen offers a 2-car or 3-car entry. Choosing 3 cars brings the mule (car slot 2) to the track so its fitted parts count as spares. It is a parts decision, not a driver decision — the mule still does not race.
The ACTIONS panel — Fire / Switch / Promote
These buttons live in the profile’s ACTIONS panel and appear only for drivers on your own roster. All four are greyed out whenever weekend_plan is set — i.e. from the moment you confirm the Weekend Loadout until the GP is over. Hovering a greyed button explains: “Roster locked during the race weekend — finish the GP first.”
Switch Primary ↔ Secondary
Two-click (confirmation popup). Both seats must be filled or it errors with “Both Primary and Secondary seats must be filled.” Swapping the roles swaps the cars too — car 0 and car 1 exchange drivers, along with everything fitted to them.
Promote to Primary / Promote to Secondary
Shown on the Reserve tab only. The Reserve takes the target seat and the incumbent drops to Reserve. Cars are re-seeded from the new roles, so the promoted driver inherits the seat’s car (and the demoted one loses his).
Fire — buyout $X
The button label quotes the exact cost before you click:
buyout = gps_per_season × contract_years × |salary_per_gp|
gps_per_season is the live calendar length (save.calendar.len(), 20 by default) — it is never hard-coded, so a longer championship makes firing proportionally more expensive. |salary_per_gp| uses the absolute value, so firing a pay driver still costs you money: a driver bringing $50K/GP on a 2-year deal costs 20 × 2 × 50,000 = $2,000,000 to release.
On confirmation:
- the buyout is debited from
current_budgetimmediately (it can push you negative — see the 3-red-GP bankruptcy rule), - the driver is released into the free-agent pool with his happiness reset to 70, so he will negotiate with you again without prejudice,
- his asking salary is re-rolled from his current stats on the way out (deterministically, seeded on his code + stats), not frozen at the deal you had him on.
There is no reputation penalty for firing in the current build. The cost is the cash and the empty seat.
Favourites
Every profile also carries ☆ Add to favourites. Starred drivers can be isolated with the ★ Favorites filter in Scouting → Known Drivers. Pure bookkeeping, no mechanical effect.
The seat panels — what the numbers mean
Each tab renders the standard Driver Profile, so you get the full identity block, attributes, traits and career record. Two panels matter most from the Team app:
CONTRACT
| Row | Meaning |
|---|---|
| Salary | Per-GP. Negative = pay driver — he brings sponsorship money instead of taking a salary. |
| Contract | expires this season (1 year left) · N seasons left · extended — N season(s) from next year (a mid-season renewal not yet applied) · retiring at the end of the season · team folded — free at the end of the season |
| Happiness | Morale 1-100. Green ≥66, amber ≥40, red below. |
Contracts are always honoured to term. An unhappy driver who missed his objective is flagged “unsettled” in the season review mail and will be hard to re-sign — but he never walks out mid-contract.
Happiness — the exact model
Recomputed after every race (compute_driver_happiness) as a target score, then blended 0.6 × old + 0.4 × new:
| Term | Value |
|---|---|
| Base | 50 |
Salary ≥ avg_stat × 5000 | +10, otherwise −5 |
| Team reputation | +reputation / 10 (0 to +10) |
| Racing above his ambition tier | +3 per tier (a driver whose sights were PF3 is +6 in the PFS) |
| Win | +15 · Podium +10 · P4-6 +5 · P7-10 +2 · P11-15 0 · worse −3 |
| DNF | −8 |
| Toxic teammate | trait-driven malus applied to the target, so it converges to a lower plateau rather than compounding |
The first race after signing uses the computed value directly (no blend) because a fresh driver sits at the default 70.
What happiness actually changes (verified in code):
- Race pace — happiness rides into the session grid on
CarEntry.happinessand shifts the driver’s effective pace on every tick: 100 happiness is worth +2.0 pace, 50 is neutral, 0 costs −3.0 pace (linear on each side, then clamped to the 1-20 scale). Pace spans a 3 % lap-time spread across its full 1-20 range, so the swing between a delighted and a miserable driver is worth roughly a quarter of a second per lap — small in isolation, decisive over a stint. - Development speed —
happiness_factorscales stat growth: >70 gives1.0 + (h−70)/100(up to ×1.3 at 100); <50 gives0.5 + h/100(down to ×0.5 at 0); 50-70 is neutral ×1.0. - Renewal odds — in the AI’s mid-season renewal pass, a driver below 35 happiness takes a flat −0.20 on his acceptance roll.
- Wants-out — missing his season objective and sitting below 35 happiness sets the unsettled flag at season end.
Persistent career stats
The QUICK RECORD panel and the CAREER RECORD table are all-time and survive everything: firing, contract expiry, a rival poaching him, even retirement (retirees who hold a PFS record are archived into the hall of fame). Counters bumped after each race are starts, wins, podiums, poles, top-tens, best finish, best championship, and championships won.
The quick record filters to the series the driver is currently engaged in. For a driver on your payroll that is always PFS, so his PF2/PF3 junior seasons are excluded from the headline totals — but they are still listed, with their series chip, in the per-season table below.
Advanced
- Firing is billed on the calendar, not on 20. A 24-race season makes every buyout 20 % more expensive than the default. Check the calendar length before a mid-season clear-out.
- The buyout is the full remaining contract. Signing a strong driver on a 3-year deal is a 3× more expensive mistake than a 1-year deal at the same salary. Long contracts are a commitment, not a discount.
- Switch swaps cars, so it swaps part condition. If car 0 has a fresh engine and car 1 a 4-race-old one, a Switch hands the fresh engine to the other driver. Do it before the Loadout, never as a reaction to a bad qualifying.
- Season-end objective grading moves the salary line. Exceeded = +15 happiness and ×1.10 salary; Met = +6 and ×1.0; Missed = −14 and ×0.92. The upward scaling is capped by a stat-based ceiling (
150,000 + stat_ratio × 850,000, i.e. $150K-$1M/GP) — but the cap never cuts a higher deal you negotiated yourself. Pay drivers keep their sign: a pay driver never flips into a paid driver through grading. - An empty seat auto-fills at the pre-season Drivers phase. Ending that phase with fewer than two race seats first promotes your own Reserve into the empty seat, and only then emergency-signs the weakest affordable pool driver at half his asking salary (a quarter for a Reserve). Those emergency contracts are 1 year and always bad.
retiring at the end of the seasonoverrides the paper. Whatever the contract says, that seat is a vacancy next year and he cannot be re-signed.
Common mistakes
- Running without a Reserve to save salary. You lose the entire Private Testing programme (silent potential gains every week) and you have no mid-season insurance. A cheap Reserve is one of the best value slots on the roster.
- Firing during a race weekend and blaming the UI. Every roster action is locked from Loadout confirmation to chequered flag. The buttons are grey, not broken.
- Forgetting that a pay driver’s buyout is positive.
|salary_per_gp|— releasing a pay driver costs cash and removes his income. - Switching seats after Loadout expecting the parts to follow the driver. They do not; the parts stay on the car and the driver moves to the other car.
- Signing a 3-year deal for a driver you are unsure about. The buyout triples with the term.
- Reading the Quick Record as an all-series total. For a signed driver it is the PFS-only slice. His PF2 title is in the season table, not in the headline “Championships” row.
See also
- Driver Profile — the page the Team app hosts, panel by panel
- Scouting — finding and signing the replacements
- Driver Academy — growing your own line-up
- Mid-season signing window — the GP-10 renewal round
- Private Testing — the programme the Reserve runs
- Weekend Loadout — the 2-car / 3-car entry decision
- Finance — where the buyout lands
- Driver traits — Toxic teammates and the rest