UE4 Plugin for Chroma

This week, I’m wrapping up a UE4 plugin for Chroma [UE4ChromaSDK].

Next step, I’ll be making a [Custom Asset Type] on [tgraupmann].

The ForceFeedbackEffect has a hover animation that when clicked plays the animation which is what I want to do for Chroma. “Play selected force feedback effect” from


[Setting up AssetTypeActions]


Next step customizing the details window.

So you'll want to create an IDetailCustomization-derived class and implement that interface and register/unregister it in your plugin module's startup/shutdown logic
As for how to implement that interface, lot of stuff to cover there.
You'll implement CustomizeDetails, which has a IDetailLayoutBuilder parameter.

Example: [LocalizationDashboard]

Go to Editor Preferences, all settings, search "Localization Dashboard" and check the box.
Then go to Window -> Localization Dashboard (under Experimental), from the top-level menus.

[Customizing Details Panels]

[Programming DetailsCustomization]

[Slate Example Widgets]

Unreal Revisited

Back to making an Unreal Plugin.

First get the [UE4 Engine Source].

git clone -b 4.16 https://github.com/EpicGames/UnrealEngine

Created a C++ project and BP plugin – [UE4ChromaSDK]

C++ Chroma Reference: [RazerChromaSampleApplication] originally from [Chroma Downloads]

Good example of using Chroma and DLL loading in UE4 – [Blinken]

Previous UE4 plugin I made for reference: [ue4-plugin-razer-sdk]

Reference: [UE4 Variables]

Reference: [UE4 Enums]

Reference: [RzChromaSDKTypes.h]


REST support @todo later.

I’m using a [custom version of Swagger] which should be able to generate a C++ client. Swagger requires that [Maven] be in the environment path.

Here’s the [Swagger Definition Files]

I’ll use [CppRestChroma] to make sure REST works in an isolated project.

[Microsoft/cpprestsdk] has the C++ bits to do REST and JSON.

Unreal: Speech Plugins

I created repositories to hold some new Unreal projects.

Documentation: [UnrealHTML5SpeechDetection] [private repo]

[Demo 01 – Speech Dictation]


Default Local Build: [localhost:8000]

[Unreal: HTML5 – Getting Started]

[How to reduce HTML5 package size?]

Files Required for Final Deployment

*.js.gz   - compressed JavaScript files.
*.data    - compressed game content.
*.mem     - compressed memory initialization file.
*.html    - uncompressed landing page.
*.symbols - uncompressed symbols, if necessary.

[HTML5: Call C++ UFUNCTION from Webpage via JavaScript]

[HTML5Platform.Automation.cs] includes [GameX.html.template]

[Connecting C++ and HTML5] [info]

Video: [Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5]




[UE4 Improvements]


Pull Request: [Add support for including project and plugin JS]