SteamCore 1.4.5

Warning, this update will most likely break your project if you are using any of the SteamCore source files in your project.
Be aware that this update will include additional steps when updating.

General

  • Almost all source files (both .cpp and .h files) have been renamed to include the Steam prefix, for example Inventory.h is now SteamInventory.h, this is to eliminate conflict issues that arise when plugins or engine source use the same naming convention.
  • Directories have also been renamed to include the Steam prefix, Inventory => SteamInventory

SteamCore 1.4.4.2

General

  • Cleaned up all Async callbacks
  • All async callbacks are now run on the gamethread
  • Fixed bEnabled setting getting disabled when changing SteamCore settings

UGC

  • GetItemState function now also returns an array of Item States rathern than just a flag (integer)

MatchmakingServers

  • Fixed UTF to TCHAR conversion for Server Info

SteamCore 1.4.4.1

General

  • Project Settings are now saved to the DefaultEngine.ini config file rather than the Engine.ini file in Project\Saved directory
  • Fixed GameVersion not being set in DefaultEngine.ini
  • Removed bForceGameThreadExecution from Project Settings, the plugin will always execute callbacks on the GameThread now
  • Removed bWasSuccessful from AsyncTasks ToString() output

SteamCore 1.4.4

General

  • Added Utility function “GetPublicIp” as an alternative way to get your Public Ip

GameServer

  • Added Pure & Compact versions for “GetServerSteamID
  • Added Pure & Compact versions for “GetServerPublicIP

GameSearch

  • Added GameSearch interface
    There is literally no documentation regarding this interface but it’s now exposed and available in Blueprints

GameSearch Interface

SteamCore 1.4.3

SteamCoreWeb

  • Refactored and cleaned up unused code
  • Removed OnFailure callback from all Async functions
  • All async functions now only have 1 return callback instead of 2 (OnSuccess/OnFailure)
  • You will need to update all your Async functions to the new Callback execution pin
  • Updated the Example Project to match the new update

SteamCore

General

  • Updated the Example Project with an included Steam Parties Example

SteamParties

This API can be used to selectively advertise your multiplayer game session in a Steam chat room group. Tell Steam the number of player spots that are available for your party, and a join-game string, and it will show a beacon in the selected group and allow that many users to “follow” the beacon to your party. Adjust the number of open slots if other players join through alternate matchmaking methods.

For example, you can use ISteamParties in conjunction with a private lobby. Create a private lobby, and then use ISteamParties::CreateBeacon to create a party “beacon” for the number of players desired. The game connect string should indicate the ID of the private lobby.

The beacon will appear in Steam in the specified location (e.g. a Chat Room Group), and also via the in-game ISteamParties API as described below. Steam creates “reservation” slots for the number of desired players. Whenever a user follows the beacon, Steam will hold a reservation slot for them and launch the game using the given connect string.

The game session that created the beacon will be notified of this reservation, so the game can display the appropriate “User <username> is joining your party” or some other indicator. Once the user joins successfully, the game session should call ISteamParties::OnReservationCompleted to tell Steam that the user successfully joined (otherwise, Steam will eventually timeout their reservation and re-open the slot).

When all of the beacon slots are occupied – either by reservations for users still launching the game, or completed slots for users in the party – Steam will hide and disable the beacon.

To cancel the beacon – for instance when the party is full and the game begins – call ISteamParties::DestroyBeacon.

The client side of this operation – seeing and following beacons – can also be managed by your game. Using ISteamParties::GetNumActiveBeacons and ISteamParties::GetBeaconDetails, your game can get a list of beacons from other users that are currently active in locations relevant to the current user. If the user desires, call ISteamParties::JoinParty to “follow” one of those beacons.