Terrain-UnifiedSteamworks icon

UnifiedSteamworks

Steamworks types forwarded to the other identity.

By Terrain
Last updated 2 years ago
Total downloads 1601
Total rating 1 
Categories
Dependency string Terrain-UnifiedSteamworks-1.0.0
Dependants 0 other packages depend on this package

README

What is this?

This is a package that contains assemblies with the same identities as both versions of Facepunch.Steamworks, forwarding all the types from the opposite version

Why?

This allows developers to build against their own version of Facepunch.Steamworks, and users on the opposite platform to use that mod without any changes

English pls

This package allows mods that use Facepunch.Steamworks to work on all platforms without extra effort by the developer

Installation

  1. Copy libs/ to your game's directory. Right next to Muck.exe/Muck.x86_64 and Muck_Data. Not inside any other folder
  2. Delete the dll that matches your platform
    • If you're on Windows, delete Facepunch.Steamworks.Win64.dll and keep Facepunch.Steamworks.Posix.dll
    • If you're not on Windows, delete Facepunch.Steamworks.Posix.dll and keep Facepunch.Steamworks.Win64.dll
    • If you did this incorrectly, you can tell by the constant repeated TypeLoadExceptions in the output log
  3. Add libs/ to your dll search path

(Windows) Adding the search path

In doorstop_config.ini near the bottom, uncomment the line that starts with dllSearchPathOverride

Then, set its value to "libs" to let it load Facepunch.Steamworks from libs/

(Posix) Adding the search path

You're supposed to be able to pass the argument --doorstop-dll-search-override "libs" just before %command% in your steam launch args, but a bug in the launcher script makes it think "libs" is also the game executable

Instead of doing that, in start_game_bepinex.sh find the line that defines DOORSTOP_CORLIB_OVERRIDE_PATH

Then, set its value to "libs" to let it load Facepunch.Steamworks from libs/