---
source_url: https://www.pubnub.com/docs/sdks/unreal/changelog
title: Changelog for Unreal SDK
updated_at: 2026-06-19T11:39:02.701Z
sdk_name: PubNub Unreal SDK
sdk_version: 2.0.5
---

> Documentation Index
> For a curated overview of PubNub documentation, see: https://www.pubnub.com/docs/llms.txt
> For the full list of all documentation pages, see: https://www.pubnub.com/docs/llms-full.txt


# Changelog for Unreal SDK

PubNub Unreal SDK, use the latest version: 2.0.5

:::note
## 2.0.5

*May 21, 2026*

| Type | Changes |
|------|----------|
| **Fixed** | • `UPubnubSubscription[Set]::CleanUpSubscription` now explicitly unregisters every C-Core listener before freeing the heap-allocated user_data, so an in-flight message dispatched after unsubscribe can no longer reach a freed payload. |
| **Modified** | • Add better Mutexes handling for Pubnub Client Operations. Guard the whole operations instead of main pubnub calls, so there is no crash if client is deinitialized during another operation.<br/>• Add cashing of all registered subscriptions and sets in PubnubClient so the same C-Core resource can no longer be claimed (and freed) by two competing UE wrappers at deinit. |

## 2.0.4

*April 28, 2026*

| Type | Changes |
|------|----------|
| **Fixed** | • Fix very rare bug that objects could be created during Garbage Collector phase, what would end up in failing construction of the UObject. |

## 2.0.3

*April 23, 2026*

| Type | Changes |
|------|----------|
| **Fixed** | • Fix subscription timeout that could happen for some ipv6 connections. |

## 2.0.2

*April 20, 2026*

| Type | Changes |
|------|----------|
| **Fixed** | • Fix errors that could be printed when Subscription Objects were garbage collected.<br/>• Fix compilation errors when C++ 20 support is not enabled by replace designated initializers. |

## 2.0.1

*April 2, 2026*

| Type | Changes |
|------|----------|
| **Added** | • Add a way to change pn-sdk, so it can be used by UE Chat SDK. |
| **Fixed** | • Fix cleaning up PubnubClient in tests, so they don't leave open connections. |

## 2.0.0

*March 31, 2026*

| Type | Changes |
|------|----------|
| **Added** | • `UPubnubSubsystem` is now only for creating or resolving clients. All real work goes through `UPubnubClient`, so you can run several independent PubNub contexts (keys, user id, subscriptions) side by side.<br/>• Subsystem-level methods and delegates are deprecated in favor of the same behavior on UPubnubClient. Call sites should move to the client; async entry points on the client use the Async suffix.<br/>• Logging is no longer limited to default engine logging. Configure levels and sources with `FPubnubLoggerConfig` and `IPubnubLoggerInterface`, and optionally plug in custom loggers.<br/>• Names without Async denote synchronous (blocking) APIs. …Async methods are non-blocking and take a callback. Use sync when you need a direct return on the same flow; use async when the game thread must not block.<br/>• Outcomes use `FPubnubOperationResult` (status, error flag, message) inside dedicated FPubnub…Result structs for both synchronous returns and async callbacks. **BREAKING CHANGE**.<br/>• Pagination uses `FPubnubPage` (Next / Prev) instead of ad hoc page strings. Where the backend supports it, set `IncludeTotalCount` on the relevant include struct and read `TotalCount` on the result.<br/>• Set operations use FPubnub…InputData types with ForceSet* flags so individual fields can be cleared on the server, not only replaced with other values. **BREAKING CHANGE**. |
| **Modified** | • Public types are grouped under a consistent FPubnub… scheme so delegates, results, and inputs read as one family and clash less with other code. **BREAKING CHANGE**. |

## 1.2.1

*March 17, 2026*

| Type | Changes |
|------|----------|
| **Fixed** | • Fix crash during subscription on Android caused by incorrect internal includes in C-Core library. |

## 1.2.0

*November 12, 2025*

| Type | Changes |
|------|----------|
| **Added** | • The `ListUsersFromChannel` method now returns a maximum of 1,000 occupants per channel. Previously, it would return all occupants regardless of count. If you have channels with more than 1,000 occupants, you must use pagination (new `Limit` and `Offset` parameters) to retrieve the complete list. **BREAKING CHANGE**. |

## 1.1.0

*September 11, 2025*

| Type | Changes |
|------|----------|
| **Added** | • Add implementation of Entities: `Channel`, `ChannelGroup`, `ChannelMetadata`, `UserMetadata` with all related PubNub functions.<br/>• Add implementation of `Subscription` and `SubscriptionSet` objects. Add all necessary operations to add, remove, get subscriptions.<br/>• Add implementation of Event Listeners - user can now bind a delegate to subscription for every event type separately or all of them at once. |
| **Fixed** | • Clean up properly all C-Core subscriptions after `UnsubscribeFromAll`. |

## v1.0.0

*August 19, 2025*

| Type | Changes |
|------|----------|
| **Added** | • Add code samples for all UE SDK functions - they can be found in `PubnubLibraryTests` module in `Samples` directory.<br/>• Add encryption support for AES and Legacy Cryptors - compatible with other PubNub SDKs encryption.<br/>• Introduce a unified result field `FPubnubOperationResult` in delegates across all SDK functions.<br/>• Add a delegate that can be used to listen for Subscribe and Unsubscribe functions completion result. |
| **Fixed** | • Fix bug that in some functions using UTF8 characters would break the function.<br/>• Fix bug that using AppContext functions with `Limit` over 100 would crash the engine. Now `Limit` will be clamped to accepted values.<br/>• Fix bug that in some cases `SetAuthToken` would not work correctly. Add correct lifetime management for the provided token. |
| **Modified** | • Rework `ParseToken` to return permissions in a more user-friendly format.<br/>• Remove `CipherKey` from `FPubnubPublishSettings`.<br/>• Rework `SetMemberships` and `SetChannelMembers` to have inputs as `FPubnubMembershipInputData` and `FPubnubChannelMemberInputData` instead of raw strings.<br/>• Remove deprecated '_JSON' functions.<br/>• Add functionality to skip some false warnings logged from C-Core.<br/>• Refactor the code to be much cleaner and commented properly.<br/>• Add `supported-unreal-engine-versions` field to .pubnub.yml file, so it can be used in documentation. Revisit and fix all other entries in .pubnub.yml. |

## v0.3.3

*June 16, 2025*

| Type | Changes |
|------|----------|
| **Fixed** | • Fix compilation errors that were present in UE 5.1 and UE 5.2 versions. |

## v0.3.2

*June 10, 2025*

| Type | Changes |
|------|----------|
| **Added** | • Add function DeleteMessages which can be used to delete messages from the history.<br/>• Add function InitPubnubWithConfig which can be used to initialize PubnubSubsystem with custom config, separate from Project Settings. |
| **Modified** | • Add PubSub samples<br/>• Fix compilation warnings |

## v0.3.1

*May 27, 2025*

| Type | Changes |
|------|----------|
| **Added** | • Add new overloads, for all function that return data, with native (not dynamic) delegates that can be used with Lambdas.<br/>• Add publish/signal message serialization and deserialization - now any string can be send by those methods.<br/>• Add unit and integration tests for all end points. |
| **Fixed** | • Fix bug that UserID was not set immediately.<br/>• Fix bug that only published messages were received from subscription, but not signals and other types.<br/>• Fix bugs that group operations were sometimes returning previous responses.<br/>• Fix bug that MessageCounts function was not always returning correct count.<br/>• Fix incorrect sort and include parameters related to users. |

## v0.3.0

*April 29, 2025*

| Type | Changes |
|------|----------|
| **Added** | • Rework GetMemberships, GetChannelMembers, GetAllUsersMetadataand GetAllChannelsMetadata to have dedicated structures for Include and Sort fields. Note: this is BREAKING CHANGE. |
| **Modified** | • Change subscription loop to use Event Engine.<br/>• Mark _JSON functions as deprecated<br/>• Remove not needed C-Core files. Leave only required headers. |
| **Fixed** | • Fix bugs in parsing FetchHistory response.<br/>• Fix bug that not all requested data was included in functions response when TotalCount was set. |

## v0.2.6

*February 12, 2025*

| Type | Changes |
|------|----------|
| **Fixed** | • Fix Auth Token related functions.<br/>• Fix SetSecretKeyAutomatically setting to set the key properly.<br/>• Fix 'PubnubLog: Error: Pubnub user ID is not set. Aborting operation.' false error. |

## v0.2.5

*February 6, 2025*

| Type | Changes |
|------|----------|
| **Added** | • Add plugin support for Linux and IOS projects. |

## v0.2.4

*January 21, 2025*

| Type | Changes |
|------|----------|
| **Added** | • Pass logs from c-core to UE sdk. |

## v0.2.3

*November 28, 2024*

| Type | Changes |
|------|----------|
| **Fixed** | • Fix incorrect memberships input object Json checks |

## v0.2.2

*November 25, 2024*

| Type | Changes |
|------|----------|
| **Added** | • Add Unreal 5.5 support<br/>• Add documentation in code<br/>• Add CustomMessageType parameter to publish, signal and history |
| **Modified** | • Rename uuid to user in all inputs and functions.<br/>• Rename ChannelName to Channel in in function inputs. |

## v0.1.4

*September 16, 2024*

| Type | Changes |
|------|----------|
| **Added** | • Add proper MacOS static library |

## v0.1.3

*September 13, 2024*

| Type | Changes |
|------|----------|
| **Added** | • fixes custom version of the C-core library |

## v0.1.2

*September 11, 2024*

| Type | Changes |
|------|----------|
| **Added** | • Fixes for Unreal Engine Marketplace |

## v0.1.0

*August 14, 2024*

| Type | Changes |
|------|----------|
| **Added** | • Initial PubNub Unreal Engine SDK release |
:::

### 2.0.5

May 21, 2026

| Fixed | UPubnubSubscription[Set]::CleanUpSubscription now explicitly unregisters every C-Core listener before freeing the heap-allocated user_data, so an in-flight message dispatched after unsubscribe can no longer reach a freed payload. |
| --- | --- |
| Modified | Add better Mutexes handling for Pubnub Client Operations. Guard the whole operations instead of main pubnub calls, so there is no crash if client is deinitialized during another operation., Add cashing of all registered subscriptions and sets in PubnubClient so the same C-Core resource can no longer be claimed (and freed) by two competing UE wrappers at deinit. |

### 2.0.4

April 28, 2026

| Fixed | Fix very rare bug that objects could be created during Garbage Collector phase, what would end up in failing construction of the UObject. |
| --- | --- |

### 2.0.3

April 23, 2026

| Fixed | Fix subscription timeout that could happen for some ipv6 connections. |
| --- | --- |

### 2.0.2

April 20, 2026

| Fixed | Fix errors that could be printed when Subscription Objects were garbage collected., Fix compilation errors when C++ 20 support is not enabled by replace designated initializers. |
| --- | --- |

### 2.0.1

April 2, 2026

| Added | Add a way to change pn-sdk, so it can be used by UE Chat SDK. |
| --- | --- |
| Fixed | Fix cleaning up PubnubClient in tests, so they don't leave open connections. |

### 2.0.0

March 31, 2026

| Added | UPubnubSubsystem is now only for creating or resolving clients. All real work goes through UPubnubClient, so you can run several independent PubNub contexts (keys, user id, subscriptions) side by side., Subsystem-level methods and delegates are deprecated in favor of the same behavior on UPubnubClient. Call sites should move to the client; async entry points on the client use the Async suffix., Logging is no longer limited to default engine logging. Configure levels and sources with FPubnubLoggerConfig and IPubnubLoggerInterface, and optionally plug in custom loggers., Names without Async denote synchronous (blocking) APIs. …Async methods are non-blocking and take a callback. Use sync when you need a direct return on the same flow; use async when the game thread must not block., Outcomes use FPubnubOperationResult (status, error flag, message) inside dedicated FPubnub…Result structs for both synchronous returns and async callbacks. **BREAKING CHANGE**., Pagination uses FPubnubPage (Next / Prev) instead of ad hoc page strings. Where the backend supports it, set IncludeTotalCount on the relevant include struct and read TotalCount on the result., Set operations use FPubnub…InputData types with ForceSet* flags so individual fields can be cleared on the server, not only replaced with other values. **BREAKING CHANGE**. |
| --- | --- |
| Modified | Public types are grouped under a consistent FPubnub… scheme so delegates, results, and inputs read as one family and clash less with other code. **BREAKING CHANGE**. |

### 1.2.1

March 17, 2026

| Fixed | Fix crash during subscription on Android caused by incorrect internal includes in C-Core library. |
| --- | --- |

### 1.2.0

November 12, 2025

| Added | The ListUsersFromChannel method now returns a maximum of 1,000 occupants per channel. Previously, it would return all occupants regardless of count. If you have channels with more than 1,000 occupants, you must use pagination (new Limit and Offset parameters) to retrieve the complete list. **BREAKING CHANGE**. |
| --- | --- |

### 1.1.0

September 11, 2025

| Added | Add implementation of Entities: Channel, ChannelGroup, ChannelMetadata, UserMetadata with all related PubNub functions., Add implementation of Subscription and SubscriptionSet objects. Add all necessary operations to add, remove, get subscriptions., Add implementation of Event Listeners - user can now bind a delegate to subscription for every event type separately or all of them at once. |
| --- | --- |
| Fixed | Clean up properly all C-Core subscriptions after UnsubscribeFromAll. |

### v1.0.0

August 19, 2025

| Added | Add code samples for all UE SDK functions - they can be found in PubnubLibraryTests module in Samples directory., Add encryption support for AES and Legacy Cryptors - compatible with other PubNub SDKs encryption., Introduce a unified result field FPubnubOperationResult in delegates across all SDK functions., Add a delegate that can be used to listen for Subscribe and Unsubscribe functions completion result. |
| --- | --- |
| Fixed | Fix bug that in some functions using UTF8 characters would break the function., Fix bug that using AppContext functions with Limit over 100 would crash the engine. Now Limit will be clamped to accepted values., Fix bug that in some cases SetAuthToken would not work correctly. Add correct lifetime management for the provided token. |
| Modified | Rework ParseToken to return permissions in a more user-friendly format., Remove CipherKey from FPubnubPublishSettings., Rework SetMemberships and SetChannelMembers to have inputs as FPubnubMembershipInputData and FPubnubChannelMemberInputData instead of raw strings., Remove deprecated '_JSON' functions., Add functionality to skip some false warnings logged from C-Core., Refactor the code to be much cleaner and commented properly., Add supported-unreal-engine-versions field to .pubnub.yml file, so it can be used in documentation. Revisit and fix all other entries in .pubnub.yml. |

### v0.3.3

June 16, 2025

| Fixed | Fix compilation errors that were present in UE 5.1 and UE 5.2 versions. |
| --- | --- |

### v0.3.2

June 10, 2025

| Added | Add function DeleteMessages which can be used to delete messages from the history., Add function InitPubnubWithConfig which can be used to initialize PubnubSubsystem with custom config, separate from Project Settings. |
| --- | --- |
| Modified | Add PubSub samples, Fix compilation warnings |

### v0.3.1

May 27, 2025

| Added | Add new overloads, for all function that return data, with native (not dynamic) delegates that can be used with Lambdas., Add publish/signal message serialization and deserialization - now any string can be send by those methods., Add unit and integration tests for all end points. |
| --- | --- |
| Fixed | Fix bug that UserID was not set immediately., Fix bug that only published messages were received from subscription, but not signals and other types., Fix bugs that group operations were sometimes returning previous responses., Fix bug that MessageCounts function was not always returning correct count., Fix incorrect sort and include parameters related to users. |

### v0.3.0

April 29, 2025

| Added | Rework GetMemberships, GetChannelMembers, GetAllUsersMetadataand GetAllChannelsMetadata to have dedicated structures for Include and Sort fields. Note: this is BREAKING CHANGE. |
| --- | --- |
| Modified | Change subscription loop to use Event Engine., Mark _JSON functions as deprecated, Remove not needed C-Core files. Leave only required headers. |
| Fixed | Fix bugs in parsing FetchHistory response., Fix bug that not all requested data was included in functions response when TotalCount was set. |

### v0.2.6

February 12, 2025

| Fixed | Fix Auth Token related functions., Fix SetSecretKeyAutomatically setting to set the key properly., Fix 'PubnubLog: Error: Pubnub user ID is not set. Aborting operation.' false error. |
| --- | --- |

### v0.2.5

February 6, 2025

| Added | Add plugin support for Linux and IOS projects. |
| --- | --- |

### v0.2.4

January 21, 2025

| Added | Pass logs from c-core to UE sdk. |
| --- | --- |

### v0.2.3

November 28, 2024

| Fixed | Fix incorrect memberships input object Json checks |
| --- | --- |

### v0.2.2

November 25, 2024

| Added | Add Unreal 5.5 support, Add documentation in code, Add CustomMessageType parameter to publish, signal and history |
| --- | --- |
| Modified | Rename uuid to user in all inputs and functions., Rename ChannelName to Channel in in function inputs. |

### v0.1.4

September 16, 2024

| Added | Add proper MacOS static library |
| --- | --- |

### v0.1.3

September 13, 2024

| Added | fixes custom version of the C-core library |
| --- | --- |

### v0.1.2

September 11, 2024

| Added | Fixes for Unreal Engine Marketplace |
| --- | --- |

### v0.1.0

August 14, 2024

| Added | Initial PubNub Unreal Engine SDK release |
| --- | --- |