All Projects → UnityPluginManager → Pluginmanager

UnityPluginManager / Pluginmanager

Licence: mit
Unity Plugin Manager

Projects that are alternatives of or similar to Pluginmanager

Openmod
OpenMod .NET Plugin Framework
Stars: ✭ 81 (+350%)
Mutual labels:  unity, modding, plugins
Modio Unity
Unity Plugin for integrating mod.io - a modding API for game developers
Stars: ✭ 53 (+194.44%)
Mutual labels:  unity, modding
Bepinex
Unity / XNA game patcher and plugin framework
Stars: ✭ 1,001 (+5461.11%)
Mutual labels:  unity, modding
Hooking Template With Mod Menu
A small template for Android Hooking with Substrate. (Includes a mod menu written in Java)
Stars: ✭ 59 (+227.78%)
Mutual labels:  unity, modding
Unitypluginwithwsl
Unity native plugin with WSL (Windows Subsystem for Linux)
Stars: ✭ 39 (+116.67%)
Mutual labels:  unity, plugins
Unimgpicker
Image picker for Unity iOS/Android
Stars: ✭ 148 (+722.22%)
Mutual labels:  unity, plugins
Monomod
A C# modding swiss army knife, powered by cecil.
Stars: ✭ 322 (+1688.89%)
Mutual labels:  unity, modding
Oxide.rust
Rust game extension for the Oxide modding framework
Stars: ✭ 185 (+927.78%)
Mutual labels:  unity, modding
Unityexplorer
An in-game explorer and a suite of debugging tools for IL2CPP and Mono Unity games, to aid with modding development.
Stars: ✭ 172 (+855.56%)
Mutual labels:  unity, modding
Unitymobileinput
Unity mobile Input plugin for iOS and Android (Unity UI compatible)
Stars: ✭ 170 (+844.44%)
Mutual labels:  unity, plugins
Hisocket
It is a lightweight client socket solution, you can used it in C# project or Unity3d
Stars: ✭ 275 (+1427.78%)
Mutual labels:  unity, plugins
Centrifuge
Cross-platform runtime mod loader and API for any Unity-based game. Supports Unity 5 and up!
Stars: ✭ 18 (+0%)
Mutual labels:  unity, modding
Uraymarching
Raymarching Shader Generator in Unity
Stars: ✭ 793 (+4305.56%)
Mutual labels:  unity
Terragen
An old project of mine. Used to generate simple infinite terrains in Unity.
Stars: ✭ 5 (-72.22%)
Mutual labels:  unity
Editorxr
Author XR in XR
Stars: ✭ 790 (+4288.89%)
Mutual labels:  unity
Com.unity.multiplayer.mlapi
A game networking framework built for the Unity Engine to abstract game networking concepts.
Stars: ✭ 781 (+4238.89%)
Mutual labels:  unity
Googleads Mobile Unity
Official Unity Plugin for the Google Mobile Ads SDK
Stars: ✭ 837 (+4550%)
Mutual labels:  unity
Lasp
Low-latency Audio Signal Processing plugin for Unity
Stars: ✭ 816 (+4433.33%)
Mutual labels:  unity
Unitymmo
an unity mmo demo, base on ecs(game play), xlua(ui)
Stars: ✭ 780 (+4233.33%)
Mutual labels:  unity
Futile
A super simple Unity 2D framework
Stars: ✭ 770 (+4177.78%)
Mutual labels:  unity

Unity Plugin Manager

Introduction

Unity Plugin Manager (herein, UPM) is a tool for creating plugins and mods for games developed with the Unity engine.

How it works

UPM injects a static constructor into the GameObject class found within the UnityEngine namespace. This way, it is able to execute code before anything else in the game. Using this, it loads plugins from a folder named "Plugins" in the game's folder, and instantiates any MonoBehaviour derivatives with the [OnGameInit] attribute.

Compiling

In order to build UPM or create plugins, you will need the .NET Core SDK and at least one of the following:

  • An installation of Unity 5.x or 2017.x
  • A game developed in Unity 5.x or 2017.x

Within the UPM repository is a directory named Managed.UnityEngine. This directory needs to contain specific files from one of the aforementioned prerequisites.

Option A: Unity Installation

  1. Browse to your Unity installation directory (usually C:\Program Files\Unity [version]\Editor)
  2. Browse to Data\Managed and copy UnityEngine.dll to the Managed.UnityEngine\Managed directory in the UPM repository
  3. If it exists, browse to Data\Managed\UnityEngine and copy everything except UnityEngine.dll to the Managed.UnityEngine\Managed directory in the UPM repository
  4. Browse to Data\UnityExtensions\Unity\GUISystem\Standalone and copy UnityEngine.UI.dll to the Managed.UnityEngine\Managed directory in the UPM repository

Option B: Game

  1. Browse to the game's Managed directory (usually inside the game's Data folder)
  2. Copy every file with UnityEngine in its name to the Managed.UnityEngine\Managed directory in the UPM repository

You should now be able to compile UPM by either using Build.All.bat, PluginManager.sln or manually calling dotnet build in the appropriate directories.

Usage

After building UPM, you should have at least the following files:

  • PluginManager.Setup.exe (PluginManager.Setup/bin/...)
  • PluginManager.Core.dll (PluginManager.Core/bin/...)
  • Mono.Cecil.dll (PluginManager.Setup/bin/...)

Any other files are not necessary for usage of UPM.

Place the aforementioned files into the directory where your target game is located, and run PluginManager.Setup.exe (using Mono to do so, if not on Windows)

If UPM installed successfully, you should see a message stating UPM installed.

You are now free to create a Plugins directory and place your plugins in there.

Creating plugins

The creation of plugins is a relatively simple process.

  1. Make a new folder for your target game in the Managed.Games folder, if one does not exist
  2. Put the Assembly-CSharp.dll, Assembly-UnityScript.dll and/or Assembly-Boo.dll files from your target game in that folder, if they are present in its Managed folder
  3. Make a new folder for your plugin in the Plugin.Projects folder
  4. Copy one of the templates into that folder (NET46 is only for Unity 2017 projects using the new Mono runtime!)
  5. Edit Config.props to point to your target game

You can compile your plugin by opening a command prompt in its folder and entering dotnet build.

Refer to the sample plugin as an example of how to get started.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].