Using the Garage

This chapter is the full tour of the garage as the player experiences it - and of the rules underneath, which you will want to understand when wiring the Tuner into your game. No setup here; if you have not run the demo yet, do Quick Start first.

Getting in and out. In the demo, press T (the RCCPT_OpenCloseHotkey component - it needs Unity's Input System package) or call OpenGarage() from your own code. You leave through the exit button - the X at the far right of the top bar. Only that button asks before discarding a staged cart; the hotkey and the scripting call discard immediately and silently.

The Top Bar

The strip across the top is always visible and never scrolls away:

Element What it shows
Vehicle name The car you are shopping for. It reads Display Name from the vehicle's RCCPT_VehicleId if you filled it in; otherwise the Tuner tidies up the GameObject name (RCCP_PrototypeVehicle_Skyline becomes PROTOTYPE VEHICLE SKYLINE). Set Display Name so your players see a real car name - Scene Setup.
Wallet Your current balance, formatted by the economy config (symbol, thousands separator). It rolls up when you earn.
+ button A test-only button that grants free credits. It ships enabled - turn it off before you build your game (Prices & Economy).
Cart badge How many items are staged. Click to open the cart drawer.
X (far right) Leaves the garage, asking first if the cart is not empty.

The Golden Rule: What the Car Shows

At every moment while the garage is open, the vehicle renders exactly:

   OWNED baseline        what is already yours (RCCP's saved loadout)
 + CART items            everything staged for purchase
 + PENDING tuning        slider changes not yet checked out
 -----------------------------------------------------------------
 = what you would drive away with, if you paid right now

Hovering an item layers one temporary try-on on top of that; un-hovering re-projects the state above. This invariant is why the garage always feels honest: the car never keeps something you have not paid for, and never hides something you have.

The Shopping Flow

                 hover a card
                 ------------>  temporary TRY-ON on the car
                                (reverts the moment the pointer leaves)

                 click a card
                 ------------>  is it OWNED or FREE?
                                   |
                     YES ---------+---------- NO
                      |                        |
              equips instantly          joins the CART
              (no charge, saved)        (car previews it)
                                               |
                                          CHECKOUT
                                               |
                              funds validated for the WHOLE cart
                                   |                    |
                                  OK               not enough
                                   |                    |
                        debited once, every        NOTHING changes
                        item committed + saved

Reading a Card

Every item in the strip is a card, and its price line is the fastest way to know where you stand with it:

The five item-card states side by side - unowned, owned, equipped, in cart, and can't afford

State Price line says The card looks like Clicking it
Unowned the price normal Stages it in the cart
Owned OWNED in green green badge, faded Equips it - free, instantly
Equipped EQUIPPED in green green badge, vivid, green-tinted card Nothing to do; you are wearing it
In cart the price a small cart icon in the card's corner, plus a subtle accent tint Removes it from the cart
Can't afford the price in red whole card dimmed to 55% Still stages it - see below

Two of these trip people up:

Free entries print FREE instead of a price and behave like owned items: one click equips them.

While You Hover

A hover try-on announces itself so the player never mistakes a preview for a purchase:

Both clear the instant the pointer leaves.

Key behaviors, each deliberate:

The Cart Drawer

The drawer lists what you have staged, the running TOTAL, and one line that saves a lot of mental arithmetic:

Line When it shows What it means
REMAINING (green) the cart fits your wallet What your balance will be after checking out
MISSING (red) the cart costs more than you have Exactly how much more you need

MISSING is also the explanation for a greyed-out CHECKOUT button - the button only enables when the whole cart is affordable.

Categories

The left rail lists a category only when both conditions hold: the vehicle supports it (its RCCP_Customizer has the matching manager child) and the catalog set has content for it. Either one missing hides the tab - an empty catalog slot is a normal, deliberate way to hide a category, not an error.

Why a category is missing from the rail - the three gates it has to clear

The full possible set: Paint, Wheels, Engine, Brakes, Handling, Speed, Spoiler, Siren, Decals, Neon, Tuning. If one is missing and you did not expect it to be, work down the three gates above, or see Troubleshooting.

Each category also drives the cinematic camera to a fitting shot - wheels get a low wheel-level view:

The Wheels category - the camera drops to wheel level automatically

Decals

The Decal category adds a four-way location selector (FRONT / BACK / LEFT / RIGHT) above the strip - each side of the car is its own slot, so you can cart four different decals at once. The highlighted button is the side you are currently shopping for; the strip below always refers to that one location. Decals and Neon render only under URP/HDRP and auto-hide on Built-in, matching RCCP itself.

The Paint Studio

The Paint category has up to three sub-tabs (the tab row hides itself when only preset colors are authored). The active tab is highlighted - it takes the theme's accent colour while the other two stay dark, so there is never any doubt about which mode you are in. Paint always reopens on COLORS, even if you left it on CUSTOM or FINISH.

COLORS

The authored preset swatches. Entries without a custom icon render as color swatches automatically.

CUSTOM

A free HSV color picker - hue, saturation, brightness sliders with a live preview swatch. Dragging paints the car live.

The custom color picker - pick any color, the car updates as you drag

The picker itself is a one-time, account-wide unlock: the APPLY button shows the unlock price until it is bought (staged through the cart like anything else), after which any picked color applies instantly and free, forever, on every car.

FINISH

Metallic / smoothness presets - the demo ships Matte, Satin, Metallic, and Chrome - applied on top of whatever color the car wears:

The FINISH tab - factory card plus four finish presets

Performance Upgrades and the Stat Panel

The four performance categories (Engine, Brakes, Handling, Speed) sell five-level upgrade ladders. While one of them is open, the stat panel shows four live bars reading the vehicle's real RCCP values:

The Engine category - five upgrade levels with the stat panel above

Row Unit on screen What it reads
TORQUE NM Engine torque
TOP SPEED KM/H Maximum speed
HANDLING % Traction assist, as a percent of this car's stock value
BRAKING NM Brake torque

Two notes on those readouts:

How the panel behaves:

Tuning

The Tuning category is a workshop, not a shop: camber, ride height, suspension travel, spring and damper forces, plus tire-smoke and headlight colors. It sits behind a single one-time, account-wide unlock:

Tuning locked - one purchase unlocks the category forever, on every car

The unlock button prints its own price - Unlock Tuning - $8,000 in the demo - and clicking it stages the unlock into the cart. The sliders become editable immediately (so you can try before you buy) - but the unlock, like everything else, only becomes yours at checkout:

Tuning unlocked - sliders preview live, changes commit at checkout

Each slider shows its live value with a unit beside the track, so you are never guessing:

Slider Reads as
Front / Rear Camber degrees, one decimal - -2.5°
Front / Rear Ride Height a percentage - the catalog's 0-1 range shown as 0% to 100%
Front / Rear Suspension Travel metres, two decimals - 0.25 m
Front / Rear Spring Force, Damper a plain number (newtons), no unit suffix

The RESET button snaps every slider back to that vehicle's stock values - the suspension figures RCCP captured before any customization. It is safe: RESET stages the change like any drag, so nothing is committed until checkout, and you can still leave without paying. (On a vehicle whose stock values were never captured, RESET falls back to the current value and appears to do nothing.)

Slider changes preview on the car live and are committed at checkout with the rest of the cart. Removing the unlock from the cart also drops any pending slider changes (they no longer have a justification).

The Cinematic Camera, as the Player Feels It

Every category change blends the camera to a purpose-built shot - rear three-quarter for spoilers, low and wide for neon, wheel-level for wheels and brakes:

The Spoiler category frames the rear of the car

Drag empty screen space to orbit, scroll - or pinch with two fingers on touch - to zoom (each shot clamps how far). Sit still for about six seconds on a shot that allows it and a slow automatic orbit starts; in the shipped library two shots enable it, which means Paint, Handling and Speed auto-orbit and the rest hold still. Everything runs on unscaled time, so the garage feels identical even if your game slows or pauses Time.timeScale. Authoring your own shots: The Cinematic Camera.

While the Garage Is Open

The controller locks the scene down and restores it precisely on close:

While open On close
Driving inputs disabled, engine off Restored to their exact pre-open states
Vehicle damage components disabled Re-enabled (if they were enabled before)
RCCP dashboard + mobile controls hidden Restored to their exact prior states (plus anything in Additional Hud Roots To Hide)
RCCP gameplay camera + canvas disabled Always enabled on close - deliberately, so the player never leaves the garage without a working camera (plus optional handoff overrides - Scene Setup)

Note the asymmetry in the last two rows: HUD roots are restored to exactly what they were, but the gameplay camera and canvas are switched on regardless of how they started.

⚠ The whole HUD-hiding pass - including your own extra roots - is gated by one project-wide switch: RCCPT_Settings > Hide RCCP Hud While Open (ships on). Turn it off and Additional Hud Roots To Hide silently stops working too.

What Persists Where

Understanding the two saves prevents most confusion later:

Data Lives in
Wallet balance, ownership, unlocks The Tuner save - PlayerPrefs key RCCPT_Save_v1 (or an opt-in JSON file - Prices & Economy)
The applied configuration (equipped paint, wheel, levels...) RCCP's own save, keyed by the vehicle's RCCPT_VehicleId GUID
The applied paint finish The Tuner save (the one exception - RCCP has no finish field)

In short: the Tuner remembers what you own; RCCP remembers what the car wears.

Within the Tuner's own save, three different things are remembered in three different ways - which is why two cars can share a colour but never share an engine level:

What the save file remembers - global cosmetics, per-vehicle upgrades, and account-wide unlocks

Mobile

The canvas respects the device safe area, and below an aspect ratio of about 1.15 (portrait-ish screens) it switches to a compact layout: the category rail becomes a bottom tab bar and the cart opens as a full-screen sheet. Camera orbit works with touch drag. No setup required - see Theming & Editing the UI for how the responsive presets are authored.

Next Steps