From 1a02a9c3630907c8a20f340ab93dad5b8c015689 Mon Sep 17 00:00:00 2001 From: Garry Newman Date: Wed, 7 Aug 2019 19:43:44 +0100 Subject: [PATCH] Prevent Utf8StringToNative.GetInstance getting optimized out --- Facepunch.Steamworks/Utility/SteamInterface.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Facepunch.Steamworks/Utility/SteamInterface.cs b/Facepunch.Steamworks/Utility/SteamInterface.cs index d9d10ba..2ead970 100644 --- a/Facepunch.Steamworks/Utility/SteamInterface.cs +++ b/Facepunch.Steamworks/Utility/SteamInterface.cs @@ -31,6 +31,7 @@ namespace Steamworks return; } + PreservationHack(); throw new System.Exception( "Trying to initialize Steam Interface but Steam not initialized" ); } @@ -109,5 +110,15 @@ namespace Steamworks } public abstract void InitInternals(); + + internal void PreservationHack() + { + // + // Stop Utf8StringToNative.GetInstance getting culled by stuff like Unity's + // asselmbly optimization stuff. Here we just call it so it can't not exist. + // + var i = Utf8StringToNative.GetInstance( "don't cull this function" ); + i.GetNativeDataSize(); + } } } \ No newline at end of file