Skip to content

Releases: rlabrecque/Steamworks.NET

Release 10.0.0

12 Jul 08:54
Compare
Choose a tag to compare

Feature: Updated to Steamworks SDK 1.40
Feature: Added support for Unity 2017.1 and newer
Feature: steam_api.dll no longer gets copied into the build root folder.

Fixed: Steam Voice functions no longer crash.

The prebuilt "Standalone" package is for non-Unity .NET applications ONLY.
Get the .unitypackage if you are using Unity.

Release 9.1.0

06 Apr 19:46
Compare
Choose a tag to compare

Changed: Updated to CSteamworks 1.29a to fix crashing when GameServer_Init is called multiple times.
Changed: Removed [In, Out] attribute from byte[] array marshaling to improve performance.

Fixed: Added Missing !DISABLESTEAMWORKS checks.
Fixed: Make sure we don't silently eat exceptions inside Callbacks in Unity!
Fixed: Make sure that we use the correct sdkencryptedappticket DLL in 64 bit Unity on Windows.
Fixed: No longer crash when you repeatedly set the same CallResult within it's own CallResult handler.

The prebuilt "Standalone" package is for non-Unity .NET applications ONLY.
Get the .unitypackage if you are using Unity.

Release 9.0.0

21 Feb 20:21
Compare
Choose a tag to compare

Feature: Updated to Steamworks SDK 1.39
Feature: Improved Unity 4.7 and 5.5 support
Feature: Improved Steam Controller support
Feature: Added the ability to disable compiling by defining DISABLESTEAMWORKS

Changed: Made CallResult and Callback IDisposable.
Changed: Converted ISteamNetworking functions from IntPtr to byte[]

Fixed: null strings returned by Steamworks functions are now preserved. (Breaking change!)

The prebuilt "Standalone" package is for non-Unity .NET applications ONLY.
Get the .unitypackage if you are using Unity.

Release 7.0.0

01 Sep 06:04
Compare
Choose a tag to compare

Feature: Updated to Steamworks SDK 1.34
Feature: Improved Unity 5.1 support
Feature: Added missing SteamContext accessors
Feature: Made the automatic code generator open source! Available here

Changed: Temporarily disabled DllCheck.Test
Changed: Steamworks.NET no longer protects you from Initializing once only. That has been moved into SteamManager.cs
Changed: Lots of little cleanup

Fixed: Callbacks no longer crash on Microsoft CLR (Non-Unity)
Fixed: Removed uses of ICustomMarshaler as it causes Unitys Mono to crash in rare circumstances
Fixed: Steamworks.NET no longer causes errors when building for unsupported platforms

The prebuilt "Standalone" package is for non-Unity .NET applications ONLY.
Get the .unitypackage if you are using Unity.

Release 6.0.0

20 Feb 02:28
Compare
Choose a tag to compare

Feature: Updated to Steamworks SDK 1.32
Feature: Unity 5 64-bit Editor support
Feature: Expose the current active APICall Handle from CallResults

Changed: Added [Flags] to EHTMLKeyModifiers
Changed: Catch exceptions that happen within Callbacks/CallResults
Changed: HTML_ComboNeedsPaint_t & HTML_NeedsPaint_t.pBGRA from string -> IntPtr
Changed: Added [In, Out] attribute to all array arguments when P/Invoking (May fix some cases of corrupted marshaling)

Fixed: MatchMakingKeyValuePair_t when using more than 1 filter.
Fixed: ISteamHTMLSurface missing some of it's parameters
Fixed: Callbacks crashing under Mono 3.2.7 and higher

The Standalone package is for non-Unity .NET applications. Get the .unitypackage if you are using Unity.

Release 5.0.0

11 Sep 09:28
Compare
Choose a tag to compare

Feature: Updated to Steamworks SDK 1.31.
Feature: Increased support for Unity 4.6 beta and 5.0 beta.
Feature: Added the DllCheck class which can detect runtime steam_api.dll version issues.
Feature: Wrapped all function comments in

tags to display them in the visual studio tooltips.

Fixed: Corrected two ISteamMusicRemote function arguments from 'IntPtr' to 'AppId_t[]'
Fixed: Removed the readonly flag from copied files to play nicer with some version control systems. (Thanks @neophit)

The Standalone package is for non-Unity .NET applications. Get the .unitypackage if you are using Unity.

Release 4.0.0

27 Jul 13:38
Compare
Choose a tag to compare

Feature: Updated to Steamworks SDK 1.30.

Changed: In SteamUGC.GetQueryUGCResult's arguments changed 'ref' to 'out'.
Changed: Redesigned SteamMatchmakingServers to provide a much better usage experience. This includes implementing gameserveritem_t, MatchMakingKeyValuePair_t, and the Steam Matchmaking Response Rules.

Fixed: Corrected SteamAppList.GetInstalledApps()'s arguments from 'out AppId_t' to 'AppId_t[]'
Fixed: Added missing SteamMatchmaking.AddFavoriteGame().
Fixed: Corrected SteamNetworking.GetP2PSessionState()'s second argument from IntPtr to 'out P2PSessionState_t'.
Fixed: A handful of IntPtr -> byte[] arguments in the following functions:

    * SteamUnifiedMessages.SendMethod()
    * SteamUnifiedMessages.GetMethodResponseData()
    * SteamUnifiedMessages.SendNotification()
    * SteamGameServer.SendUserConnectAndAuthenticate()
    * SteamGameServer.GetAuthSessionTicket()
    * SteamGameServer.BeginAuthSession()
    * SteamGameServer.HandleIncomingPacket()
    * SteamGameServer.GetNextOutgoingPacket()
    * SteamUser.InitiateGameConnection()

Fixed: The following GameServer functions which have default arguments had the wrong codegen resulting in a crash. This is now resolved. (Thanks to Nelson Sexton of Unturned for the report!):

    * SteamGameServerUtils.GetEnteredGamepadTextInput()
    * SteamGameServerNetworking.SendP2PPacket()
    * SteamGameServerNetworking.IsP2PPacketAvailable()
    * SteamGameServerNetworking.ReadP2PPacket()

The Standalone package is for non-Unity .NET applications. Prefer the .unitypackage if you are using Unity.

Release 3.0.0

26 Jun 21:45
Compare
Choose a tag to compare

Feature: Updated to Steamworks SDK 1.29a.
Feature: Steamworks.NET now throws an exception if Steamworks is not Initialized when calling interface functions.
Feature: We now throw an exception when interface functions are called on non-supported platforms. (Like Mobile)
Feature: 64Bit OSX (Universal) is now supported!
Feature: Included all of the Steamworks global functions in NativeMethods.
Feature: Callbacks and CallResults can now be dispatched to multiple functions.

Changed: Completely reworked the Callback/CallResult backends.*
Changed: CallResult::Set() can now take a delegate function. You are no longer required to set one when you create the CallResult. (Like the C++ API)
Changed: Removed the Linux Launch Scripts as they are no longer needed!
Changed: Statically linked to the Visual Studio runtime so the VS2010 redistributable is no longer required!

Fixed: The second last argument in SteamUserStats.GetDownloadedLeaderboardEntry changed from out int to int[].
Fixed: Resolved a memory corruption issue with UGC tags.
Fixed: Some lesser used Callback structs were the wrong size on some platforms resulting in corrupted results.

  • *** This required an API Change.**

  • Upgrade Instructions:

    • Find all usages of "new Callback<>();" in your code.
    • Replace each use with "Callback<>.Create()".
    • Additionally you must now store the Callback<> returned by Create() so that it does not get Garbage-Collected.
    • This results in the following:
    class YourClass : MonoBehavior {
        protected Callback<UserStatsReceived_t> m_UserStatsReceived;
        void OnEnable() {
            m_UserStatsReceived = Callback<UserStatsReceived_t>.Create(OnUserStatsReceived);
        }
        private void OnUserStatsReceived(UserStatsReceived_t pCallback) {
        }
    }
    

The Standalone build is for Non-Unity projects, 'Source Code' is for Unity based projects.

2.1.0

21 Feb 20:16
Compare
Choose a tag to compare
  • Improved the Steam types so that they are all Comparable and Castable
  • Made SetWarningMessageHook easier to use
  • Fixed Regression caused by marshalling structs as return values on Unity's Linux Mono
  • 64 Bit support on both Linux and Windows (Steam does not provide a 64bit OSX dylib!)

2.0.0

07 Feb 23:29
Compare
Choose a tag to compare

Steamworks.NET 2.0.0 provides some rather large changes most notable being:

  • Reorganized folder structure (If you were using gitmodules to pull Steamworks.NET into your Plugins/ folder then that will no longer work.) (This is due to the Editor scripts and Standalone project being included)
  • All comments/documentation from the C++ headers are now replicated in C#.
  • Included 3 Editor scripts that improve the ease of installation and ease of building.
  • Created a standalone project for non-Unity based games.
  • Many Improvements to the automatically generated wrapper.
  • Included SteamGameServer_* free functions
  • Updated Steamworks to 1.28
  • Redesigned the CallResult API to end up even closer to the C++ API