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

Configuring Steam

Open your Projects DefaultEngine.ini located in \ProjectDir\Config\DefaultEngine.ini, paste the code (or parts of it) shown below and customize to your needs.

MAKE SURE you don’t already have these settings in your Config file before copy-pasting.

[URL]
GameName=GameName
Port=7777

[OnlineSubsystemSteam]
bEnabled=True
SteamAppId=480
SteamDevAppId=480

[OnlineSubsystem]
DefaultPlatformService=Steam

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.