/forza-telemetry

Record and Display Telemetry from Forza Motorsport 7, Horizon 4, and Horizon 5.

Primary LanguageTypeScriptMIT LicenseMIT

Forza Telemetry

Status GitHub Issues GitHub Pull Requests License


Record and Display Telemetry from Forza Motorsport 7, Horizon 4, and Horizon 5.

📝 Table of Contents

🏁 Quick Start

Configuration

Installing .NET 6.0

  1. Visit Microsoft's .NET 6.0 download page
  2. Download the x64 SDK version of the installer for Windows

Configuring Forza's UDP settings

Motorsport 7
  1. Launch the game and head to the HUD options menu
  2. Set Data Out to ON
  3. Set Data Out IP Address to 127.0.0.1 (localhost)
  4. Set Data Out IP Port to 5300
  5. Set Data Out Packet Format to CAR DASH
Horizon 4/5
  1. Launch the game and proceed through the menus until you can drive your car
  2. Pause the game and navigate to the Settings menu
  3. Navigate to HUD and Gameplay
  4. Set Data Out to ON
  5. Set Data Out IP Address to 127.0.0.1 (localhost)
  6. Set Data Out IP Port to 5300

Enable UDP Loopback for Forza (not needed for Steam versions)

  1. Install Window 8 AppContainer Loopback Utility
  2. Start the utility (if it shows a message about orphan sid, you can safely ignore it)
  3. Make sure that Forza Horizon 4 / Motorsport 7 are checked
  4. Save changes

More information on how to enable this and why it's necessary can be found here

Running the App

  1. Pre-requisites: Make sure git and npm are installed
  2. Clone this repository: git clone https://github.com/austinbaccus/forza-telemetry.git
  3. Open a terminal and navigate to the folder containing the src folder
  4. Install dependencies with npm install
  5. Run: npm run build:react | npm run build | npm run start

OR

  1. Download the latest release version
  2. Unzip the folder
  3. Run the executable

🚀 Features

Record Telemetry

  • This app allows users to save all telemetry to a CSV file for later analysis
  • All incoming telemetry data is saved (along with the timestamp)

This gif was created by using the Recording feature and Forza Map Visualization to make a 3D trace of the player's XYZ coordinates during a race

Map Trail

  • Your car's path will be drawn in real-time as you drive around in either Motorsport or Horizon

Fuel Management

  • Displays the number of laps you can go until you run out of fuel
  • Displays the amount of fuel consumed per lap
  • Displays your car's MPG

Lap Dashboard

  • Displays time and split time for every lap, not just your best and previous lap

Runs on your Local Machine

  • Forza Telemetry uses a UDP loopback so that you can run this program on the same computer that you're using to play Forza

⚒️ Built Using

❓ FAQ

Why does the MPG value look off?

Because Forza calculates fuel consumption in a very strange way. Also, Forza cars have an unknown amount of fuel, so calculating the Miles Per Gallon figure is a bit tricky. The app assumes that each car has roughly 13 gallons of fuel to arrive at a number for MPG (13 gallons of fuel is a typical amount for a road car).

Why is the app running slowly?

Most likely the map has too much data to render.

Why do some things look out of place?

This app looks best when it's in a 1920x1080 window (and looks even better in fullscreen mode). When the window deviates from this size, some visual elements might be placed incorrectly. Press F11 to make the app fullscreen.

Can I use this app with an Xbox?

Not yet. That is a feature I'd like to implement eventually.