Code-only first pass. The local Player.prefab (ball) is still in the scene until the user creates the PlayerCar / RemoteCar prefab variants in the Editor. New scripts: - VehicleLocalSetup: attaches name label + colored capsule marker to the local vehicle, registers its Rigidbody with NetworkManager for broadcast. - RemoteVehicleSync: snapshot interpolation for remote vehicles. Disables the NWH VehicleController + every WheelController + every AudioSource on init. Makes the rigidbody kinematic, MovePosition-driven from network. Disables all non-trigger colliders during the 1.5s spawn grace window to avoid ejecting overlapping locals at connect. Adapted scripts: - NetworkManager: RegisterLocalVehicle(Transform, Rigidbody) replaces the FindFirstObjectByType<PlayerController>() lookup. Remote spawn now wires RemoteVehicleSync instead of RemotePlayerController. - LobbyUI: OnConnected drives VehicleLocalSetup.SetupLocal; OnDisconnected toggles NWH.VehicleController instead of PlayerController. - GameManager.SetPlayerActive: toggles VehicleController, not PlayerController. - DebugNetworkUI: live position read from VehicleController.vehicleRigidbody. - ChatUI: drops PlayerController.ResetInputs() (NWH polls Input System each frame; no manual reset needed when chat opens). - StatsTracker: drops dead _pc field; Rigidbody still gets resolved via GetComponent on the host GameObject (will be the vehicle on Car). Frontend (deployed earlier on master): build_ball replaces pretty_build assets.
ROLL'D — Frontend
Client web pour le jeu ROLL'D. Héberge le build Unity WebGL dans une interface moderne.
Stack
- React 18 + Vite 5 — build rapide, HMR
- Tailwind CSS 3 — styling utility-first
- Unity WebGL Loader — intégration du build Unity
Quickstart
npm install
npm run dev # http://localhost:5173
npm run build # production build → dist/
Unity WebGL Build
Placer le build Unity dans public/unity-build/ :
public/unity-build/
├── Build/
│ ├── build.data.gz
│ ├── build.framework.js.gz
│ ├── build.loader.js
│ └── build.wasm.gz
└── TemplateData/ (optionnel)
Docker
docker build -t rolld-frontend .
docker run -p 80:80 rolld-frontend
Structure
├── public/
│ ├── unity-build/ # Build WebGL (non versionné)
│ └── favicon.svg
├── src/
│ ├── components/ # Composants React
│ ├── assets/ # Images, fonts
│ ├── App.jsx
│ └── main.jsx
├── index.html
├── tailwind.config.js
├── vite.config.js
└── Dockerfile