TwitchPlay updated to 4.21!
TwitchPlay is now completely **open source **and free to download from GitHub, buy from the marketplace only to show support.
PLEASE USE EMAIL FOR FASTER PLUGIN SUPPORT: [EMAIL=“email@example.com”]firstname.lastname@example.org
You can get it here: https://www.unrealengine.com/marketp…tchplay-plugin
GitHub repository: GitHub - TheDiG3/TwitchPlay: Unreal Engine 4 Plugin for Twitch Chat integration
I’ve always wanted to be able to integrate the Twitch chat inside a game in order to try an create cool behaviors without the need to use external software/mappers.
So, given I’ve had some free time recently (and did not find anything similar to what I want to achieve), I’ve decided to dive in and create my own Twitch API!
This is a plugin for Unreal Engine 4 that makes communication with the Twitch chat of ANY channel super simple to use. You just need to add a single component from my API which you’ll be able to use from both C++ and Blueprint. After that, Setup the user info, Connect to the Twitch server and Authenticate (you’ll need an oauth token which you can easily generate); after that, you’re all set!
I have two components available for you: **TwitchIRCComponent **and TwitchPlayComponent.
TwitchIRCComponent: enables communication back and forth with a Twitch channel chat. You can read each message (with relative username of the sender) by receiving a simple event (OnMessageReceived) or send your own messages to the chat (SendIRCMessage with SendTo enabled and chosen channel).
TwitchPlayComponent: in addition to what the TwitchIRCComponent does, this is a wonderful utility and time saver for when you want to implement user generated commands directly inside the game!
No need to do any parsing or checks on you side. Just Register a text command on the component and associate your own event that should fire whenever that user sends a chat message in the correct form (which is [DELIMITER]command[DELIMITER][OPTIONS]options[OPTIONS]. DELIMITER is ‘!’ by default, but you can choose what you want. You can specify options for the command by using another delimiter, ‘#’ by default, separated by ‘,’).
You can also unregister commands that you don’t need anymore at runtime. The only limitation is that a single object/function can be registered for a single command (if a second object tries to register it will overwrite the previous one’s registration) at the moment. This might change in future API versions.
Well documented source code is provided both in the plugin and on GitHub.
What other features would you like implemented?
Let me know what you think guys