# TerraSharp TSharp / T# An internal cheat menu for Terraria and tModLoader. C# Windows Terraria 1.4.5 tModLoader supported MIT License TerraSharp Player menu in Terraria with ESP enabled [Features](#features) · [Getting started](#getting-started) · [Auto-load](#auto-load) · [Acknowledgements](#acknowledgements)
## Features - God mode, infinite health and mana, auto potions, flight and movement controls. - Predictive aimbot, auto attack, shot preview and kill aura. - Item and buff browsers, infinite items, instant break and auto fishing. - ESP, health bars, projectile paths and potion vision effects. - Time, weather and event controls, plus saved waypoints with teleportation. Hotkeys are rebindable. Settings, ESP colors and window positions save automatically; waypoints are saved per world. Mostly intended for single player. Changes to NPCs and the world only affect your client in multiplayer. ## Getting started To build from source, you'll need: - Terraria or tModLoader installed. The build script skips games missing from the configured paths; tModLoader is optional. - The .NET 8 SDK, plus the .NET Framework 4.8 Developer Pack for Terraria builds. - Visual Studio 2022 or newer with the C++ build tools. - XNA Framework 4.0 for Terraria builds, installed with the game. Set `TerrariaDir` and `TModLoaderDir` in `Directory.Build.props` to your game folders for source builds. Environment variables with the same names also work. 1. Run `build.bat` from the project folder. The files go into `bin\`. 2. Start Terraria or tModLoader, then run `bin\TerraSharp.Injector.exe`. 3. Press `Insert` to open the menu. You can change this on the Keys tab. The same injector works with both games. Keep it beside the DLLs produced by the build. ## Auto-load You can also have the menu load when the game starts. Close the game, run `autoload.bat` and choose Install. The script uses the default Steam folders under `Program Files (x86)`. For games installed elsewhere, set the `TerrariaDir` or `TModLoaderDir` environment variable to the game's folder before running it. For Terraria, the script installs the DLL and adds its AppDomainManager entries to the existing game configuration. Uninstall removes those entries and the DLL while preserving other settings. Installation stops if another AppDomainManager is already configured. A game verify/update on Steam may remove the configuration; run the installer again if the menu stops loading. For tModLoader, the script prints a launch option to paste into Steam under **Properties > General > Launch Options**. Steam also uses `autoload.bat` as the Windows launcher: it sets `DOTNET_STARTUP_HOOKS`, preserves any existing hooks and runs Steam's game command. Keep the TerraSharp folder in place while using this option. When updating from an earlier version, run Install again and replace the launch option. Remove the option to stop auto-loading. It does not appear in tModLoader's mod list. ## Settings Settings save to `TerraSharp.json` in the game's save folder: - Terraria: `Documents\My Games\Terraria\TerraSharp.json` - tModLoader: `Documents\My Games\Terraria\tModLoader\TerraSharp.json` For development with the game running, use `build-and-inject.bat`. It builds and reloads the menu, with logging to `%TEMP%\terrasharp.log`, and opens a live log viewer: gray for information, dark gray for debug messages, yellow for warnings, and red for errors. Repeated builds reuse the viewer. You can also open it with `build-and-inject.bat log`. Closing the viewer leaves the game running. ## Acknowledgements - [glennf](https://www.unknowncheats.me/forum/members/5262305.html) for his [GVoid Terraria External Trainer](https://www.unknowncheats.me/forum/other-mmorpg-and-strategy/756815-terraria-external-v1-4-5-6-a.html). - [MonoMod developers](https://github.com/MonoMod/MonoMod) for RuntimeDetour, which handles the runtime hooks.