Skip to main content

Changelog

This document describes the changes made in each release.

2024.04.25

This release adds support for Unreal Engine 5.4, and adds bindings for modifying UOnlineLeaderboardWrite objects.

2023.09.08

This release adds support for the stable release of Unreal Engine 5.3, increases API support, and fixes a few issues:

  • Added support for Unreal Engine 5.3.
  • Added bindings for the rest of the IOnlineChat interface. Most online subsystems don't support this interface, so you'll need an online subsystem that supports it in order to use these new bindings.
  • Added support for the "MemberSettings" property on UOnlineSessionInfo objects.
  • Fixed a few IWYU issues that impacted Unreal Engine 5.2.
  • The conditional defines for engine versions have been made public defines so that you can include the Online Subsystem Blueprint headers in your own C++ code.

2023.05.15

This release adds support for the stable release of Unreal Engine 5.2, and fixes one issue:

  • Added the ONLINESUBSYSTEMBLUEPRINTS_API macro to the C++ types that were missing it. The lack of this macro prevented you from using these types in your own C++ game code.

2023.04.21

This release adds support for Unreal Engine 5.2 Preview 2.

  • A few party-related APIs that were deprecated in Unreal Engine 5.1 have now been removed when targeting 5.1 and later. This prevents depreciation warnings when the plugin is being compiled.
  • The code generator that we use to generate the blueprint bindings has been rewritten in C#. This is unlikely to affect any customer, but will impact you if you customized the PowerShell scripts that were used for code generation. If you previously customized the PowerShell scripts, you may need to port your changes to the C# version.

2022.11.22

This release adds support for the Unreal Engine 5.1 stable release. There's no functional changes, but Unreal Engine 5.1 has now been submitted to the Marketplace.

2022.11.04

This release fixes bugs and adds support for Unreal Engine 5.1 Preview 2:

  • Added support for the IOnlineAchievements::WriteAchievements API.
  • Added support for more APIs on the IOnlineEntitlements interface.
  • Added support for Unreal Engine 5.1 Preview 2.
  • Fixed issues that were caused by the removal of unique request checks in 2022.06.09. These checks have been restored to resolve these issues. It is not possible to remove these uniqueness checks due to limitations on the underlying C++ APIs that are being called.
  • Fixed a compilation issue if you had nativization enabled in your Unreal Engine 4 project.

2022.10.11

This release adds support for new interfaces and drops support for 4.24 and 4.25:

  • Added support for IOnlineStoreV2, IOnlinePurchase and IOnlineEntitlements in Unreal Engine 4.27 and 5.0.
    • You can manually run the binding generator if you need support for these interfaces in Unreal Engine 4.26, but we didn't automatically update the 4.26 bindings to support these new interfaces as 4.26 will be removed in the near future when Unreal Engine 5.1 is released.
  • Removed bindings for 4.24 and 4.25 from the source code repository. You can manually run the binding generator for these engines if you need to, but we no longer provide support for them.
  • Renamed some C++ header files to avoid conflicts with the other plugin header files.

2022.06.09

This release brings significant new functionality and fixes a number of long standing bugs in Online Subsystem Blueprints:

  • The Online Subsystem Blueprints documentation has been completely overhauled.
    • We now include examples for every supported blueprint function and event, and you can copy-paste them directly from your web browser into your blueprint graph.
    • We also include coverage information, platform support and engine support information for subsystems.
    • For an example of what the new documentation looks like, check out the Identity -> Login function documentation.
    • There's no longer separate documentation for each engine version, which should make it much simpler to navigate the documentation.
  • Added support for accessing any online subsystem, not just the default online subsystem. You can access the interfaces for a named subsystem through the new Online Subsystem subsystem. This subsystem contains functions for getting the various interfaces with a subsystem name specified.
    • You can also pass Native as the subsystem name to these functions to retrieve the native online subsystem for the platform.
  • All asynchronous blueprint nodes now support being called concurrently providing the underlying online subsystem permits it. You'll no longer see errors or call failures related to "There is already a pending request running with ID ...".
  • Added support for the IOnlineGameActivity interface and all of it's functions and events.
  • Added a "Get Player State Unique Net Id" helper blueprint node. This is useful on multiplayer clients when you want to get the user ID of other players and don't have access to their player controllers.
  • Added a "Get Current Subsystem Name" helper blueprint node. This returns the name of the current default subsystem in use (such as RedpointEOS or Steam).
  • Exposed the new bUseLobbiesIfAvailable and bUseLobbiesVoiceChatIfAvailable properties on session settings.
  • All USTRUCT and UCLASS type headers have been moved to the Public folder. This allows you to reference these types from your game's C++ code, allowing you to pass them directly from blueprints down to C++ if you need to.
  • Fixed an issue in Unreal Engine 5.0 where the lobby equality blueprint node would be chosen over the generic UObject equality node.
  • Fixed warnings in Unreal Engine 5.0 related to uninitialized USTRUCT properties.
  • Fixed a crash that occurred when FOnlineStatsUserStatsBP tried to wrap an invalid result.
  • Fixed a crash that would occur if there was no online subsystem implementation available at all.
  • Fixed a crash that would occur when stopping play-in-editor while using Voice Chat.
  • Fixed potential crashes that could occur when passing in invalid user IDs to various blueprint nodes.
  • Fixed an issue in the example projects in Unreal Engine 5.0 where some lists would not be populated with the results. This was due to the Unreal Engine 5.0 garbage collector being more aggressive in cleaning up the list items instead of retaining them, and was not a bug in the plugin itself.
  • Removed the deprecated IOnlineSession::OnSessionCustomDataChanged event from 4.27 and 5.0 APIs. Wrapping this deprecated function caused compiler warnings to be emitted when projects were built.

2022.04.08

This release has no functional changes, but instead marks the submission of Online Subsystem Blueprints to the Unreal Engine Marketplace for Unreal Engine 5.0 support.

2022.03.09

This release adds support for Unreal Engine 5 and improves blueprint nodes:

  • Unreal Engine 5 Preview 2 is now supported. Early Access builds are no longer supported.
  • RejectInvite, DeleteFriend, QueryRecentPlayers, BlockPlayer, UnblockPlayer and QueryBlockedPlayers in the IOnlineFriends interface are now correctly treated as asynchronous (latent) blueprint nodes.
  • Fixed a crash that would occur if you called GetAccessToken, GetAuthAttribute or SetUserAttribute on a UUserOnlineAccountRef that was not pointing to a valid user.

2022.02.06

This is a minor release to keep the avatar and lobby interfaces compatible with EOS. You must upgrade to this release if you're also upgrading the EOS plugin to 2022.02.06.

2021.11.11

This release fixes bugs and adds support for new APIs in online subsystems:

  • Added bindings for the new GetAvatarUrl function on IOnlineAvatar. This change was contributed by a community member via a merge request.
  • Fixed a crash that could occur when initializing Online Subsystem Blueprints on some console platforms.
  • Fixed an issue that prevented the plugin from compiling on Unreal Engine 4.25.
  • Fixed a crash that would occur if the Online Subsystem Blueprints subsystems were released by the garbage collector, but the online subsystem fired an event callback.

2021.08.20

This release adds support for Unreal Engine 4.27 and fixes one issue.

  • Unreal Engine 4.27 is now supported. Binaries for Unreal Engine 4.27 are expected to be available on the Unreal Engine Marketplace in the next few days, depending on how long it takes Epic to build and publish them.
  • Fixed an issue where EOnlineStatModificationType_ had the wrong script name, which caused issues when using Unreal Engine's Python integration.

2021.08.17

This version adds support for the IVoiceChat, IVoiceChatUser and IOnlineVoiceAdmin interfaces.

  • Added support for the IVoiceChat interface. This interface isn't technically part of online subsystems, but is necessary for interacting with voice chat and so Online Subsystem Blueprints now includes bindings for it. This also includes bindings for IVoiceChatUser for voice chat systems that support multiple local users (like EOS).
  • Added support for the IOnlineVoiceAdmin interface. This is a custom interface exposed by EOS Online Subsystem that allows you to control voice chat rooms on dedicated servers.
  • You can now subclass UOnlineFriendRef and UOnlineUserRef in blueprints. This allows you to store your own custom friend implementations in the same array as friends returned from online subsystems.

2021.07.07

This version adds support for the IOnlineAvatar interface and fixes a range of issues. It also adds support for Unreal Engine 4.24, 4.27 and 5.0 Early Access:

  • Added support for the IOnlineAvatar interface. This is a custom interface exposed by EOS Online Subsystem that allows you to fetch and display player avatars.
  • Added support for Unreal Engine 4.24.
  • Added support for Unreal Engine 4.27.
  • Added support for Unreal Engine 5.0 Early Access.
  • Fixed an issue where FindFriendSession would be listening for the wrong event for it's result value. This has now been fixed, but means the input arguments to this blueprint node have had to change.
  • Fixed a crash that could occur if you called Get Party Data with an invalid party.
  • Fixed a crash that could occur due to UParty holding onto the online subsystem party object after the online subsystem had shutdown.
  • Improved error messaging if you try to use Online Subsystem Blueprints inside the Init event in Game Instance (you should add a Delay node if you want to use Online Subsystem Blueprints in that event).
  • Improved the documentation to indicate function coverage for each engine version specifically. When viewing the documentation, you can select the engine version in the top-right.
  • If you're using the plugin from the Git repository, you no longer need to use the branch specific to your engine version. Instead, all engine versions are supported by the new main branch.

2021.05.10

This version adds support for the IOnlineLobby, IUserCloud and ITitleFile interfaces. It also adds new helper functions and fixes bugs:

  • Added support for the IOnlineLobby interface. This is a custom interface exposed by EOS Online Subsystem that allows you to create, connect, disconnect and join lobbies. You can also use this interface to search for parties.
  • Added support for the IOnlineUserCloud interface, including reading, writing and listing files.
  • Added support for the IOnlineTitleFile interface, including reading files.
  • Added a "Get Subsystem Type" node for FUniqueNetIdRepl that allows you to detect the subsystem that made the ID.
  • Added an "Is Valid" node for FUniqueNetIdRepl that returns whether or not the ID is valid.
  • Added the following helpers to use with the new OnlineUserCloudSubsystem and OnlineTitleFileSubsystem subsystems:
    • "Create File Data from String" which creates a UFileData for uploading from a string value.
    • "Create File Data from Save Game" which creates a UFileData for uploading from a USaveGame instance.
    • "Read File Data as String" which reads a downloaded UFileData as a string value.
    • "Read File Data as Save Game" which reads a downloaded UFileData as a USaveGame instance.
  • Added support for the OnPartyMemberExited event in the OnlinePartySubsystem subsystem.
  • Updated the example projects to demonstrate how to access friends and use the new lobby, user cloud and title file interfaces.

The features and bug fixes are available for both Unreal Engine 4.26 and 4.25.

2021.02.26

This version significantly overhauls the example projects, add new bindings to Online Subsystem Blueprints and fixes bugs:

  • The example projects now demonstrate how to use stats, achievements and leaderboards, if the online subsystem you are using supports them.
    • The content in the example projects have been moved to an ExampleOSS folder, making it easier for you to copy content into your own projects.
  • Added an equality comparison (==) node for FUniqueNetIdRepl, allowing you to compare user IDs from blueprints.
  • Fixed an issue where Online Subsystem Blueprints would use the wrong subsystem to fix up non-shared unique net IDs. This notably occurred when using delegated subsystems with EOS Online Subsystem.
  • Changes to OnlineSessionSubsystem:
    • Fixed Find Session By Id being incorrectly bound to the OnFindSessionsComplete global handler, instead of the callback parameter.
    • The return values from Find Session By Id are now correctly named.
  • Changes to OnlineIdentitySubsystem:
    • GetUserAccounts now returns an array of UUserOnlineAccountRef. This is a new derived type with Get Access Token, Get Auth Attribute and Set User Attribute bindings, allowing you to access those methods that are available only for locally signed in users.
  • Changes to OnlinePartySubsystem:
    • The UPartyData type has been split into UReadablePartyData and UMutablePartyData types.
    • Get Attribute has been added onto UReadablePartyData.
    • Set Attribute and Remove Attribute have been added onto UMutablePartyData.
    • When you obtain UReadablePartyData from Get Party Data, you can now pass it through the new Create Modifiable Party Data blueprint node. This will give you a UMutablePartyData where you can set and remove attributes, before passing it into Update Party Data.
    • The On Fill Party Join Request event is now supported.
    • The functions on UBlueprintPartyMember are now pure functions.
  • Changes to OnlineAchievementsSubsystem:
    • Get Cached Achievement, Get Cached Achievements and Get Cached Achievement Descriptions are now all available. You can use these blueprint nodes after the query nodes to obtain the actual achievement data.
    • Added Online Achievement BP and Online Achievement Desc BP structures.
    • The return values from query nodes are now correctly named.
  • Changes to OnlineLeaderboardsSubsystem:
    • Read Leaderboards, Read Leaderboards For Friends, Read Leaderboards Around Rank and Read Leaderboards Around User are now all correctly marked as asynchronous (latent) blueprint nodes.
  • Changes to OnlinePresenceSubsystem:
    • Fixed the presence values on Get Cached Presence and Get Cached Presence for App not being correctly treated as return values.

The new example projects are only available for Unreal Engine 4.26.

The features and bug fixes are available for both Unreal Engine 4.26 and 4.25.

2021.02.08

This version adds new features and fixes issues:

  • Added support for the IOnlineStats interface (both reading and writing stats).
  • Added SetColumns function to UOnlineLeaderboardRead object, so you can correctly set that up for reading leaderboards.
  • Fixed FVariantDataBP not supporting boolean values properly.
  • Added a check inside OnlineSubsystemBlueprints.Build.cs to ensure that you have the correct branch checked out in Git for your Unreal Engine version.

These features are available for both Unreal Engine 4.26 and 4.25.

2020.12.16

This version adds new fields to session and party types:

  • Added "Get Party Id", "Get Party Type Id" and "Get Leader Id" to UParty.
  • Added read-only "Session Id" property to FOnlineSessionBP and FNamedOnlineSessionBP structs.

These features are available for both Unreal Engine 4.26 and 4.25.

2020.12.07

This version adds support for Unreal Engine 4.26. There are no other changes.

2020.11.04

This version has new features and bug fixes:

  • Added support for handling external UI logins through the "External Login UI Handler" interface. Refer to the example project on how to use this new functionality.
  • Fixed an issue where the Register Players and Unregister Players blueprint nodes on the sessions interface had the wrong event handler set for completion.

2020.10.19

This version has new features and bug fixes:

  • Added support for the IOnlineUser interface, and all of it's related types.
  • Added support for the read functions in the IOnlineLeaderboards interface. Unreal Engine 4 already has a built in blueprint node to handle writing to leaderboards.
  • Added a "Get Controller Unique Net Id" blueprint node which will return the FUniqueNetIdRepl for a given player controller.
  • Asynchronous nodes now log the reason for call failure when the "Call Failure" pin is executed. This should help you diagnose errors related to invalid parameters.
  • Fixed an issue where asynchronous nodes that returned arrays could not be used (due to the delegate array parameter being an invalid type for blueprints).
  • Fixed an crash caused by array and map elements not being validated before call execution.

2020.10.02

This version has new features and bug fixes:

  • Added support for the IOnlineSession interface, and all of it's related types.
  • Replaced the autogenerated names for some event parameters with their correct names.
  • Prevent conflicting asynchronous requests from running.

2020.09.09

This version has new features and bug fixes:

  • Added support for the IOnlinePartySystem interface, and all of it's related types.
  • Added support for the IOnlinePresence interface, and all of it's related types.
  • Fixed an issue where the lifetimes of subsystems was not correct.
  • Fixed an issue where subsystems would not correctly retrieve the world pointer in some circumstances.
  • Updated the plugin to use new versioning conventions.

1.25.2 (11th July)

Fixed an issue where the editor would stall for several seconds when using the NULL online subsystem and starting play-in-editor for the first time in an editor session.

The GetLoginStatus method on the identity interface has been changed to use the version that accepts a LocalUserNum instead of a UserId. Some subsystems can only provide user IDs for authenticated users, and may require calling GetLoginStatus before GetPlayerUniqueId can be called safely.

1.25.1 (9th July)

Fixed an crash caused by platform implementations passing stack-allocated FUniqueNetId instances, instead of allocating them through the shared pointer system. This update implements a workaround for buggy platforms to resolve the issue.

1.25.0

Initial release.