explaingit

youstheone/fh6auto

18PythonAudience · generalSetup · moderate

TLDR

A Python automation tool for Forza Horizon 6 on Windows that uses image recognition to run races, buy cars, and spend skill points on repeat, fully unattended, with error recovery and an emergency stop hotkey.

Mindmap

mindmap
  root((FH6Auto))
    Modules
      Loop race runner
      Car buyer
      Skill point spender
    Smart control
      Screenshot analysis
      Image recognition
      State detection
    Error recovery
      Game focus restore
      Auto-restart game
      Known state reset
    Customization
      Custom image templates
      Resolution support
      F8 emergency stop
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run Forza Horizon 6 races in an unattended loop to farm credits automatically using a blueprint race code.

USE CASE 2

Chain race, car purchase, and skill point modules together so the game farms credits and super wheelspins overnight without supervision.

USE CASE 3

Replace the built-in image templates with your own screenshots to adapt the tool to a different screen resolution or graphics preset.

USE CASE 4

Use the error recovery system to keep automation running even if the game crashes or loses focus.

Tech stack

PythonOpenCVpyautoguipydirectinputcustomtkinter

Getting it running

Difficulty · moderate Time to first run · 30min

Windows only, requires Python with OpenCV, pyautogui, and pydirectinput installed, plus a running copy of Forza Horizon 6.

In plain English

FH6Auto is a Python automation tool for the racing game Forza Horizon 6. It is written in Chinese and designed for Windows. Rather than using fixed screen coordinates and blindly pressing keys, it takes screenshots of the game and uses image recognition to figure out what state the game is in before deciding what to do next. This makes it more reliable than simple macro scripts that can get stuck if any single step goes wrong. The tool has three main modules that can be run individually or chained together. The first runs races in a loop using a specified blueprint code, which is a shareable race configuration inside the game. The second buys cars repeatedly from the in-game car showroom. The third spends skill points on a target vehicle to trigger the super wheelspin reward system. When all three are chained and set to loop, the tool runs unattended for extended periods: race for credits, buy a car, spend its skill points for spins, then start over. Each module includes error recovery. If the image recognition fails to find an expected screen element, the script checks whether the game is still running, brings the game window back into focus, and tries to return to a known menu state before resuming. There is also an optional auto-restart setting that will relaunch the game executable if the process disappears and then wait for the welcome screen before continuing. The image templates used for recognition can be replaced by the user. The tool loads images from a folder next to the program first, falling back to built-in defaults if no custom images are found. This lets users adapt the tool to different screen resolutions or graphics settings by swapping in their own screenshots of the relevant interface elements. The project uses OpenCV for template matching, pyautogui and pydirectinput for keyboard and mouse simulation, and customtkinter for the desktop interface. An F8 hotkey provides an emergency stop that also releases any keys that may be held down at the time.

Copy-paste prompts

Prompt 1
How do I set up FH6Auto to run an unattended credit-farming loop in Forza Horizon 6 using a blueprint race code?
Prompt 2
Walk me through replacing the image templates in FH6Auto so it works at my screen resolution.
Prompt 3
How does FH6Auto use OpenCV template matching to detect the current game screen state before taking action?
Prompt 4
What does the F8 emergency stop in FH6Auto do, and how do I trigger it safely while the script is running?
Prompt 5
Help me add a new automation module to FH6Auto that chains an additional in-game action after the skill point step.
Open on GitHub → Explain another repo

← youstheone on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.