@rlabrecque rlabrecque released this Nov 19, 2017 · 11 commits to master since this release

Assets 4

Feature: Updated to Steamworks SDK 1.41
Feature: No longer requires CSteamworks.dll!

Fixed: The game server version of GetInstalledDepots now correctly returns an array of depots instead of just the first one.

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

NOTE: This was repackaged on December 2nd, 2017. There are no changes to the code itself, but the old package was corrupted. Redownloading is recommended.

@rlabrecque rlabrecque released this Jul 12, 2017 · 19 commits to master since this release

Assets 4

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.

@rlabrecque rlabrecque released this Apr 6, 2017 · 24 commits to master since this release

Assets 4

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.

@rlabrecque rlabrecque released this Feb 21, 2017 · 31 commits to master since this release

Assets 4

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.

@rlabrecque rlabrecque released this Sep 1, 2015 · 59 commits to master since this release

Assets 4

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.

@rlabrecque rlabrecque released this Feb 20, 2015 · 91 commits to master since this release

Assets 4

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.

@rlabrecque rlabrecque released this Sep 11, 2014 · 113 commits to master since this release

Assets 4

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.

@rlabrecque rlabrecque released this Jul 27, 2014 · 125 commits to master since this release

Assets 4

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.

@rlabrecque rlabrecque released this Jun 26, 2014 · 140 commits to master since this release

Assets 3

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.

@rlabrecque rlabrecque released this Feb 21, 2014 · 179 commits to master since this release

Assets 2
  • 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!)