Wiki under construction. Many concepts here are from alpha 0.2 and may still change. The wiki will be finalised for version 1.0 — for now it's here to help closed testers and, later, early-access players find their way around. For the most up-to-date and accurate info, join the Discord — that's where changes are announced first and where you can ask directly.

Join the Discord for the latest info

My Team

Your driver line-up — Primary, Secondary and Reserve seats, and how to swap, promote, fire or replace them.

Work in progress. First draft is here, but content may evolve and screenshots are still being added. Spotted something wrong? Tell us on Discord.
On this page

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.

RoleCar slotRaces?Practice / QualifyingOther duties
PrimaryCar 0YesYes — gets a plan cardCounts toward the 2-car minimum
SecondaryCar 1YesYes — gets a plan cardCounts toward the 2-car minimum
ReservenoneNoNo card at allDrives 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:

  1. Private Testing needs him. test_track_driver is literally “the driver whose role is Reserve”. With no Reserve, the standing test-track programme returns IdleNoReserve every 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.
  2. 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_budget immediately (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

RowMeaning
SalaryPer-GP. Negative = pay driver — he brings sponsorship money instead of taking a salary.
Contractexpires 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
HappinessMorale 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:

TermValue
Base50
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 teammatetrait-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.happiness and 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 speedhappiness_factor scales stat growth: >70 gives 1.0 + (h−70)/100 (up to ×1.3 at 100); <50 gives 0.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 season overrides 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