A fork of Eusth's IPA
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Eusth dc23b8b2c0 Copy correct native DLLs depending on architecture. 7 years ago
IPA Copy correct native DLLs depending on architecture. 7 years ago
IPA.Tests Add tests + more intelligent native DLL handling. 7 years ago
IllusionInjector Improve shutdown handling and disable virtualizing when no Assembly is available. 7 years ago
IllusionPlugin Initial commit. 7 years ago
Launcher Restructure code. 7 years ago
Libs Initial commit. 7 years ago
.gitignore Initial commit 7 years ago
IPA.sln Add tests + more intelligent native DLL handling. 7 years ago
LICENSE Initial commit 7 years ago
README.md Update README.md 7 years ago

README.md

IPA

Illusion Plugin Architecture (Reloaded) - let's you inject code into Unity projects.

How To Install

  1. Download a release (https://github.com/Eusth/IPA/releases)
  2. Extract the contents into the game folder
  3. Drag & drop the game exe onto IPA.exe
  4. Start the game as usual (the generated shortcut is optional)

Optional: To verify it worked, start the game with the --verbose flag. If a new console window opens with debug info, then you're good.

How To Uninstall

  1. Drag & drop the game exe onto IPA.exe while holding Alt
  2. Done

How To Develop

  1. Create a new Class Library C# project (.NET 2.0 to 3.5 (for LINQ))
  2. Download a release and add IllusionPlugin.dll to your references
  3. Implement IPlugin or IEnhancedPlugin
  4. Build the project and copy the DLL into the Plugins folder of the game

How To Keep The Game Patched

When patching, IPA automatically creates a shortcut that keeps everything up-to-date. This simply makes sure that your DLLs remain patched even after an update.

Arguments

IPA.exe file-to-patch [arguments]

  • --launch: Launch the game after patching
  • --revert: Revert changes made by IPA (= unpatch the game)
  • --nowait: Never keep the console open

Unconsumed arguments will be passed on to the game in case of --launch.