https://github.com/eddio0141/unitas
Tool that lets you TAS unity games
https://github.com/eddio0141/unitas
bepinex csharp tas tool-assisted-speedrun unity
Last synced: about 8 hours ago
JSON representation
Tool that lets you TAS unity games
- Host: GitHub
- URL: https://github.com/eddio0141/unitas
- Owner: Eddio0141
- License: mit
- Created: 2022-09-12T02:29:24.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2026-06-28T03:35:45.000Z (7 days ago)
- Last Synced: 2026-06-28T05:15:27.196Z (7 days ago)
- Topics: bepinex, csharp, tas, tool-assisted-speedrun, unity
- Language: C#
- Homepage:
- Size: 12.8 MB
- Stars: 40
- Watchers: 2
- Forks: 6
- Open Issues: 105
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# UniTAS
[](https://discord.gg/ddMqdqgPeB)
A tool that lets you TAS unity games
- The tool doesn't bypass anti cheat or anything, USE AT YOUR OWN RISK!
- The tool is early in development, TASes made in earlier versions may not work in later versions
- This is a [BepInEx 5] mod
# TASing in UniTAS
Currently, you write a script in lua to control the game rather than recording inputs in game
This is planned to change to a more traditional emulator-like workflow, with frame advancing support later on
To get the hang of it, check the tutorial [here](https://github.com/Eddio0141/UniTAS/wiki/TAS-Movie-Script-Tutorial) and
if stuck on anything, the [wiki](https://github.com/Eddio0141/UniTAS/wiki) should help you out, otherwise you can ask on
discord or GitHub discussions
# What games work
- Currently, anything that [BepInEx 5] supports, ranging from unity 3 to latest, and games that use Mono and not IL2CPP
- Check [compatibility-list](docs/compatibility-list.md) for tested games
- Any games using [rewired input system](https://guavaman.com/projects/rewired/) has limited support as of now, games
using this may not work correctly
# How to install
## Thunderstore
I have packaged UniTAS for some games on thunderstore:
- [ULTRAKILL](https://thunderstore.io/c/ultrakill/p/UniTAS/UniTAS/)
## Manual
- Install [BepInEx 5] to your game
- Download the latest release from [here](https://github.com/Eddio0141/UniTAS/releases/latest), or nightly versions
from [here](https://github.com/Eddio0141/UniTAS/actions)
- Unzip and override paste it in your game folder (same folder as where your game executable is placed in)
# How to use
- Press `F1` to open the GUI, from there you can load a movie and play it
- Check out `BepInEx/Config/UniTAS.cfg` to change most settings
# How to build
## Requirements
- Install [.NET SDK](https://dotnet.microsoft.com/en-us/download)
- Install [Rust](https://rustup.rs/)
- Install [Just](https://just.systems/man/en/installation.html)
- Add BepInEx nuget feed with `dotnet nuget add source "https://nuget.bepinex.dev/v3/index.json"`
## Build
### Grab the source code
- Clone the repo with `git clone`
- Initialize submodules with `git submodule update --init --recursive`
### Build UniTAS
- Run `just build`
- Output folder would be in `UniTAS/Patcher/bin/Release`
- The output content can be copied directly inside a `BepInEx` folder to be used
[BepInEx 5]: https://docs.bepinex.dev/articles/user_guide/installation/index.html