EOSCore 1.8.0

General

This update is only available for UE4.25+

REMOVE ALL PREVIOUS EOSCORE DEFINITIONS FROM YOUR DefaultEngine.ini FILE WHEN UPGRADING!

  • Updated EOS SDK to version 1.9.0
  • Added “FromUnixTimestamp” function to convert a Unix timestamp to a blueprint string
  • Added UserIndex to GetCurrentProductId
  • Added UserIndex to GetCurrentAccountId
  • All blueprint nodes now require a WorldContextObject
  • All blueprint defined delegates have been removed, use the appropriate “Add Notify” callback functions instead or setup your own delegates when invoking functions
  • Removed ProductName from DefaultEngine.ini (will now use your UE4 Project Name)
  • Removed ProductVersion from DefaultEngine.ini (will now use UE4 Project Version)
  • New supported command line arguments:
    -AUTH_TYPE=devtool
    Login using the DevTool
    -AUTH_TYPE=autologin
    Attempt to autologin using saved credentials from previous session
    -AUTH_TYPE=portal
    Authenticate using the Browser (portal)
    -AUTH_TYPE=deviceid
    Authenticate using a local device id, will attempt to create a device id if not found
    -EOSConfig=configurationName
    Override the EOS configuration specified in the Project Settings
  • You must now configure EOSCore using Project Settings
  • New Function: Login()
    This function is meant to be used in conjunction with the new EOSCore OnlineSubsystem (OSS) and its purpose is to simplify the Login procedure used by EOS.
    More details about this function will be available later
  • Removed CreateSessionResultFromInviteId as this function is no longer needed, it’s been replaced with “ListenForSessionInvites“, see example below.
  • Added EOS_Initialized() function that you can call to see if EOS has initialized or not
FromUnixTimestamp
New Settings
New Login Node
Check if EOS has initialized

Chat

  • General Chat Subsystem optimizations
  • Listening for Chat messages now requires a valid LocalUserId
  • You can now clear all chat listeners by invoking ClearAllChatListeners

OnlineSubsystem (OSS)

  • The OSS has been rewritten to a SocketSubsystem.
  • Removed EOSPlatformModule, all code has been moved to the OnlineSubsystemEOSCore
  • Changed URL layout when connecting to multiplayer games:
    Old: eoscore.remote_id
    New: eos:remote_id:gamesession:port
  • New function: “UpdateUniqueNetIdFromOSS“, this function will manually update your players netid from the OSS. This is useful if you want to manually login using the Async Nodes. You must have a valid UniqueNetId assigned to your player if you want to use the default CreateSession nodes for example.

Android

  • You can now Host / Join sessions using Android

Mods

  • Added Mods Interface Support

EOS SDK 1.9.0 Changelog

New features

  • Mods support exposes interfaces that allow for interaction with the Epic Games Store Mod Marketplace and supports:
    • Enumeration of installed mods.
    • Enumeration of available mods.
    • Mod install, uninstall, and update.

Release Notes

C# SDK

  • Removed reflection dependency from the wrapper.
  • SDK functions and delegates that output strings and byte arrays through parameters have been simplified. If they previously output a StringBuilder, they now output a string, and they no longer require a buffer length to be passed in. See upgrade notes for more details.
  • Bug Fix: The sizeInBytes and alignment parameters of Platform.AllocateMemoryFunc and Platform.ReallocateMemoryFunc are now defined as UIntPtr instead of int to reflect the different size requirements between 32 bit and 64 bit platforms. See upgrade notes for more details.

Connect

  • Bug Fix: Fixed EOS_Connect_QueryProductUserIdMappings returning EOS_UnexpectedError if the queried users had a linked Device ID.

EOS Core

  • Bug Fix: Fixed json serialization and deserialization of doubles when games use the CRT setlocale() function.
  • Bug Fix:
    • Set the default thread affinity of EOS SDK created threads to something more reasonable.
    • EOS_Initialize_Options now contains an OverrrideThreadAffinity option. This EOS_Initialize_ThreadAffinity structure defines thread affinity in several categories It’s important to note that these values will be platform dependent.

Lobbies

  • New: Lobby search now supports a new EOS_CO_CONTAINS operator. Attributes matching a CASE SENSITIVE partial string will be returned.

Mod Marketplace

  • Mods support allows interfaces with the Epic Games Store Mod Marketplace and allows:
    • Enumeration of installed mods.
    • Enumeration of available mods.
    • Mod install, uninstall, and update.

Overlay Tech Platform

  • New: Added new flags for EOS_Platform_Create to opt-in to experimental overlay support on DirectX 9, Direct3D 10, and OpenGL for Windows:
    • EOS_PF_WINDOWS_ENABLE_OVERLAY_D3D9
    • EOS_PF_WINDOWS_ENABLE_OVERLAY_D3D10
    • EOS_PF_WINDOWS_ENABLE_OVERLAY_OPENGL

Samples

  • Added a new sample to demonstrate the mod marketplace
  • Added support for reading / writing settings
    • Developer Authentication Tool credentials will be saved to settings, ready to be loaded with the next sample run.
  • Added support for automatic login via Launcher command line options.
  • Persistent auth token is now deleted after getting invalid auth result when attempting to log in with persistent auth login.
  • Added a popup dialog with a message about invalid params for EOS_Platform_Create.
  • Pressing enter while Auth Dialog text fields are in focus will start login when all relevant text fields are valid.
  • Bug Fix: Fixed a resource leak inside the sample framework

Session Based Matchmaking

  • New: Session search now supports a new EOS_CO_CONTAINS operator. Attributes matching a CASE SENSITIVE partial string will be returned.

Social Overlay

  • Removed erroneous logs when Leaderboards are not currently configured.