From 90857dcdb2ed5499b0cecde1e8ad5a7c57045be0 Mon Sep 17 00:00:00 2001 From: avail Date: Sat, 1 Dec 2018 09:31:05 +0100 Subject: [PATCH] readme --- README.markdown | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 README.markdown diff --git a/README.markdown b/README.markdown new file mode 100644 index 0000000..b3d3585 --- /dev/null +++ b/README.markdown @@ -0,0 +1,33 @@ +## UnityAssemblyInjector +This library is used for loading custom c# assemblies into Unity games' runtime without having to modify any game files. + + +## How to use +Place the dll file next to the game's main directory, if it's a 32bit unity game, use version-x86.dll, otherwise, use version-x64.dll (rename to version.dll in either case) + +Create an assemblies.txt which will contain the path to your c# dlls and a static entry point path, i.e. `SomeMod\\SomeLoader.dll=SomeNamespace.SomeClass:StaticInitMethod`. you can have as many of these as you want, one per line. + +The basic structure of the c# project would be as such +```csharp +namespace SomeNamespace +{ + public class SomeClass + { + public static void StaticInitMethod() + { + new Thread(() => + { + Thread.Sleep(5000); // 5 second sleep as initialization occurs *really* early + + GameObject someObject = new GameObject(); + someObject.AddComponent(); // MonoBehaviour + UnityEngine.Object.DontDestroyOnLoad(someObject); + + }).Start(); + } + } +} +``` + +## Downloads +Downloads can be found in the [releases](https://github.com/avail/UnityAssemblyInjector/releases) tab. \ No newline at end of file