Skip to main content

Changelog

This page contains a brief overview of the changes that were made to TwiWorks. It is worth noting that, due to Unreal Engine Marketplace restrictions, we are unfortunately only able to release updates to the 3 most recent versions of Unreal Engine. We maintain this list on a best-effort basis, but might forget to add something from time to time. Please don't hesitate to let us know if you think something is missing.

v2.1

Released on March 10, 2025 - Supports Unreal Engine 5.3-5.5

Added

  • Missing channel:moderate default scope to Local Login defaults.

Changed

  • Default keepalive_timeout to 30s to help avoid disconnections due to inactivity.
  • Various other minor changes & enhancements.

v2.0

Released on TBA - Supports Unreal Engine 5.2-5.5
danger

This version contains a couple of breaking changes and requires you to update your login system. Please refer to the Version 2 Upgrade page for upgrade instructions information.

Added

  • OnFollow Event.
  • SendAnnouncement Node.
  • Ability to receive announcements (signified by an OnMessage event with the bIsAnnoucement message flag set to true).
  • Ability to disable chat features (Whisper, Channel Point & Follower Events), reducing the OAuth scopes needed.
  • Scope testing system. Upon connecting to Twitch, TwiWorks validates the token and identifies the scope the token has access to and runs a check/log if an action is performed without the relevant scope. Keep an eye on the Output Log!
  • Customization of the local login page.
  • [BACKEND] Support for updating OAuth scopes from the config.ini file.

Changed

  • [INTERNAL] Switched over to the EventSub system for interacting with chat compared to the IRC + PubSub system used before. This system streamlines the internals (allowing all events to flow through one channel) and should be more future-proof. New OAuth scopes are required to use this system.
  • [SECURITY] Updated RefreshToken node + API endpoint to include token in POST body, avoiding potential credential leakage of old system.
  • [SECURITY] Updated PerformTwitchLogin to no longer include token. Updating is HIGHLY recommended, but since login requests & tokens are single-use, exploitation of this vulnerability (e.g. by reading browser history) is unlikely as long as the user switches back to the game (so it can consume the login).
  • Fixed typos in various BP nodes.
  • Updated categories so all nodes fall within the TwitchWorks category.
  • Removed the requirement to subscribe to OnMessage and OnCheer events. Now follow the same system as all other events.
  • [INTERNAL] Switched SendMessage over to HTTP-based version. Requires new user:write:chat OAuth scope, no code changes needed.
  • OnPointsEvent now includes additional information (such as redemption status) for channel point events.
  • Miscellanious changes/improvements/minor bugfixes.

Removed

  • OnRitual event.
  • Bugs :)

In summary, TwiWorks version 2.0 paves the way for many more years of TwiWorks. There are a few minor breaking changes, but every effort has been made to make this as much of a drop-in replacement as possible while still addressing some of the quality-of-life and structural issues that previous versions of TwiWorks have had. While we have extensively (stress) tested this first 2.0 version, there might still be bugs that we haven't found. This is especially true for partner/affiliate-only features, such as the channel points system which we have been unable to test internally. If you run into any issues with the plugin, please consult the Version 2 Upgrade page and reach out to us if that doesn't provide you with an answer.

v1.0.32

Released on 01/04/2024 - Supports Unreal Engine 5.1, 5.2, 5.3 and 5.4

Changed

  • Resolved potential packaging issue related to unset defaults in various TwiWorks structs.

v1.0.32

Released on N/A - Supports Unreal Engine 5.1, 5.2 and 5.3

Added

  • Backwards compatibility for C++ <20

Changed

  • [INTERNAL] Refactored Chat Connection to be a UObject, ensuring it falls under Unreal Engine's GC system. This addresses cleanup/destruction issues, improves stability and simplifies the plugin's architecture.

v1.0.31

Released on N/A - Supports Unreal Engine 5.1, 5.2 and 5.3
danger

This version is only compatible with C++20. Please use an older or more recent plugin version if you are not using C++20 for your project.

Added

  • Support for Unreal Engine 5.3
  • Support for C++20 (NOTE: This version was not backwards-compatible with older C++ versions; use 1.0.32 instead!)

Changed

  • Addressed bug in PubSub pinging system that could cause cause a crash post-disconnect.

Removed

  • Dependence on Monolithic Headers; compile times are now down 5000%!

v1.0.30

Released on N/A - Supports Unreal Engine 5.0, 5.1, 5.2 and 5.3
warning

This update may require changes on your end to ensure the required OAuth scopes are included!

Added

  • Added moderator:manage:banned_users, moderator:manage:chat_settings and moderator:manage:chat_messages scopes to Local Login Defaults for chat moderation updates (WARNING: this change may not be retroactive)

Changed

  • Updated chat moderation nodes to mitigate effects of Twitch IRC command deprecation.

v1.0.29

Released on N/A - Supports Unreal Engine 5.0, 5.1 and 5.2
warning

This update may require changes on your end to ensure the required OAuth scopes are included!

Added

  • Support for Unreal Engine 5.2
  • Point Redemption OAuth Scope to Local Login Defaults (WARNING: this change may not be retroactive)

Changed

  • Fixed bug where point redemptions that included a chat message lead to a duplicate event call.
  • Fixed bug where the username and display name were not available on point redemption events.
  • Fixed edge case bug in PubSub shutdown system.

v1.0.28

Released on N/A - Supports Unreal Engine 4.27, 5.0 and 5.1

Changed

  • More bugfixes. Now error% more crash free!

v1.0.27d

Released on N/A - Supports Unreal Engine 4.27, 5.0 and 5.1

Added

  • Support for detecting disconnection events in the IRC chat (not the PubSub system). See the OnDisconnect exec pin of the Connect to Twitch node.

Changed

  • Fixed various options for potential crashes, especially during an (unexpected) disconnection event.

v1.0.26

Released on N/A - Supports Unreal Engine 4.26, 4.27, 5.0 and 5.1

Changed

  • Fixes bug where PubSub connection (used for points events) could time out after 5-10 minutes
  • Fixes bug where a mystery subscription gift was not marked as bWasGift=true

v1.0.25

Released on 11-10-2022 - Supports Unreal Engine 4.26, 4.27 and 5.0

Added

  • Experimental support for points events that do not require text input

Changed

  • Various bugfixes for subscription detection systems
  • Various in-game point reward management bugfixes
  • Fixed local login user_id not set bug

v1.0.24

Released on N/A - Supports Unreal Engine 4.26, 4.27 and 5.0

Changed

  • Resolved emoticon downloading issue

v1.0.23

Released on N/A - Supports Unreal Engine 4.26, 4.27 and 5.0

Added

  • Local login stop all listeners option to settings (allows you to force-kill all listeners; might interfere with other functionality, but helps avoid stray processes taking up the port)
  • Subscription channel gifting

v1.0.22

Released on N/A - Supports Unreal Engine 4.26, 4.27 and 5.0

Added

  • Support for nativization (for UE4 versions)
  • Support for Unreal Engine 5.0
  • Support for V2 emoticon URLs

Changed

  • Various minor bugfixes

Removed

  • Win32 support

v1.0.21b

Released on 01-11-2021 - Supports Unreal Engine 4.25, 4.26 and 4.27

Changed

  • Resolved packaging bug affecting a small number of users (on Unreal Engine 4.26)

v1.0.21

Released on 15-10-2021 - Supports Unreal Engine 4.25, 4.26 and 4.27

Added

  • User ID property to the logged in user's profile (requires the latest version of the backend)
  • EXPERIMENTAL channel points management nodes (requires the latest version of the backend)
  • EXPERIMENTAL channel points reward management nodes (requires the latest version of the backend)

Changed

  • Addressed bug where using the phrase "ping" in any part of a message resulted in it getting lost
  • Made scopes requested by local login configurable
  • Minor code improvements

v1.0.20

Released on 20-07-2021 - Supports Unreal Engine 4.24, 4.25, 4.26 and 4.27
warning

This update may require changes on your end!

Introduction

This update includes a few new features (such as GetTwitchNumFollowers and improved emote parsing) as well as changes to make TwiWorks more future proof.

When TwiWorks was developed, Twitch offered the Kraken API: a way to get information about all kinds of Twitch objects. Unfortunately, this API has been depricated and is scheduled for removal in Q1 2022 (about half a year away as of writing). This means that to continue interacting with Twitch beyond this date, an update to the new Helix API is required. To give you ample time to ship an update of your game, this version of TwiWorks updated the old API calls to the new system.

While we highly recommend using this version, there are a few things that we were required to change and/or remove to be compatible with the information that the Helix API provides. Please take a thorough look at the entire changelist (especially the Removed) section, and keep the following in mind:

  • All Twitch Helix API calls now require authentication, which means that you'll have to pass the TwitchChatConnection variable in to pretty much every TwiWork API call. There is a temporary workaround in place to avoid breaking your existing code completely, but this will be removed in the not-so-distant future, so please update your code.
  • Various properties are no longer provided. The majority of these were considered a low priority and not used by the majority of TwiWorks users, but if any of these removals are completely incompatible with the way you are using TwiWorks, then please reach out.
  • To continue getting information about a user's subscriptions, please update to the latest version of the backend and/or ensure you are including user:read:subscriptions in your login scopes.

Added

  • Chat message emote parsing for chat messages (now includes emote properties on all messages with their position in the text and ID/Code)
  • Follower count retrieval (GetTwitchNumFollowers)

Changed

  • TMI connection from IRC raw sockets to more robust & secure WebSockets.
  • Remaining Kraken API calls (GetTwitchUser, GetIsSubscribed, and GetTwitchEmoteSet) to Helix API equivalent
  • Backwards compatibility for when Chat is not provided to aforementioned nodes

Removed

  • Bio attribute of user profile (appears depricated, but could be replaced by the description - please reach out of you would need access to this)
  • LastUpdatedTime attribute of user profile
  • NumFollowers, CreationDate, ChannelActiveGame and ChannelStatus from user profile follows array (no longer provided under Helix)

v1.0.19b

Released on 12-06-2021 - Supports Unreal Engine 4.24, 4.25 and 4.26

Changed

  • Hotfix for messages possibly not being parsed properly, leading to connection timeouts

v1.0.19

Released on 12-06-2021 - Supports Unreal Engine 4.24, 4.25 and 4.26

Added

  • Support for anonymous, mystery and reward subscriptions
  • Support for subscription upgrades
  • Additional (DNS lookup) safeguards for connection procedure

Changed

  • Improved connection failure handling for Blueprints