razerofficial / UE4_XDK_SampleApp

Chroma Plugin and Samples for UE4
MIT License
7 stars 5 forks source link

Latest

Table of contents

See Also

Docs:

Plugins:

Quick Start

image_9

Overview

UE4ChromaSDKRT provides a runtime module for using the ChromaSDK. The runtime module provides a blueprint library and C++ methods for playing Chroma animations. See the Chroma Guide for details on how to make visually interesting Chroma animations using the plugin API.

Tutorials

Videos

Chroma Design Guide

UE4ChromaSDKRT Plugin Setup for your specific version of UE4.

UE4ChromaSDKRT Overview

Simplify UI Blueprints

Supported versions

This project is checked in under UE 4.21. To use a later version of Unreal, open the UE4ChromaSDKRT/UE4ChromaSDKRT.uproject project file in a text editor and change the EngineAssociation to the target version.

"EngineAssociation": "4.21",

To update the plugin version, open UE4ChromaSDKRT/Plugins/ChromaSDKPlugin/ChromaSDKPlugin.uplugin in a text editor and set the target version.

"EngineVersion": "4.21.0",

Chroma Editor Library

The Chroma Editor Library is a helper library for Chroma animation playback and realtime manipulation of Chroma animations.

In the UE4 Editor, Chroma animations files are placed within the project content folder. Animation paths used in the Chroma API are relative to the content folder.

UE4ChromaSDKRT\Content

image_16

In a standalone PC or Cloud build, Chroma animation files may need to be copied to within the build content folder.

WindowsNoEditor\UE4ChromaSDKRT\Content

image_17

The latest versions of the Chroma Editor Library can be found in Releases for Windows-PC and Windows-Cloud.

The plugin build file UE4ChromaSDKRT\Plugins\ChromaSDKPlugin\Source\ChromaSDKPlugin\ChromaSDKPlugin.Build.cs has a preprocessor definition to check the signature of the Chroma Editor Library. This a security feature and Chroma libraries won't be loaded that fail to pass the signature validation when this flag is enabled.

Definitions.Add("CHECK_CHROMA_LIBRARY_SIGNATURE=1");

Video: UE4 Chroma Animation Sample App - Streaming on Windows PC and Cloud

Windows PC

For Windows PC builds the RzChromaSDK.dll and RzChromaStreamPlugin.dll are not packaged with the build. These libraries are automatically updated and managed by Synapse and the Chroma Connect module. Avoid including these files in your build folder for Windows PC builds.

Within the Unreal Editor the Chroma Editor Library files are placed in Win32 and Win64 folders on Windows.

32-bit libraries

Project Folder\Binaries\Win32\CChromaEditorLibrary.dll
Build Folder\WindowsNoEditor\UE4ChromaSDKRT\Binaries\Win32\CChromaEditorLibrary.dll

64-bit libraries

Project Folder\Binaries\Win64\CChromaEditorLibrary64.dll
Build Folder\WindowsNoEditor\UE4ChromaSDKRT\Binaries\Win64\CChromaEditorLibrary64.dll

Windows Cloud

Windows Cloud builds run on cloud platforms using Windows such as Amazon Luna, Microsoft Game Pass, and NVidia GeForce Now. Game instances run in the cloud without direct access to Chroma hardware. By running the Windows Cloud version of the library Chroma effects can reach your local machine and connected hardware. Cloud instances won't have Synapse installed which requires special cloud versions of the libraries. The Chroma Editor Library uses the core RzChromaSDK low-level library to send Chroma effects to the cloud with the RzChromaStreamPlugin streaming library. Viewers can watch the cloud stream via the Razer Stream Portal.

32-bit libraries

(In Editor)
Project Folder\Binaries\Win32\CChromaEditorLibrary.dll
Project Folder\Binaries\Win32\RzChromaSDK.dll
Project Folder\Binaries\Win32\RzChromaStreamPlugin.dll

(Standalone Build)
Build Folder\WindowsNoEditor\UE4ChromaSDKRT\Binaries\Win32\CChromaEditorLibrary.dll
Build Folder\WindowsNoEditor\UE4ChromaSDKRT\Binaries\Win32\RzChromaSDK.dll
Build Folder\WindowsNoEditor\UE4ChromaSDKRT\Binaries\Win32\RzChromaStreamPlugin.dll

64-bit libraries

(In Editor)
Project Folder\Binaries\Win64\CChromaEditorLibrary64.dll
Project Folder\Binaries\Win64\RzChromaSDK64.dll
Project Folder\Binaries\Win64\RzChromaStreamPlugin64.dll

(Standalone Build)
Build Folder\WindowsNoEditor\UE4ChromaSDKRT\Binaries\Win64\CChromaEditorLibrary64.dll
Build Folder\WindowsNoEditor\UE4ChromaSDKRT\Binaries\Win64\RzChromaSDK64.dll
Build Folder\WindowsNoEditor\UE4ChromaSDKRT\Binaries\Win64\RzChromaStreamPlugin64.dll

Plugin Structure

Plugin Definition: Plugins/ChromaSDKPlugin/ChromaSDKPlugin.uplugin

Plugin Source: UE4ChromaSDKRT/Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/

Headers: UE4ChromaSDKRT/Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Public/

Implementation: UE4ChromaSDKRT/Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Private/

Plugin appears in Window->Plugins

image_1

Sample Blueprint Init / Uninit Setup

Event BeginPlay invokes InitSDK passing the AppInfo that provides the information that displays within Synapse->Connect->Apps. InitSDK returns 0 upon success after a 100ms delay the Chroma API is ready to use. If InitSDK returns nonzero, avoid further calls to the Chroma API. After success, make a call to SupportsStreaming and save the result. If SupportsStreaming returns true, the streaming API can be used for broadcasting Chroma.

image_10

Samples

The project has a few sample levels.

Samples share the same Stream Overlay logic defined in the UE4ChromaSDKRT/Content/UI/StreamingWidget_BP.uasset Widget Blueprint.

image_14

Sample UI event construction checks if streaming is supported before showing the button that displays the sample stream overlay.

image_15


UE4 Chroma Sample App

The UE4ChromaSDKRT/Content/Levels/SampleApp_Level.umap level shows the sample animations from the Chroma Animation Guide. The level blueprint uses BP functions defined in the UE4ChromaSDKRT/Source/UE4ChromaSDKRT/SampleAppChromaBP.h header and implemented in the UE4ChromaSDKRT/Source/UE4ChromaSDKRT/SampleAppChromaBP.cpp source.

image_11

UE4 Game Loop Chroma Sample App

The UE4ChromaSDKRT/Content/Levels/SampleGameLoopLevel.umap level shows how to dynamically set color effects directly through the API and while also playing several animations at the same time using various blending operations. This sample shows how to do Chroma effects without using premade Chroma animations. Chroma animations can be used as source color information when doing dynamic blending. The level blueprint uses BP functions defined in the UE4ChromaSDKRT/Source/UE4ChromaSDKRT/SampleGameLoopChromaBP.h header and implemented in the UE4ChromaSDKRT/Source/UE4ChromaSDKRT/SampleGameLoopChromaBP.cpp source.

image_12

UE4 Sample Game Chroma Design

The UE4ChromaSDKRT/Content/Levels/SampleGameLevel.umap level is a template intended to work with the automated Chroma Design Converter for quickly porting sample effects from HTML5 to Unity. The level blueprint uses BP functions defined in the UE4ChromaSDKRT/Source/UE4ChromaSDKRT/SampleGameChromaBP.h header and implemented in the UE4ChromaSDKRT/Source/UE4ChromaSDKRT/SampleGameChromaBP.cpp source. Chroma Design samples are commonly created with 15 sample effects which is why the template has that many buttons to play the sample effects from the ported code. The Chroma Design Converter is not limited to just 15 sample effects and can generate more effect code from the input HTML5 script.

image_13

API

UE4ChromaSDKRT is a Blueprint API library with more methods than the older UE4ChromaSDK Blueprint library with some exceptions to be compatible with earlier versions of UE4.


AddNonZeroAllKeys

Add source color to target where color is not black for frame id, reference source and target by id.

void UChromaSDKPluginBPLibrary::AddNonZeroAllKeys(int32 sourceAnimationId, 
 int32 targetAnimationId, int32 frameId);

AddNonZeroAllKeysAllFrames

Add source color to target where color is not black for all frames, reference source and target by id.

void UChromaSDKPluginBPLibrary::AddNonZeroAllKeysAllFrames(int32 sourceAnimationId, 
 int32 targetAnimationId);

AddNonZeroAllKeysAllFramesName

Add source color to target where color is not black for all frames, reference source and target by name.

void UChromaSDKPluginBPLibrary::AddNonZeroAllKeysAllFramesName(const FString& 
 sourceAnimationName, const FString& targetAnimationName);

AddNonZeroAllKeysAllFramesOffset

Add source color to target where color is not black for all frames starting at offset for the length of the source, reference source and target by id.

void UChromaSDKPluginBPLibrary::AddNonZeroAllKeysAllFramesOffset(int32 sourceAnimationId, 
 int32 targetAnimationId, int32 offset);

AddNonZeroAllKeysAllFramesOffsetName

Add source color to target where color is not black for all frames starting at offset for the length of the source, reference source and target by name.

void UChromaSDKPluginBPLibrary::AddNonZeroAllKeysAllFramesOffsetName(const 
 FString& sourceAnimationName, const FString& targetAnimationName, int32 
 offset);

AddNonZeroAllKeysName

Add source color to target where color is not black for frame id, reference source and target by name.

void UChromaSDKPluginBPLibrary::AddNonZeroAllKeysName(const FString& sourceAnimationName, 
 const FString& targetAnimationName, int32 frameId);

AddNonZeroTargetAllKeysAllFrames

Add source color to target where the target color is not black for all frames, reference source and target by id.

void UChromaSDKPluginBPLibrary::AddNonZeroTargetAllKeysAllFrames(int32 sourceAnimationId, 
 int32 targetAnimationId);

AddNonZeroTargetAllKeysAllFramesName

Add source color to target where the target color is not black for all frames, reference source and target by name.

void UChromaSDKPluginBPLibrary::AddNonZeroTargetAllKeysAllFramesName(const 
 FString& sourceAnimationName, const FString& targetAnimationName);

AddNonZeroTargetAllKeysAllFramesOffset

Add source color to target where the target color is not black for all frames starting at offset for the length of the source, reference source and target by id.

void UChromaSDKPluginBPLibrary::AddNonZeroTargetAllKeysAllFramesOffset(int32 
 sourceAnimationId, int32 targetAnimationId, int32 offset);

AddNonZeroTargetAllKeysAllFramesOffsetName

Add source color to target where the target color is not black for all frames starting at offset for the length of the source, reference source and target by name.

void UChromaSDKPluginBPLibrary::AddNonZeroTargetAllKeysAllFramesOffsetName(const 
 FString& sourceAnimationName, const FString& targetAnimationName, int32 
 offset);

AppendAllFrames

Append all source frames to the target animation, reference source and target by id.

void UChromaSDKPluginBPLibrary::AppendAllFrames(int32 sourceAnimationId, 
 int32 targetAnimationId);

AppendAllFramesName

Append all source frames to the target animation, reference source and target by name.

void UChromaSDKPluginBPLibrary::AppendAllFramesName(const FString& sourceAnimationName, 
 const FString& targetAnimationName);

ClearAll

PluginClearAll will issue a CLEAR effect for all devices.

void UChromaSDKPluginBPLibrary::ClearAll();

ClearAnimationType

PluginClearAnimationType will issue a CLEAR effect for the given device.

void UChromaSDKPluginBPLibrary::ClearAnimationType(EChromaSDKDeviceEnum::Type 
 device);

CloseAll

PluginCloseAll closes all open animations so they can be reloaded from disk. The set of animations will be stopped if playing.

void UChromaSDKPluginBPLibrary::CloseAll();

CloseAnimation

Closes the Chroma animation to free up resources referenced by id. Returns the animation id upon success. Returns negative one upon failure. This might be used while authoring effects if there was a change necessitating re-opening the animation. The animation id can no longer be used once closed.

void UChromaSDKPluginBPLibrary::CloseAnimation(const int32 animationId);

CloseAnimationName

Closes the Chroma animation referenced by name so that the animation can be reloaded from disk.

void UChromaSDKPluginBPLibrary::CloseAnimationName(const FString& animationName);

CopyAllKeys

Copy source animation to target animation for the given frame. Source and target are referenced by id.

void UChromaSDKPluginBPLibrary::CopyAllKeys(int32 sourceAnimationId, int32 
 targetAnimationId, int32 frameId);

CopyAllKeysName

Copy source animation to target animation for the given frame. Source and target are referenced by id.

void UChromaSDKPluginBPLibrary::CopyAllKeysName(const FString& sourceAnimationName, 
 const FString& targetAnimationName, int32 frameId);

CopyAnimation

Copy animation to named target animation in memory. If target animation exists, close first. Source is referenced by id.

void UChromaSDKPluginBPLibrary::CopyAnimation(int32 sourceAnimationId, const 
 FString& targetAnimationName);

CopyAnimationName

Copy animation to named target animation in memory. If target animation exists, close first. Source is referenced by name.

void UChromaSDKPluginBPLibrary::CopyAnimationName(const FString& sourceAnimationName, 
 const FString& targetAnimationName);

CopyKeyColor

Copy animation key color from the source animation to the target animation for the given frame. Reference the source and target by id.

void UChromaSDKPluginBPLibrary::CopyKeyColor(int32 sourceAnimationId, int32 
 targetAnimationId, int32 frameIndex, EChromaSDKKeyboardKey::Type key);

CopyKeyColorName

Copy animation key color from the source animation to the target animation for the given frame.

void UChromaSDKPluginBPLibrary::CopyKeyColorName(const FString& sourceAnimationName, 
 const FString& targetAnimationName, const int32 frameIndex, EChromaSDKKeyboardKey::Type 
 key);

CopyKeysColor

Copy animation color for a set of keys from the source animation to the target animation for the given frame. Reference the source and target by id.

void UChromaSDKPluginBPLibrary::CopyKeysColor(int32 sourceAnimationId, int32 
 targetAnimationId, int32 frameIndex, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& 
 keys);

CopyKeysColorAllFrames

Copy animation color for a set of keys from the source animation to the target animation for all frames. Reference the source and target by id.

void UChromaSDKPluginBPLibrary::CopyKeysColorAllFrames(int32 sourceAnimationId, 
 int32 targetAnimationId, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& 
 keys);

CopyKeysColorAllFramesName

Copy animation color for a set of keys from the source animation to the target animation for all frames. Reference the source and target by name.

void UChromaSDKPluginBPLibrary::CopyKeysColorAllFramesName(const FString& 
 sourceAnimationName, const FString& targetAnimationName, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& 
 keys);

CopyKeysColorName

Copy animation color for a set of keys from the source animation to the target animation for the given frame. Reference the source and target by name.

void UChromaSDKPluginBPLibrary::CopyKeysColorName(const FString& sourceAnimationName, 
 const FString& targetAnimationName, const int32 frameIndex, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& 
 keys);

CopyNonZeroAllKeys

Copy source animation to target animation for the given frame. Source and target are referenced by id.

void UChromaSDKPluginBPLibrary::CopyNonZeroAllKeys(int32 sourceAnimationId, 
 int32 targetAnimationId, int32 frameId);

CopyNonZeroAllKeysAllFrames

Copy nonzero colors from a source animation to a target animation for all frames. Reference source and target by id.

void UChromaSDKPluginBPLibrary::CopyNonZeroAllKeysAllFrames(int32 sourceAnimationId, 
 int32 targetAnimationId);

CopyNonZeroAllKeysAllFramesName

Copy nonzero colors from a source animation to a target animation for all frames. Reference source and target by name.

void UChromaSDKPluginBPLibrary::CopyNonZeroAllKeysAllFramesName(const FString& 
 sourceAnimationName, const FString& targetAnimationName);

CopyNonZeroAllKeysAllFramesOffset

Copy nonzero colors from a source animation to a target animation for all frames starting at the offset for the length of the source animation. The source and target are referenced by id.

void UChromaSDKPluginBPLibrary::CopyNonZeroAllKeysAllFramesOffset(int32 
 sourceAnimationId, int32 targetAnimationId, int32 offset);

CopyNonZeroAllKeysAllFramesOffsetName

Copy nonzero colors from a source animation to a target animation for all frames starting at the offset for the length of the source animation. The source and target are referenced by name.

void UChromaSDKPluginBPLibrary::CopyNonZeroAllKeysAllFramesOffsetName(const 
 FString& sourceAnimationName, const FString& targetAnimationName, int32 
 offset);

CopyNonZeroAllKeysName

Copy nonzero colors from source animation to target animation for the specified frame. Source and target are referenced by id.

void UChromaSDKPluginBPLibrary::CopyNonZeroAllKeysName(const FString& sourceAnimationName, 
 const FString& targetAnimationName, int32 frameId);

CopyNonZeroAllKeysOffset

Copy nonzero colors from the source animation to the target animation from the source frame to the target offset frame. Source and target are referenced by id.

void UChromaSDKPluginBPLibrary::CopyNonZeroAllKeysOffset(int32 sourceAnimationId, 
 int32 targetAnimationId, int32 frameId, int32 offset);

CopyNonZeroAllKeysOffsetName

Copy nonzero colors from the source animation to the target animation from the source frame to the target offset frame. Source and target are referenced by name.

void UChromaSDKPluginBPLibrary::CopyNonZeroAllKeysOffsetName(const FString& 
 sourceAnimationName, const FString& targetAnimationName, int32 frameId, 
 int32 offset);

CopyNonZeroKeyColor

Copy animation key color from the source animation to the target animation for the given frame where color is not zero.

void UChromaSDKPluginBPLibrary::CopyNonZeroKeyColor(int32 sourceAnimationId, 
 int32 targetAnimationId, int32 frameIndex, EChromaSDKKeyboardKey::Type 
 key);

CopyNonZeroKeyColorName

Copy animation key color from the source animation to the target animation for the given frame where color is not zero.

void UChromaSDKPluginBPLibrary::CopyNonZeroKeyColorName(const FString& sourceAnimationName, 
 const FString& targetAnimationName, const int32 frameIndex, EChromaSDKKeyboardKey::Type 
 key);

CopyNonZeroTargetAllKeys

Copy nonzero colors from the source animation to the target animation where the target color is nonzero for the specified frame. Source and target are referenced by id.

void UChromaSDKPluginBPLibrary::CopyNonZeroTargetAllKeys(int32 sourceAnimationId, 
 int32 targetAnimationId, int32 frameId);

CopyNonZeroTargetAllKeysAllFrames

Copy nonzero colors from the source animation to the target animation where the target color is nonzero for all frames. Source and target are referenced by id.

void UChromaSDKPluginBPLibrary::CopyNonZeroTargetAllKeysAllFrames(int32 
 sourceAnimationId, int32 targetAnimationId);

CopyNonZeroTargetAllKeysAllFramesName

Copy nonzero colors from the source animation to the target animation where the target color is nonzero for all frames. Source and target are referenced by name.

void UChromaSDKPluginBPLibrary::CopyNonZeroTargetAllKeysAllFramesName(const 
 FString& sourceAnimationName, const FString& targetAnimationName);

CopyNonZeroTargetAllKeysAllFramesOffset

Copy nonzero colors from the source animation to the target animation where the target color is nonzero for all frames. Source and target are referenced by name.

void UChromaSDKPluginBPLibrary::CopyNonZeroTargetAllKeysAllFramesOffset(int32 
 sourceAnimationId, int32 targetAnimationId, int32 offset);

CopyNonZeroTargetAllKeysAllFramesOffsetName

Copy nonzero colors from the source animation to the target animation where the target color is nonzero for all frames starting at the target offset for the length of the source animation. Source and target animations are referenced by name.

void UChromaSDKPluginBPLibrary::CopyNonZeroTargetAllKeysAllFramesOffsetName(const 
 FString& sourceAnimationName, const FString& targetAnimationName, int32 
 offset);

CopyNonZeroTargetAllKeysName

Copy nonzero colors from the source animation to the target animation where the target color is nonzero for the specified frame. The source and target are referenced by name.

void UChromaSDKPluginBPLibrary::CopyNonZeroTargetAllKeysName(const FString& 
 sourceAnimationName, const FString& targetAnimationName, int32 frameId);

CopyZeroTargetAllKeysAllFrames

Copy nonzero color from source animation to target animation where target is zero for all frames. Source and target are referenced by id.

void UChromaSDKPluginBPLibrary::CopyZeroTargetAllKeysAllFrames(int32 sourceAnimationId, 
 int32 targetAnimationId);

CopyZeroTargetAllKeysAllFramesName

Copy nonzero color from source animation to target animation where target is zero for all frames. Source and target are referenced by name.

void UChromaSDKPluginBPLibrary::CopyZeroTargetAllKeysAllFramesName(const 
 FString& sourceAnimationName, const FString& targetAnimationName);

DuplicateFirstFrame

Duplicate the first animation frame so that the animation length matches the frame count. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::DuplicateFirstFrame(int32 animationId, int32 
 frameCount);

DuplicateFirstFrameName

Duplicate the first animation frame so that the animation length matches the frame count. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::DuplicateFirstFrameName(const FString& animationName, 
 int32 frameCount);

DuplicateFrames

Duplicate all the frames of the animation to double the animation length. Frame 1 becomes frame 1 and 2. Frame 2 becomes frame 3 and 4. And so on. The animation is referenced by id.

void UChromaSDKPluginBPLibrary::DuplicateFrames(int32 animationId);

DuplicateFramesName

Duplicate all the frames of the animation to double the animation length. Frame 1 becomes frame 1 and 2. Frame 2 becomes frame 3 and 4. And so on. The animation is referenced by name.

void UChromaSDKPluginBPLibrary::DuplicateFramesName(const FString& animationName);

DuplicateMirrorFrames

Duplicate all the animation frames in reverse so that the animation plays forwards and backwards. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::DuplicateMirrorFrames(int32 animationId);

DuplicateMirrorFramesName

Duplicate all the animation frames in reverse so that the animation plays forwards and backwards. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::DuplicateMirrorFramesName(const FString& 
 animationName);

FadeEndFrames

Fade the animation to black starting at the fade frame index to the end of the animation. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FadeEndFrames(int32 animationId, int32 fade);

FadeEndFramesName

Fade the animation to black starting at the fade frame index to the end of the animation. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FadeEndFramesName(const FString& animationName, 
 int32 fade);

FadeStartFrames

Fade the animation from black to full color starting at 0 to the fade frame index. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FadeStartFrames(int32 animationId, int32 
 fade);

FadeStartFramesName

Fade the animation from black to full color starting at 0 to the fade frame index. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FadeStartFramesName(const FString& animationName, 
 int32 fade);

FillColor

Set the RGB value for all colors in the specified frame. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillColor(int32 animationId, int32 frameId, 
 const FLinearColor& colorParam);

FillColorAllFrames

Set the RGB value for all colors for all frames. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillColorAllFrames(int32 animationId, const 
 FLinearColor& colorParam);

FillColorAllFramesName

Set the RGB value for all colors for all frames. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillColorAllFramesName(const FString& animationName, 
 const FLinearColor& colorParam);

FillColorAllFramesRGB

Set the RGB value for all colors for all frames. Use the range of 0 to 255 for red, green, and blue parameters. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillColorAllFramesRGB(int32 animationId, 
 int32 red, int32 green, int32 blue);

FillColorAllFramesRGBName

Set the RGB value for all colors for all frames. Use the range of 0 to 255 for red, green, and blue parameters. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillColorAllFramesRGBName(const FString& 
 animationName, int32 red, int32 green, int32 blue);

FillColorName

Set the RGB value for all colors in the specified frame. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillColorName(const FString& animationName, 
 int32 frameId, const FLinearColor& colorParam);

FillColorRGB

Set the RGB value for all colors in the specified frame. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillColorRGB(int32 animationId, int32 frameId, 
 int32 red, int32 green, int32 blue);

FillColorRGBName

Set the RGB value for all colors in the specified frame. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillColorRGBName(const FString& animationName, 
 int32 frameId, int32 red, int32 green, int32 blue);

FillNonZeroColor

This method will only update colors in the animation that are not already set to black. Set the RGB value for a subset of colors in the specified frame. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillNonZeroColor(int32 animationId, int32 
 frameId, const FLinearColor& colorParam);

FillNonZeroColorAllFrames

This method will only update colors in the animation that are not already set to black. Set the RGB value for a subset of colors for all frames. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillNonZeroColorAllFrames(int32 animationId, 
 const FLinearColor& colorParam);

FillNonZeroColorAllFramesName

This method will only update colors in the animation that are not already set to black. Set the RGB value for a subset of colors for all frames. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillNonZeroColorAllFramesName(const FString& 
 animationName, const FLinearColor& colorParam);

FillNonZeroColorAllFramesRGB

This method will only update colors in the animation that are not already set to black. Set the RGB value for a subset of colors for all frames. Use the range of 0 to 255 for red, green, and blue parameters. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillNonZeroColorAllFramesRGB(int32 animationId, 
 int32 red, int32 green, int32 blue);

FillNonZeroColorAllFramesRGBName

This method will only update colors in the animation that are not already set to black. Set the RGB value for a subset of colors for all frames. Use the range of 0 to 255 for red, green, and blue parameters. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillNonZeroColorAllFramesRGBName(const FString& 
 animationName, int32 red, int32 green, int32 blue);

FillNonZeroColorName

This method will only update colors in the animation that are not already set to black. Set the RGB value for a subset of colors in the specified frame. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillNonZeroColorName(const FString& animationName, 
 int32 frameId, const FLinearColor& colorParam);

FillNonZeroColorRGB

This method will only update colors in the animation that are not already set to black. Set the RGB value for a subset of colors in the specified frame. Use the range of 0 to 255 for red, green, and blue parameters. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillNonZeroColorRGB(int32 animationId, int32 
 frameId, int32 red, int32 green, int32 blue);

FillNonZeroColorRGBName

This method will only update colors in the animation that are not already set to black. Set the RGB value for a subset of colors in the specified frame. Use the range of 0 to 255 for red, green, and blue parameters. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillNonZeroColorRGBName(const FString& animationName, 
 int32 frameId, int32 red, int32 green, int32 blue);

FillRandomColors

Fill the frame with random RGB values for the given frame. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillRandomColors(int32 animationId, int32 
 frameId);

FillRandomColorsAllFrames

Fill the frame with random RGB values for all frames. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillRandomColorsAllFrames(int32 animationId);

FillRandomColorsAllFramesName

Fill the frame with random RGB values for all frames. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillRandomColorsAllFramesName(const FString& 
 animationName);

FillRandomColorsBlackAndWhite

Fill the frame with random black and white values for the specified frame. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillRandomColorsBlackAndWhite(int32 animationId, 
 int32 frameId);

FillRandomColorsBlackAndWhiteAllFrames

Fill the frame with random black and white values for all frames. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillRandomColorsBlackAndWhiteAllFrames(int32 
 animationId);

FillRandomColorsBlackAndWhiteAllFramesName

Fill the frame with random black and white values for all frames. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillRandomColorsBlackAndWhiteAllFramesName(const 
 FString& animationName);

FillRandomColorsBlackAndWhiteName

Fill the frame with random black and white values for the specified frame. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillRandomColorsBlackAndWhiteName(const 
 FString& animationName, int32 frameId);

FillRandomColorsName

Fill the frame with random RGB values for the given frame. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillRandomColorsName(const FString& animationName, 
 int32 frameId);

FillThresholdColorsAllFrames

Fill all frames with RGB color where the animation color is less than the RGB threshold. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillThresholdColorsAllFrames(int32 animationId, 
 int32 threshold, const FLinearColor& colorParam);

FillThresholdColorsAllFramesName

Fill all frames with RGB color where the animation color is less than the RGB threshold. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillThresholdColorsAllFramesName(const FString& 
 animationName, int32 threshold, const FLinearColor& colorParam);

FillThresholdColorsAllFramesRGB

Fill all frames with RGB color where the animation color is less than the threshold. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillThresholdColorsAllFramesRGB(int32 animationId, 
 int32 threshold, int32 red, int32 green, int32 blue);

FillThresholdColorsAllFramesRGBName

Fill all frames with RGB color where the animation color is less than the threshold. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillThresholdColorsAllFramesRGBName(const 
 FString& animationName, int32 threshold, int32 red, int32 green, int32 
 blue);

FillThresholdColorsMinMaxAllFramesRGB

Fill all frames with the min RGB color where the animation color is less than the min threshold AND with the max RGB color where the animation is more than the max threshold. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillThresholdColorsMinMaxAllFramesRGB(int32 
 animationId, int32 minThreshold, int32 minRed, int32 minGreen, int32 minBlue, 
 int32 maxThreshold, int32 maxRed, int32 maxGreen, int32 maxBlue);

FillThresholdColorsMinMaxAllFramesRGBName

Fill all frames with the min RGB color where the animation color is less than the min threshold AND with the max RGB color where the animation is more than the max threshold. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillThresholdColorsMinMaxAllFramesRGBName(const 
 FString& animationName, int32 minThreshold, int32 minRed, int32 minGreen, 
 int32 minBlue, int32 maxThreshold, int32 maxRed, int32 maxGreen, int32 
 maxBlue);

FillThresholdColorsRGB

Fill the specified frame with RGB color where the animation color is less than the RGB threshold. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillThresholdColorsRGB(int32 animationId, 
 int32 frameId, int32 threshold, int32 red, int32 green, int32 blue);

FillThresholdColorsRGBName

Fill the specified frame with RGB color where the animation color is less than the RGB threshold. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillThresholdColorsRGBName(const FString& 
 animationName, int32 frameId, int32 threshold, int32 red, int32 green, 
 int32 blue);

FillThresholdRGBColorsAllFramesRGB

Fill all frames with RGB color where the animation color is less than the RGB threshold. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillThresholdRGBColorsAllFramesRGB(int32 
 animationId, int32 redThreshold, int32 greenThreshold, int32 blueThreshold, 
 int32 red, int32 green, int32 blue);

FillThresholdRGBColorsAllFramesRGBName

Fill all frames with RGB color where the animation color is less than the RGB threshold. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillThresholdRGBColorsAllFramesRGBName(const 
 FString& animationName, int32 redThreshold, int32 greenThreshold, int32 
 blueThreshold, int32 red, int32 green, int32 blue);

FillZeroColor

Fill the specified frame with RGB color where the animation color is zero. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillZeroColor(int32 animationId, int32 frameId, 
 const FLinearColor& colorParam);

FillZeroColorAllFrames

Fill all frames with RGB color where the animation color is zero. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillZeroColorAllFrames(int32 animationId, 
 const FLinearColor& colorParam);

FillZeroColorAllFramesName

Fill all frames with RGB color where the animation color is zero. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillZeroColorAllFramesName(const FString& 
 animationName, const FLinearColor& colorParam);

FillZeroColorAllFramesRGB

Fill all frames with RGB color where the animation color is zero. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillZeroColorAllFramesRGB(int32 animationId, 
 int32 red, int32 green, int32 blue);

FillZeroColorAllFramesRGBName

Fill all frames with RGB color where the animation color is zero. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillZeroColorAllFramesRGBName(const FString& 
 animationName, int32 red, int32 green, int32 blue);

FillZeroColorName

Fill the specified frame with RGB color where the animation color is zero. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillZeroColorName(const FString& animationName, 
 int32 frameId, const FLinearColor& colorParam);

FillZeroColorRGB

Fill the specified frame with RGB color where the animation color is zero. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::FillZeroColorRGB(int32 animationId, int32 
 frameId, int32 red, int32 green, int32 blue);

FillZeroColorRGBName

Fill the specified frame with RGB color where the animation color is zero. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::FillZeroColorRGBName(const FString& animationName, 
 int32 frameId, int32 red, int32 green, int32 blue);

GetAnimation

Get the animation id for the named animation.

int32 UChromaSDKPluginBPLibrary::GetAnimation(const FString& animationName);

GetAnimationCount

PluginGetAnimationCount will return the number of loaded animations.

int32 UChromaSDKPluginBPLibrary::GetAnimationCount();

GetAnimationId

PluginGetAnimationId will return the animationId given the index of the loaded animation. The index is zero-based and less than the number returned by PluginGetAnimationCount. Use PluginGetAnimationName to get the name of the animation.

int32 UChromaSDKPluginBPLibrary::GetAnimationId(const FString& animationName);

GetAnimationName

PluginGetAnimationName takes an animationId and returns the name of the animation of the .chroma animation file. If a name is not available then an empty string will be returned.

FString UChromaSDKPluginBPLibrary::GetAnimationName(const int32 animationId);

GetCurrentFrame

Get the current frame of the animation referenced by id.

int32 UChromaSDKPluginBPLibrary::GetCurrentFrame(int32 animationId);

GetCurrentFrameName

Get the current frame of the animation referenced by name.

int32 UChromaSDKPluginBPLibrary::GetCurrentFrameName(const FString& animationName);

GetFrameCount

Returns the frame count of a Chroma animation upon success. Returns negative one upon failure.

int32 UChromaSDKPluginBPLibrary::GetFrameCount(const int32 animationId);

GetFrameCountName

Returns the frame count of a Chroma animation upon success. Returns negative one upon failure.

int32 UChromaSDKPluginBPLibrary::GetFrameCountName(const FString& animationName);

GetKeyColor

Get the color of an animation key for the given frame referenced by id.

FLinearColor UChromaSDKPluginBPLibrary::GetKeyColor(int32 animationId, int32 
 frameIndex, EChromaSDKKeyboardKey::Type key);

GetKeyColorName

Get the color of an animation key for the given frame referenced by name.

FLinearColor UChromaSDKPluginBPLibrary::GetKeyColorName(const FString& animationName, 
 const int32 frameIndex, EChromaSDKKeyboardKey::Type key);

GetMaxColumn

Returns the MAX COLUMN given the EChromaSDKDevice2DEnum device as an integer upon success. Returns negative one upon failure.

int32 UChromaSDKPluginBPLibrary::GetMaxColumn(EChromaSDKDevice2DEnum::Type 
 device);

GetMaxLeds

Returns the MAX LEDS given the EChromaSDKDevice1DEnum device as an integer upon success. Returns negative one upon failure.

int32 UChromaSDKPluginBPLibrary::GetMaxLeds(EChromaSDKDevice1DEnum::Type 
 device);

GetMaxRow

Returns the MAX ROW given the EChromaSDKDevice2DEnum device as an integer upon success. Returns negative one upon failure.

int32 UChromaSDKPluginBPLibrary::GetMaxRow(EChromaSDKDevice2DEnum::Type 
 device);

GetPlayingAnimationCount

PluginGetPlayingAnimationCount will return the number of playing animations.

int32 UChromaSDKPluginBPLibrary::GetPlayingAnimationCount();

GetPlayingAnimationId

PluginGetPlayingAnimationId will return the animationId given the index of the playing animation. The index is zero-based and less than the number returned by PluginGetPlayingAnimationCount. Use PluginGetAnimationName to get the name of the animation.

int32 UChromaSDKPluginBPLibrary::GetPlayingAnimationId(int32 index);

GetRGB

Get the RGB color given red, green, and blue.

FLinearColor UChromaSDKPluginBPLibrary::GetRGB(int32 red, int32 green, int32 
 blue);

InsertDelay

Insert an animation delay by duplicating the frame by the delay number of times. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::InsertDelay(int32 animationId, int32 frameId, 
 int32 delay);

InsertDelayName

Insert an animation delay by duplicating the frame by the delay number of times. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::InsertDelayName(const FString& animationName, 
 int32 frameId, int32 delay);

InsertFrame

Duplicate the source frame index at the target frame index. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::InsertFrame(int32 animationId, int32 sourceFrame, 
 int32 targetFrame);

InsertFrameName

Duplicate the source frame index at the target frame index. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::InsertFrameName(const FString& animationName, 
 int32 sourceFrame, int32 targetFrame);

InvertColorsAllFrames

Invert all the colors for all frames. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::InvertColorsAllFrames(int32 animationId);

InvertColorsAllFramesName

Invert all the colors for all frames. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::InvertColorsAllFramesName(const FString& 
 animationName);

IsInitialized

Returns true if the plugin has been initialized. Returns false if the plugin is uninitialized.

bool UChromaSDKPluginBPLibrary::IsInitialized();

Lerp

Do a lerp math operation on a float.

float UChromaSDKPluginBPLibrary::Lerp(float start, float end, float amt);

LerpColor

Lerp from one color to another given t in the range 0.0 to 1.0.

FLinearColor UChromaSDKPluginBPLibrary::LerpColor(FLinearColor colorParam1, 
 FLinearColor colorParam2, float t);

LoadAnimation

Loads Chroma effects so that the animation can be played immediately. Returns the animation id upon success. Returns negative one upon failure.

void UChromaSDKPluginBPLibrary::LoadAnimation(const int32 animationId);

LoadAnimationName

Load the named animation.

void UChromaSDKPluginBPLibrary::LoadAnimationName(const FString& animationName);

MakeBlankFrames

Make a blank animation for the length of the frame count. Frame duration defaults to the duration. The frame color defaults to color. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::MakeBlankFrames(int32 animationId, int32 
 frameCount, float duration, const FLinearColor& colorParam);

MakeBlankFramesName

Make a blank animation for the length of the frame count. Frame duration defaults to the duration. The frame color defaults to color. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::MakeBlankFramesName(const FString& animationName, 
 int32 frameCount, float duration, const FLinearColor& colorParam);

MakeBlankFramesRandom

Make a blank animation for the length of the frame count. Frame duration defaults to the duration. The frame color is random. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::MakeBlankFramesRandom(int32 animationId, 
 int32 frameCount, float duration);

MakeBlankFramesRandomBlackAndWhite

Make a blank animation for the length of the frame count. Frame duration defaults to the duration. The frame color is random black and white. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::MakeBlankFramesRandomBlackAndWhite(int32 
 animationId, int32 frameCount, float duration);

MakeBlankFramesRandomBlackAndWhiteName

Make a blank animation for the length of the frame count. Frame duration defaults to the duration. The frame color is random black and white. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::MakeBlankFramesRandomBlackAndWhiteName(const 
 FString& animationName, int32 frameCount, float duration);

MakeBlankFramesRandomName

Make a blank animation for the length of the frame count. Frame duration defaults to the duration. The frame color is random. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::MakeBlankFramesRandomName(const FString& 
 animationName, int32 frameCount, float duration);

MakeBlankFramesRGB

Make a blank animation for the length of the frame count. Frame duration defaults to the duration. The frame color defaults to color. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::MakeBlankFramesRGB(int32 animationId, int32 
 frameCount, float duration, int32 red, int32 green, int32 blue);

MakeBlankFramesRGBName

Make a blank animation for the length of the frame count. Frame duration defaults to the duration. The frame color defaults to color. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::MakeBlankFramesRGBName(const FString& animationName, 
 int32 frameCount, float duration, int32 red, int32 green, int32 blue);

MultiplyColorLerpAllFrames

Multiply the color intensity with the lerp result from color 1 to color 2 using the frame index divided by the frame count for the t parameter. Animation is referenced in id.

void UChromaSDKPluginBPLibrary::MultiplyColorLerpAllFrames(int32 animationId, 
 const FLinearColor& colorParam1, const FLinearColor& colorParam2);

MultiplyColorLerpAllFramesName

Multiply the color intensity with the lerp result from color 1 to color 2 using the frame index divided by the frame count for the t parameter. Animation is referenced in name.

void UChromaSDKPluginBPLibrary::MultiplyColorLerpAllFramesName(const FString& 
 animationName, const FLinearColor& colorParam1, const FLinearColor& colorParam2);

MultiplyIntensity

Multiply all the colors in the frame by the intensity value. The valid the intensity range is from 0.0 to 255.0. RGB components are multiplied equally. An intensity of 0.5 would half the color value. Black colors in the frame will not be affected by this method.

void UChromaSDKPluginBPLibrary::MultiplyIntensity(int32 animationId, int32 
 frameId, float intensity);

MultiplyIntensityAllFrames

Multiply all the colors for all frames by the intensity value. The valid the intensity range is from 0.0 to 255.0. RGB components are multiplied equally. An intensity of 0.5 would half the color value. Black colors in the frame will not be affected by this method.

void UChromaSDKPluginBPLibrary::MultiplyIntensityAllFrames(int32 animationId, 
 float intensity);

MultiplyIntensityAllFramesName

Multiply all the colors for all frames by the intensity value. The valid the intensity range is from 0.0 to 255.0. RGB components are multiplied equally. An intensity of 0.5 would half the color value. Black colors in the frame will not be affected by this method.

void UChromaSDKPluginBPLibrary::MultiplyIntensityAllFramesName(const FString& 
 animationName, float intensity);

MultiplyIntensityAllFramesRGB

Multiply all frames by the RBG color intensity. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::MultiplyIntensityAllFramesRGB(int32 animationId, 
 int32 red, int32 green, int32 blue);

MultiplyIntensityAllFramesRGBName

Multiply all frames by the RBG color intensity. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::MultiplyIntensityAllFramesRGBName(const 
 FString& animationName, int32 red, int32 green, int32 blue);

MultiplyIntensityColor

Multiply the specific frame by the RBG color intensity. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::MultiplyIntensityColor(int32 animationId, 
 int32 frameId, const FLinearColor& colorParam);

MultiplyIntensityColorAllFrames

Multiply all frames by the RBG color intensity. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::MultiplyIntensityColorAllFrames(int32 animationId, 
 const FLinearColor& colorParam);

MultiplyIntensityColorAllFramesName

Multiply all frames by the RBG color intensity. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::MultiplyIntensityColorAllFramesName(const 
 FString& animationName, const FLinearColor& colorParam);

MultiplyIntensityColorName

Multiply the specific frame by the RBG color intensity. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::MultiplyIntensityColorName(const FString& 
 animationName, int32 frameId, const FLinearColor& colorParam);

MultiplyIntensityName

Multiply all the colors in the frame by the intensity value. The valid the intensity range is from 0.0 to 255.0. RGB components are multiplied equally. An intensity of 0.5 would half the color value. Black colors in the frame will not be affected by this method.

void UChromaSDKPluginBPLibrary::MultiplyIntensityName(const FString& animationName, 
 int32 frameId, float intensity);

MultiplyIntensityRGB

Multiply the specific frame by the RBG color intensity. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::MultiplyIntensityRGB(int32 animationId, 
 int32 frameId, int32 red, int32 green, int32 blue);

MultiplyIntensityRGBName

Multiply the specific frame by the RBG color intensity. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::MultiplyIntensityRGBName(const FString& 
 animationName, int32 frameId, int32 red, int32 green, int32 blue);

MultiplyNonZeroTargetColorLerpAllFrames

Multiply all frames by the color lerp result between color 1 and 2 using the frame color value as the t value. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::MultiplyNonZeroTargetColorLerpAllFrames(int32 
 animationId, const FLinearColor& colorParam1, const FLinearColor& colorParam2);

MultiplyNonZeroTargetColorLerpAllFramesName

Multiply all frames by the color lerp result between color 1 and 2 using the frame color value as the t value. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::MultiplyNonZeroTargetColorLerpAllFramesName(const 
 FString& animationName, const FLinearColor& colorParam1, const FLinearColor& 
 colorParam2);

MultiplyTargetColorLerpAllFrames

Multiply all frames by the color lerp result between color 1 and 2 using the frame color value as the t value. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::MultiplyTargetColorLerpAllFrames(int32 animationId, 
 const FLinearColor& colorParam1, const FLinearColor& colorParam2);

MultiplyTargetColorLerpAllFramesName

Multiply all frames by the color lerp result between color 1 and 2 using the frame color value as the t value. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::MultiplyTargetColorLerpAllFramesName(const 
 FString& animationName, const FLinearColor& colorParam1, const FLinearColor& 
 colorParam2);

OffsetColors

Offset all colors in the frame using the RGB offset. Use the range of -255 to 255 for red, green, and blue parameters. Negative values remove color. Positive values add color.

void UChromaSDKPluginBPLibrary::OffsetColors(int32 animationId, int32 frameId, 
 int32 red, int32 green, int32 blue);

OffsetColorsAllFrames

Offset all colors for all frames using the RGB offset. Use the range of -255 to 255 for red, green, and blue parameters. Negative values remove color. Positive values add color.

void UChromaSDKPluginBPLibrary::OffsetColorsAllFrames(int32 animationId, 
 int32 red, int32 green, int32 blue);

OffsetColorsAllFramesName

Offset all colors for all frames using the RGB offset. Use the range of -255 to 255 for red, green, and blue parameters. Negative values remove color. Positive values add color.

void UChromaSDKPluginBPLibrary::OffsetColorsAllFramesName(const FString& 
 animationName, int32 red, int32 green, int32 blue);

OffsetColorsName

Offset all colors in the frame using the RGB offset. Use the range of -255 to 255 for red, green, and blue parameters. Negative values remove color. Positive values add color.

void UChromaSDKPluginBPLibrary::OffsetColorsName(const FString& animationName, 
 int32 frameId, int32 red, int32 green, int32 blue);

OffsetNonZeroColors

This method will only update colors in the animation that are not already set to black. Offset a subset of colors in the frame using the RGB offset. Use the range of -255 to 255 for red, green, and blue parameters. Negative values remove color. Positive values add color.

void UChromaSDKPluginBPLibrary::OffsetNonZeroColors(int32 animationId, int32 
 frameId, int32 red, int32 green, int32 blue);

OffsetNonZeroColorsAllFrames

This method will only update colors in the animation that are not already set to black. Offset a subset of colors for all frames using the RGB offset. Use the range of -255 to 255 for red, green, and blue parameters. Negative values remove color. Positive values add color.

void UChromaSDKPluginBPLibrary::OffsetNonZeroColorsAllFrames(int32 animationId, 
 int32 red, int32 green, int32 blue);

OffsetNonZeroColorsAllFramesName

This method will only update colors in the animation that are not already set to black. Offset a subset of colors for all frames using the RGB offset. Use the range of -255 to 255 for red, green, and blue parameters. Negative values remove color. Positive values add color.

void UChromaSDKPluginBPLibrary::OffsetNonZeroColorsAllFramesName(const FString& 
 animationName, int32 red, int32 green, int32 blue);

OffsetNonZeroColorsName

This method will only update colors in the animation that are not already set to black. Offset a subset of colors in the frame using the RGB offset. Use the range of -255 to 255 for red, green, and blue parameters. Negative values remove color. Positive values add color.

void UChromaSDKPluginBPLibrary::OffsetNonZeroColorsName(const FString& animationName, 
 int32 frameId, int32 red, int32 green, int32 blue);

OpenAnimationFromMemory

Opens a Chroma animation data from memory so that it can be played. Data is a pointer to BYTE array of the loaded animation in memory. Name will be assigned to the animation when loaded. Returns an animation id >= 0 upon success. Returns negative one if there was a failure. The animation id is used in most of the API methods.

void UChromaSDKPluginBPLibrary::OpenAnimationFromMemory(const TArray<uint8>& 
 data, const FString& animationName);

OverrideFrameDurationName

Override the duration of all frames with the duration value. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::OverrideFrameDurationName(const FString& 
 animationName, float duration);

PlayAnimation

Plays the Chroma animation. This will load the animation, if not loaded previously. Returns the animation id upon success. Returns negative one upon failure.

void UChromaSDKPluginBPLibrary::PlayAnimation(const FString& animationName, 
 bool loop);

PlayAnimationName

PluginPlayAnimationName automatically handles initializing the ChromaSDK. The named .chroma animation file will be automatically opened. The animation will play with looping on or off.

void UChromaSDKPluginBPLibrary::PlayAnimationName(const FString& animationName, 
 bool loop);

PreviewFrame

Displays the Chroma animation frame on Chroma hardware given the frameIndex. Returns the animation id upon success. Returns negative one upon failure.

int32 UChromaSDKPluginBPLibrary::PreviewFrame(int32 animationId, int32 frameId);

PreviewFrameName

Displays the Chroma animation frame on Chroma hardware given the frameIndex. Animaton is referenced by name.

void UChromaSDKPluginBPLibrary::PreviewFrameName(const FString& animationName, 
 int32 frameId);

ReduceFrames

Reduce the frames of the animation by removing every nth element. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::ReduceFrames(int32 animationId, int32 n);

ReduceFramesName

Reduce the frames of the animation by removing every nth element. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::ReduceFramesName(const FString& animationName, 
 int32 n);

ReverseAllFrames

Reverse the animation frame order of the Chroma animation. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::ReverseAllFrames(int32 animationId);

ReverseAllFramesName

Reverse the animation frame order of the Chroma animation. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::ReverseAllFramesName(const FString& animationName);

SetChromaCustomColorAllFramesName

When custom color is set, the custom key mode will be used. The animation is referenced by name.

void UChromaSDKPluginBPLibrary::SetChromaCustomColorAllFramesName(const 
 FString& animationName);

SetChromaCustomFlagName

Set the Chroma custom key color flag on all frames. True changes the layout from grid to key. True changes the layout from key to grid. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::SetChromaCustomFlagName(const FString& animationName, 
 bool flag);

SetCurrentFrame

Set the current frame of the animation referenced by id.

void UChromaSDKPluginBPLibrary::SetCurrentFrame(int32 animationId, int32 
 frameId);

SetCurrentFrameName

Set the current frame of the animation referenced by name.

void UChromaSDKPluginBPLibrary::SetCurrentFrameName(const FString& animationName, 
 int32 frameId);

SetIdleAnimationName

When the idle animation is used, the named animation will play when no other animations are playing. Reference the animation by name.

void UChromaSDKPluginBPLibrary::SetIdleAnimationName(const FString& animationName);

SetKeyColor

Set animation key to a static color for the given frame.

void UChromaSDKPluginBPLibrary::SetKeyColor(int32 animationId, int32 frameIndex, 
 EChromaSDKKeyboardKey::Type key, const FLinearColor& colorParam);

SetKeyColorAllFrames

Set the key to the specified key color for all frames. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::SetKeyColorAllFrames(int32 animationId, 
 EChromaSDKKeyboardKey::Type key, const FLinearColor& colorParam);

SetKeyColorAllFramesName

Set the key to the specified key color for all frames. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::SetKeyColorAllFramesName(const FString& 
 animationName, EChromaSDKKeyboardKey::Type key, const FLinearColor& colorParam);

SetKeyColorName

Set animation key to a static color for the given frame.

void UChromaSDKPluginBPLibrary::SetKeyColorName(const FString& animationName, 
 const int32 frameIndex, EChromaSDKKeyboardKey::Type key, const FLinearColor& 
 colorParam);

SetKeyNonZeroColor

Set animation key to a static color for the given frame if the existing color is not already black.

void UChromaSDKPluginBPLibrary::SetKeyNonZeroColor(int32 animationId, int32 
 frameIndex, EChromaSDKKeyboardKey::Type key, const FLinearColor& colorParam);

SetKeyNonZeroColorName

Set animation key to a static color for the given frame if the existing color is not already black.

void UChromaSDKPluginBPLibrary::SetKeyNonZeroColorName(const FString& animationName, 
 const int32 frameIndex, EChromaSDKKeyboardKey::Type key, const FLinearColor& 
 colorParam);

SetKeyRowColumnColorName

Set animation key by row and column to a static color for the given frame.

void UChromaSDKPluginBPLibrary::SetKeyRowColumnColorName(const FString& 
 animationName, const int32 frameIndex, const int32 row, const int32 column, 
 const FLinearColor& colorParam);

SetKeysColor

Set an array of animation keys to a static color for the given frame. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::SetKeysColor(int32 animationId, int32 frameIndex, 
 const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& keys, const FLinearColor& 
 colorParam);

SetKeysColorAllFrames

Set an array of animation keys to a static color for all frames. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::SetKeysColorAllFrames(int32 animationId, 
 const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& keys, const FLinearColor& 
 colorParam);

SetKeysColorAllFramesName

Set an array of animation keys to a static color for all frames. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::SetKeysColorAllFramesName(const FString& 
 animationName, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& 
 keys, const FLinearColor& colorParam);

SetKeysColorAllFramesRGB

Set an array of animation keys to a static color for all frames. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::SetKeysColorAllFramesRGB(int32 animationId, 
 const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& keys, int32 red, 
 int32 green, int32 blue);

SetKeysColorAllFramesRGBName

Set an array of animation keys to a static color for all frames. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::SetKeysColorAllFramesRGBName(const FString& 
 animationName, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& 
 keys, int32 red, int32 green, int32 blue);

SetKeysColorName

Set an array of animation keys to a static color for the given frame.

void UChromaSDKPluginBPLibrary::SetKeysColorName(const FString& animationName, 
 const int32 frameIndex, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& 
 keys, const FLinearColor& colorParam);

SetKeysColorRGB

Set an array of animation keys to a static color for the given frame. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::SetKeysColorRGB(int32 animationId, int32 
 frameIndex, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& keys, 
 int32 red, int32 green, int32 blue);

SetKeysColorRGBName

Set an array of animation keys to a static color for the given frame. Animation is referenced by name.

void UChromaSDKPluginBPLibrary::SetKeysColorRGBName(const FString& animationName, 
 const int32 frameIndex, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& 
 keys, int32 red, int32 green, int32 blue);

SetKeysNonZeroColor

Set an array of animation keys to a static color for the given frame if the existing color is not already black.

void UChromaSDKPluginBPLibrary::SetKeysNonZeroColor(int32 animationId, int32 
 frameIndex, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& keys, 
 const FLinearColor& colorParam);

SetKeysNonZeroColorAllFrames

Set an array of animation keys to a static color for the given frame where the color is not black. Animation is referenced by id.

void UChromaSDKPluginBPLibrary::SetKeysNonZeroColorAllFrames(int32 animationId, 
 const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& keys, const FLinearColor& 
 colorParam);

SetKeysNonZeroColorAllFramesName

Set an array of animation keys to a static color for all frames if the existing color is not already black. Reference animation by name.

void UChromaSDKPluginBPLibrary::SetKeysNonZeroColorAllFramesName(const FString& 
 animationName, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& 
 keys, const FLinearColor& colorParam);

SetKeysNonZeroColorName

Set an array of animation keys to a static color for the given frame if the existing color is not already black. Reference animation by name.

void UChromaSDKPluginBPLibrary::SetKeysNonZeroColorName(const FString& animationName, 
 const int32 frameIndex, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& 
 keys, const FLinearColor& colorParam);

SetStaticColor

Sets the target device to the static color.

void UChromaSDKPluginBPLibrary::SetStaticColor(EChromaSDKDeviceEnum::Type 
 device, const FLinearColor& color);

SetStaticColorAll

Sets all devices to the static color.

void UChromaSDKPluginBPLibrary::SetStaticColorAll(const FLinearColor& color);

StopAll

PluginStopAll will automatically stop all animations that are playing.

void UChromaSDKPluginBPLibrary::StopAll();

StopAnimation

Stops animation playback if in progress. Returns the animation id upon success. Returns negative one upon failure.

void UChromaSDKPluginBPLibrary::StopAnimation(const FString& animationName);

StopAnimationType

PluginStopAnimationType automatically handles initializing the ChromaSDK. If any animation is playing for the deviceType and device combination, it will be stopped.

void UChromaSDKPluginBPLibrary::StopAnimationType(EChromaSDKDeviceEnum::Type 
 device);

StreamBroadcast

Begin broadcasting Chroma RGB data using the stored stream key as the endpoint. Intended for Cloud Gaming Platforms, restore the streaming key when the game instance is launched to continue streaming. streamId is a null terminated string streamKey is a null terminated string StreamGetStatus() should return the READY status to use this method.

void UChromaSDKPluginBPLibrary::StreamBroadcast(const FString& streamId, 
 const FString& streamKey);

StreamBroadcastEnd

End broadcasting Chroma RGB data. StreamGetStatus() should return the BROADCASTING status to use this method.

void UChromaSDKPluginBPLibrary::StreamBroadcastEnd();

StreamGetAuthShortcode

shortcode: Pass the address of a preallocated character buffer to get the streaming auth code. The buffer should have a minimum length of 6. length: Length will return as zero if the streaming auth code could not be obtained. If length is greater than zero, it will be the length of the returned streaming auth code. Once you have the shortcode, it should be shown to the user so they can associate the stream with their Razer ID StreamGetStatus() should return the READY status before invoking this method. platform: is the null terminated string that identifies the source of the stream: { GEFORCE_NOW, LUNA, STADIA, GAME_PASS } title: is the null terminated string that identifies the application or game.

FString UChromaSDKPluginBPLibrary::StreamGetAuthShortcode(const FString& 
 platform, const FString& title);

StreamGetFocus

focus: Pass the address of a preallocated character buffer to get the stream focus. The buffer should have a length of 48 length: Length will return as zero if the stream focus could not be obtained. If length is greater than zero, it will be the length of the returned stream focus.

FString UChromaSDKPluginBPLibrary::StreamGetFocus();

StreamGetId

Intended for Cloud Gaming Platforms, store the stream id to persist in user preferences to continue streaming if the game is suspended or closed. shortcode: The shortcode is a null terminated string. Use the shortcode that authorized the stream to obtain the stream id. streamId should be a preallocated buffer to get the stream key. The buffer should have a length of 48. length: Length will return zero if the key could not be obtained. If the length is greater than zero, it will be the length of the returned streaming id. Retrieve the stream id after authorizing the shortcode. The authorization window will expire in 5 minutes. Be sure to save the stream key before the window expires. StreamGetStatus() should return the READY status to use this method.

FString UChromaSDKPluginBPLibrary::StreamGetId(const FString& shortcode);

StreamGetKey

Intended for Cloud Gaming Platforms, store the streaming key to persist in user preferences to continue streaming if the game is suspended or closed. shortcode: The shortcode is a null terminated string. Use the shortcode that authorized the stream to obtain the stream key. If the status is in the BROADCASTING or WATCHING state, passing a NULL shortcode will return the active streamId. streamKey should be a preallocated buffer to get the stream key. The buffer should have a length of 48. length: Length will return zero if the key could not be obtained. If the length is greater than zero, it will be the length of the returned streaming key. Retrieve the stream key after authorizing the shortcode. The authorization window will expire in 5 minutes. Be sure to save the stream key before the window expires. StreamGetStatus() should return the READY status to use this method.

FString UChromaSDKPluginBPLibrary::StreamGetKey(const FString& shortcode);

StreamGetStatusString

Convert StreamStatusType to a printable string

FString UChromaSDKPluginBPLibrary::StreamGetStatusString(const EChromaSDKStreamStatusEnum::Type 
 status);

StreamReleaseShortcode

This prevents the stream id and stream key from being obtained through the shortcode. This closes the auth window. shortcode is a null terminated string. StreamGetStatus() should return the READY status to use this method. returns success when shortcode has been released

bool UChromaSDKPluginBPLibrary::StreamReleaseShortcode(const FString& shortcode);

StreamSetFocus

The focus is a null terminated string. Set the focus identifer for the application designated to automatically change the streaming state. Returns true on success.

bool UChromaSDKPluginBPLibrary::StreamSetFocus(const FString& streamFocus);

StreamWatch

Begin watching the Chroma RGB data using streamID parameter. streamId is a null terminated string. StreamGetStatus() should return the READY status to use this method.

void UChromaSDKPluginBPLibrary::StreamWatch(const FString& streamId, int32 
 timestamp);

StreamWatchEnd

End watching Chroma RGB data stream. StreamGetStatus() should return the WATCHING status to use this method.

void UChromaSDKPluginBPLibrary::StreamWatchEnd();

SubtractNonZeroAllKeys

Subtract the source color from the target color for the frame where the target color is not black. Source and target are referenced by id.

void UChromaSDKPluginBPLibrary::SubtractNonZeroAllKeys(int32 sourceAnimationId, 
 int32 targetAnimationId, int32 frameId);

SubtractNonZeroAllKeysAllFrames

Subtract the source color from the target color for all frames where the target color is not black. Source and target are referenced by id.

void UChromaSDKPluginBPLibrary::SubtractNonZeroAllKeysAllFrames(int32 sourceAnimationId, 
 int32 targetAnimationId);

SubtractNonZeroAllKeysAllFramesName

Subtract the source color from the target color for all frames where the target color is not black. Source and target are referenced by name.

void UChromaSDKPluginBPLibrary::SubtractNonZeroAllKeysAllFramesName(const 
 FString& sourceAnimationName, const FString& targetAnimationName);

SubtractNonZeroAllKeysAllFramesOffset

Subtract the source color from the target color for all frames where the target color is not black starting at offset for the length of the source. Source and target are referenced by id.

void UChromaSDKPluginBPLibrary::SubtractNonZeroAllKeysAllFramesOffset(int32 
 sourceAnimationId, int32 targetAnimationId, int32 offset);

SubtractNonZeroAllKeysAllFramesOffsetName

Subtract the source color from the target color for all frames where the target color is not black starting at offset for the length of the source. Source and target are referenced by name.

void UChromaSDKPluginBPLibrary::SubtractNonZeroAllKeysAllFramesOffsetName(const 
 FString& sourceAnimationName, const FString& targetAnimationName, int32 
 offset);

SubtractNonZeroAllKeysName

Subtract the source color from the target color for the frame where the target color is not black. Source and target are referenced by name.

void UChromaSDKPluginBPLibrary::SubtractNonZeroAllKeysName(const FString& 
 sourceAnimationName, const FString& targetAnimationName, int32 frameId);

SubtractNonZeroTargetAllKeysAllFrames

Subtract the source color from the target color where the target color is not black for all frames. Reference source and target by id.

void UChromaSDKPluginBPLibrary::SubtractNonZeroTargetAllKeysAllFrames(int32 
 sourceAnimationId, int32 targetAnimationId);

SubtractNonZeroTargetAllKeysAllFramesName

Subtract the source color from the target color where the target color is not black for all frames. Reference source and target by name.

void UChromaSDKPluginBPLibrary::SubtractNonZeroTargetAllKeysAllFramesName(const 
 FString& sourceAnimationName, const FString& targetAnimationName);

SubtractNonZeroTargetAllKeysAllFramesOffset

Subtract the source color from the target color where the target color is not black for all frames starting at the target offset for the length of the source. Reference source and target by id.

void UChromaSDKPluginBPLibrary::SubtractNonZeroTargetAllKeysAllFramesOffset(int32 
 sourceAnimationId, int32 targetAnimationId, int32 offset);

SubtractNonZeroTargetAllKeysAllFramesOffsetName

Subtract the source color from the target color where the target color is not black for all frames starting at the target offset for the length of the source. Reference source and target by name.

void UChromaSDKPluginBPLibrary::SubtractNonZeroTargetAllKeysAllFramesOffsetName(const 
 FString& sourceAnimationName, const FString& targetAnimationName, int32 
 offset);

TrimEndFrames

Trim the end of the animation. The length of the animation will be the lastFrameId plus one. Reference the animation by id.

void UChromaSDKPluginBPLibrary::TrimEndFrames(int32 animationId, int32 lastFrameId);

TrimEndFramesName

Trim the end of the animation. The length of the animation will be the lastFrameId plus one. Reference the animation by name.

void UChromaSDKPluginBPLibrary::TrimEndFramesName(const FString& animationName, 
 int32 lastFrameId);

TrimFrame

Remove the frame from the animation. Reference animation by id.

void UChromaSDKPluginBPLibrary::TrimFrame(int32 animationId, int32 frameId);

TrimFrameName

Remove the frame from the animation. Reference animation by name.

void UChromaSDKPluginBPLibrary::TrimFrameName(const FString& animationName, 
 int32 frameId);

TrimStartFrames

Trim the start of the animation starting at frame 0 for the number of frames. Reference the animation by id.

void UChromaSDKPluginBPLibrary::TrimStartFrames(int32 animationId, int32 
 numberOfFrames);

TrimStartFramesName

Trim the start of the animation starting at frame 0 for the number of frames. Reference the animation by name.

void UChromaSDKPluginBPLibrary::TrimStartFramesName(const FString& animationName, 
 int32 numberOfFrames);

UnloadAnimation

Unloads Chroma effects to free up resources. Returns the animation id upon success. Returns negative one upon failure. Reference the animation by id.

void UChromaSDKPluginBPLibrary::UnloadAnimation(const int32 animationId);

UnloadAnimationName

Unload the animation effects. Reference the animation by name.

void UChromaSDKPluginBPLibrary::UnloadAnimationName(const FString& animationName);

UseIdleAnimation

When the idle animation flag is true, when no other animations are playing, the idle animation will be used. The idle animation will not be affected by the API calls to PluginIsPlaying, PluginStopAnimationType, PluginGetPlayingAnimationId, and PluginGetPlayingAnimationCount. Then the idle animation flag is false, the idle animation is disabled. Device uses EChromaSDKDeviceEnum enums.

void UChromaSDKPluginBPLibrary::UseIdleAnimation(EChromaSDKDeviceEnum::Type 
 device, bool flag);

UseIdleAnimations

Set idle animation flag for all devices.

void UChromaSDKPluginBPLibrary::UseIdleAnimations(bool flag);

UsePreloading

Set preloading animation flag, which is set to true by default. Reference animation by id.

void UChromaSDKPluginBPLibrary::UsePreloading(int32 animationId, bool flag);

UsePreloadingName

Set preloading animation flag, which is set to true by default. Reference animation by name.

void UChromaSDKPluginBPLibrary::UsePreloadingName(const FString& animationName, 
 bool flag);