RA3-Tweaks is a small application that can be used to apply code modifications to Robot Arena 3.
To apply the tweaks:
- Run
ra3-tweaker.exe
Optional parameters:
- -? Display this help message
- -i Full path to the RA3 install directory
- -t Full path to tweak dll
- -a Full path to the asset bundles
- -r Restore the modified file back to the original RA3 state
RA3-Tweaks uses Mono.Cecil to re-write some of the C# IL code that is used by the game. The re-written code is inserted to make calls out to another C# dll that can add new functionality to the game or change existing methods. It also uses Unity asset bundles to add new UI and Unity assets. For debugging the injected code, it uses a modified version of Dynity which bootstraps the mono debugger in the RA3 game and allows the VS Tools for Unity to attach. This work was inspired by this Q&A Post from the RA3 developers:
I'd also like to ask if any modding tools will be supplied by Octopus Tree
- Not at initial release. Between us, Unity games are HIGHLY MODDABLE without any support required on the Dev side. Clever folks can actually hook right into the C# mono code.
The current code changes that are applied are:
- Added RA3-Tweaks Menu button
- An example new component - the epic dagger
- Ability to write out the components.json file to disk
- Ability to export the models as *.obj files
- Note: Exported files are output to
<Robot Arena 3 Directory>\RobotArena3_Data\Managed\ra3-tweaks\exported
Lots to do, feel free to contribute or fork!
RA3-Tweaks is MIT licensed
- Mono.Cecil is licensed under the MIT/X11 license. The source is available in the mono project repository.
- pdb2mdb (https://gist.github.com/jbevain/ba23149da8369e4a966f) is licensed under the Microsoft Public License (Ms-PL).
- dynity (https://github.com/HearthSim/dynity) is MIT licensed.