Umaplay
Umamusume bot that auto trains any uma. You can use it either in Steam or Android through scrcpy.exe (undetectable cheat)
Install / Use
/learn @Magody/UmaplayREADME
Umamusume Auto Train
Latest Update (v0.4.0): Unity Cup strategy, PAL policy, ADB mode, preset groups, and smarter training/race handling.
Previous updates: v0.3.3 bugfixes, v0.3.2 skill memory + data scraper, v0.3.1 remote template matching fixes.
This project is an AI bot for Umamusume: Pretty Derby that automates training, races, and skill management. It helps you farm fans, clear goals, and optimize stats without grinding manually.
It works on:
- Steam (PC), check a full run in: https://www.youtube.com/watch?v=smNZnwD1QI4
- Android (via scrcpy), check a full run in https://www.youtube.com/watch?v=sD9CjXORIUM (inside Virtual Machine)
It is using a mix of YOLO object detection, machine learning, OCR, and custom logic to play like a human.
Whether you want to auto race G1s, plan a training schedule, or run 24/7 farming, this tool provides a flexible and safe way to streamline your Umamusume career runs.
It’s based on and improved from:

💬 Discord
Wanna drop a quick thought, idea, or just hang out? Come say hi either in Issues section or in discord:
<p align="left" style="margin-top: 12px;"> <a href="https://discord.gg/JtJfuADDYz" target="_blank" style="text-decoration: none;"> <img src="assets/doc/discord.jpg" alt="Discord" width="56" style="vertical-align:middle; margin-right:16px;" /> </a> <a href="https://discord.gg/JtJfuADDYz" target="_blank"> <img src="assets/doc/discord_community.png" alt="Discord Community" width="520" style="vertical-align:middle;" /> </a> </p> <p> <a href="https://discord.gg/JtJfuADDYz" target="_blank">https://discord.gg/JtJfuADDYz</a> </p>⚠️ Disclaimer
Use this bot at your own risk. I take no responsibility for bans, issues, or account losses that may result from using it.
✨ Features
- Smart Training – Chooses the best option using a point system (rainbows, director, hints, etc.).
- Human-like Input – Random clicks, delays, and jitters to stay natural.
- Full Tracking – Monitors mood, stats, skills, goals, and energy.
- Health & Energy – Rests or uses the infirmary automatically.
- Events – Event option selector and character-specific overrides.
- Races – Schedule in advance and auto-pick optimal races.
- Skills – Buys and prioritizes selected skills automatically.
- Goals & Styles – Handles special goals and lets you set racing style.
- Cross-Platform – Works on PC (Steam) and Android (scrcpy/Bluestacks); resolution independent but OCR works better on bigger resolutions.
- Claw Machine – Supports the claw mini-game.
- Hints – Prioritize skill hints when enabled, with automatic de-prioritization when the skill is already learned.
- Skill Memory – Tracks purchased skills per run to prevent double-buying single-circle variants and coordinate hint scoring.
- Web UI – Manage presets (stats, races, events), adjust advanced settings, switch modes, and update directly from GitHub.
- Auto Team Trials – Automatically plays Team Trials with F7 hotkey, handles shop purchases, session resume, and respects your banner preference (1-3). You need to be in the race screen where the team trials, room match, daily races are.
- Auto Daily Races – Automates daily races with F8 hotkey, manages shop purchases and session resume. You need to be in the race screen where the team trials, room match, daily races are.
- Auto Roulette / Prize Derby – Automatically spins the Roulette/Prize Derby (F9 hotkey) with smart button state detection.
- URA and Unity Cup Supported!
Before You Start
Make sure you meet these conditions:
- Disable all in-game confirmation pop-ups in settings.
- Start from the career lobby screen (the one with the Tazuna hint icon).
- Set in Umamusume config Center Stage (Race recommendations)
- It works on the primary display only, don't move the game to second screen.
- GPU optimization is described in another README file, it is only available for NVIDIA GPU cards
🚀 Getting Started
Installation
🛠️ Required Software Installation
Step 1: Install Required Programs
-
Install Git (for downloading and updating the bot)
- Download from: git-scm.com
- Run the installer with all default settings
-
Install Anaconda (required for Python environment)
- Download Anaconda: anaconda.com/download
- Choose the 64-bit Windows Installer
- During installation:
- Check "Add Anaconda to my PATH environment variable"
- Select "Register Anaconda as my default Python"
- Complete the installation
Step 2: Download and Set Up the Bot
-
Open Command Prompt
- Press
Windows + Xand select "Windows Terminal" or "Command Prompt"
- Press
-
Clone the Repository Copy and paste these commands one by one, pressing Enter after each:
git clone https://github.com/Magody/Umaplay.git cd Umaplay -
Set Up Python Environment
conda create -n env_uma python==3.10 conda activate env_uma python -m pip install -r requirements.txt- Type
yand press Enter if prompted to proceed - This may take several minutes to complete
- Type
Step 3: Verify Installation
After everything is installed, you should see (env_uma) at the beginning of your command prompt line, indicating the environment is active.
💡 Troubleshooting: If you get a "conda is not recognized" error, close and reopen your command prompt, then try again. If you get some error with library version, try to remove all versions from requirements.txt and run
pip install -r requirements.txtagain. So you get the latest versions for python 3.12 or 3.13. I recommend you to use 3.10.
If you face OCR errors, reinstall paddle and paddleocr:
pip uninstall -y paddlepaddle paddlex paddleocr
python -m pip install paddlepaddle
python -m pip install "paddleocr[all]"
python -m pip install paddlex
Step 4: Running the Bot
- Open Command Prompt and navigate to the Umaplay folder
- Run these commands:
conda activate env_uma python main.py
- Press F2 to start/stop the bot during gameplay (YOU MUST BE on career lobby screen (the one with the Tazuna hint icon)). Or F7, F8, F9 depending on your configs.
Updating the Project
I regularly push new updates and bug fixes. To update:
Option 1: Using Web UI (Easiest)
- Use the Pull from GitHub button in the Web UI
- There's also a Force Update button if needed
- Restart the bot after updating. Close all terminals / IDEs and do a fresh start

Option 2: Manual Update Open Command Prompt in the Umaplay folder and run:
conda activate env_uma
git reset --hard
git pull
pip install -r requirements.txt
Then Restart the bot after updating. Close all terminals / IDEs and do a fresh start
⚠️ Note:
git reset --hardwill discard any local changes you made to files.
Future: Working on creating releases when versioning
I'm trying to precompile everything in a Windows executable, but I still recommend you to use the first option with python and Conda; this will allow you to easily have the last version.
(Because I'm not able to reduce the size of this exe yet; specially for 'torch')

Android
Scrcpy (Recommended)
Scrcpy is a tool to 'mirror' your Android screen, and emulate 'touchs' over it and it requires developer mode.
- Download Scrcpy Official Repo scrcpy.
- You need developer mode (usually you get this by tapping multiple times the android version in the phone settings).
- You MUST enable the USB debugging (Security Settings), so the program can emulate the input; making this solution 99.9% undetectable by any anti-cheat (Although I also set a kind of human behaviour when clicking). Then you need to connect the phone through USB to the PC or VM.
- In general, follow the instructions in scrcpy readme to properly setup this.
Once it is installed, you only need to set 'scrcpy' option and save config in http://127.0.0.1:8000/ (read WEB UI section) Important: Don't forget to set the window title, in my case for Redmi 13 Pro the title is '23117RA68G'

BlueStacks
I created a version for Bluestacks, you only need to set 'bluestacks' option and save config in http://127.0.0.1:8000/ (read WEB UI section). But I didn't tested enough here, I recommend you to use Scrcpy is lighter and more "native".
Using the ADB controller (BlueStacks/LDPlayer/Android)
ADB mode lets the bot send taps without hijacking your mouse. To enable it:
-
Install Android Platform Tools
- Download the ZIP for Windows from Google's official page: https://developer.android.com/tools/releases/platform-tools.
- Extract it somewhere permanent, e.g.,
C:\Android\platform-tools. - Add that folder to your Windows
PATH(System Properties → Advanced → Environment Variables). - Open a new terminal and run
adb versionto confirm it works globally (no need tocdinto the folder anymore).
-
Enable/verify ADB on your emulator/device
- BlueStacks: Settings → Advanced → ADB Debugging → Enable remote connection. Use
localhost:5555by default. - LDPlayer 9: Settings → Otros → Depuración de ADB → "Abrir conexión remota". The default endpoint is also
127.0.0.1:5555. - Physical/other Android devices: enable Developer Options + USB debugging.
- BlueStacks: Settings → Advanced → ADB Debugging → Enable remote connection. Use
-
**Connect the
