Releases: rlabrecque/Steamworks.NET
Release 10.0.0
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
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
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
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
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
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
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
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
- 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
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