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.
 
 
 
 
Anairkoen Schno 529e8de464 Added a bunch of checks to streamline upgrades 4 years ago
..
BuildUtils Added Doorstop BuildUtils that weren't there for some reason 5 years ago
DoorstopTest Hoisted Doorstop files the rest of the way out of the submodule 5 years ago
Proxy Added a bunch of checks to streamline upgrades 4 years ago
docs Hoisted Doorstop files the rest of the way out of the submodule 5 years ago
proxygen Hoisted Doorstop files the rest of the way out of the submodule 5 years ago
.gitignore Hoisted Doorstop files the rest of the way out of the submodule 5 years ago
LICENSE Hoisted Doorstop files the rest of the way out of the submodule 5 years ago
README.md Hoisted Doorstop files the rest of the way out of the submodule 5 years ago
UnityDoorstop.sln Hoisted Doorstop files the rest of the way out of the submodule 5 years ago

README.md

Github All Releases GitHub release license

Run managed code before Unity does!

Unity Doorstop

Doorstop is a tool to execute managed assemblies inside Unity as early as possible!

This repository is indented mainly for developers!
Developers should package Doorstop into their applications for the end-users.

Features

  • Runs first: Doorstop runs its own code before Unity has an ability to do so.
  • Configurable: A very basic configuration file allows to specify your own assembly to execute!
  • Public domain! You are fully free to embed Doorstop into your application!

Guides for users and developers on the wiki

Building

To build, you will need:

  • Visual Studio 2017 (2015 might work as well with some modifications)
  • Visual C++ Toolset v140
  • .NET Framework 3.5 or newer (only for the example, not used by the proxy)
  • Python (only to generate proxy functions; not needed to build)

Clone, open in Visual Studio, select the platform (x86/x64) and build.

Custom proxy functions

Doorstop's proxy is flexible and allows to be load as different DLLs. You can modify which functions you want to proxy by adding/removing function names in Proxy/proxydefs.txt and running proxygen/proxy_gen.py ../Proxy/proxydefs.txt to generate an appropriate proxy functions.

The current set up allows to use the proxy for the following DLLs:

  • winhttp.dll (All exports)
  • iphlpapi.dll (Only GetIpAddrTable)

(WIP: Currently all build results are placed in separate folders; will be changed later)