Skip to main content

WYVRN SDK

The WYVRN SDK is the all-in-one SDK for all Razer technologies: AI Gaming Tools, Chroma RGB, and Sensa HD Haptics.

There are two ways to integrate the WYVRN SDK. Both use the same SDK and the same SetEventName() call; they differ in who designs the effects and how you get started.

Choose Your Path​

PartnershipRazer Indie Lab
Who it is forTitles partnered with the Razer/WYVRN TeamMembers of the Razer Indie Lab program
Who designs the effectsThe WYVRN Team designs the Chroma animations and haptic effects for your game and provides the AI integrationYou pick ready-made effects from the WYVRN Effects Library
Event namesNamed for your game and agreed in the Event DesignLibrary event names, such as @Heal
WYVRN configurationCreated by the WYVRN Team and hosted on the Razer Synapse sideNot needed. Library events are resolved against the generic event database that Synapse distributes
How effects reach playersDistributed by the team through Chroma App updatesAlready on players' machines; new library events are distributed automatically
WYVRN Team involvementEvent design, revisions, sample project, QA on your buildSelf-serve, with support on Discord
How to startContact us on DiscordStart right away with WYVRN SDK for Razer Indie Lab Users

Partnership​

The integration happens in collaboration with the Razer/WYVRN Team, who designs the Chroma animations and haptic effects and provides the AI integration. You do not need to design your own haptic effects or Chroma animations.

  1. Contact the WYVRN Team on Discord.
  2. Agree on the Event Design, using the Wyvrn_Design_Template_Developers.xlsx Template for requests and revisions.
  3. Receive a sample project for your game engine.
  4. Add the SetEventName() calls to your game.
  5. The WYVRN Team designs the Chroma animations and haptic effects and creates the WYVRN configuration.
  6. The WYVRN Team can QA your build, and the configuration is distributed through Chroma App updates.

Each step is described in the Partnership Integration Process below.

*Unlike the Chroma RGB SDK and Interhaptics SDK which can be used independently (without WYVRN team involvement), a partnership integration requires working directly with the WYVRN team as everything is hosted on the Razer Synapse side.

Partnership on PS5 (DualSense)​

Partners who want haptics on the DualSense wireless controller can use the PS5 version of the WYVRN Unreal plugin. It plays the same WYVRN haptic events as on PC, as vibration on the left and right sides and adaptive-trigger resistance, with the same SetEventName() calls. On PS5 the haptic effects are imported into the Unreal project and packaged with the game, and the required PS5 libraries are available to registered PlayStation Partners. See PS5 Plugin (DualSense).

Razer Indie Lab​

You integrate Chroma and haptics yourself using the ready-made WYVRN Effects Library. There are no effects to design, no configuration to write, and no kickoff to wait for.

  1. Select the SDK for your engine from Downloads.
  2. Initialize the SDK with the Game category.
  3. Call SetEventName() with library event names at the moments where you want feedback.
  4. Browse the interactive gallery to find effects and copy the call for your engine.

Each step is described in WYVRN SDK for Razer Indie Lab Users. The Partnership Integration Process section below does not apply to you.

What WYVRN offers:

  • Chroma RGB integration and design
  • Sensa HD Haptics integration and design
  • AI integration

Overview​

The WYVRN SDK allows developers to name events for game state, player state, abiltities, actions, and environments. The external WYVRN configuration controls AI, Chroma, and haptics.

The WYVRN SDK is the combination of AI, Chroma, and Razer Sensa HD Haptics in a single SDK. By integrating AI, RGB lighting and haptics into game environments and events, players can enjoy a truly immersive gaming experience. The WYVRN SDK is capable of playing Chroma animations and haptics on the Razer Sensa HD Haptics devices. SetEventName() can trigger AI interaction, RGB lighting, or haptics or all of the above.

image-8

Hotkeys​

Hotkeys light individual keyboard keys in a colour of your choice, on top of whatever Chroma animation is playing, to show the player which keys matter at a given moment. Add the hotkeys parameter to the event name: the event gives the colour and the parameter lists the keys.

// Light W, A, S, D in green
SetEventName("@Idle_Green;hotkeys=W,A,S,D")

// Light Q in red for about one second (30 animation frames)
SetEventName("@Idle_Red;hotkeys=Q;hotkey_cooldown=30")

// Remove the hotkeys from W, A, S, D
SetEventName("@Idle_Green;hotkeys=W,A,S,D;hotkey_cooldown=0")

// Remove every hotkey
SetEventName("@ClearHotkeys")

The full-colour events of the WYVRN Effects Library are the simplest source of colour: @Idle_Red, @Idle_Green, @Idle_Blue, @Idle_Yellow, @Idle_Purple, @Idle_GreenBlue, @Idle_YellowRed and @Idle_Rainbow. @ClearHotkeys from the library removes every hotkey at once.

Hotkeys can also be defined in the WYVRN configuration, including individual keys, layouts, cooldowns and a health bar on the function keys: see Hotkeys in the Chroma configuration.

Code, cooldown values, a full example and the key names for each engine:

Downloads​

SDKs

  • WYVRN SDK
EngineGit RepoDownload LinkGit RepoDownload LinkGit RepoDownload Link
EncodingUNICODEASCIIMULTI-BYTE
WYVRN Design TemplateGitDownload
WYVRN C++ SDKGitDownloadGitDownloadGitDownload
WYVRN Unreal SDKGitDownload
WYVRN Unity SDKGitDownload

User Privacy​

Note: The WYVRN SDK requires only the minimum amount of information necessary to operate during initialization, including the title of the application or game, description of the application or game, application or game author, and application or game support contact information. This information is displayed in the Synapse and Chroma app. The WYVRN SDK does not monitor or collect any personal data related to users.

Dependencies​

To use the WYVRN SDK first install the new Razer Synapse 4 and Chroma App.

image-2

  • If you don't have Chroma hardware, you can see Chroma effects with the Chroma Emulator

WYVRN SDK Library​

Each game engine has a plugin that integrates with the Chroma SDK. Initialization handles the information that displays in Synapse and the Chroma App for your game.

image-5

Performance​

SetEventName Details:

  • SetEventName is asynchronous and rate-limited to 30 FPS.
  • Using SetEventName to add external Chroma or haptics is generally the best way to maximize performance.

The following chart measures SetEventName calls per second with a unique number of events. The high framerate shows the method will have little performance impact with a large number of simultaneous events.

SetEventName calls per second for 25 to about 3,400 unique events

Partnership Integration Process​

This section describes the collaborative workflow for partnered titles. Razer Indie Lab developers can skip it; the WYVRN Effects Library replaces these stages.

Event Design​

The Event Design is the starting point. Suggested events are prioritized as high, medium, and low recommendations. Events can describe game triggers that can represent game state, player state, environment state, abilities, items, and actions. Events are limited to 30 FPS. Events can fire once per action or can represent when an action begins and then ends. The purpose for suggested events are intended to give an idea to the type of haptic or lighting effect that could play for a set of game events. The developer may ask for revisions to the suggested events or request for additional events to expand on gameplay. Inspiration comes from gameplay video. If gameplay video is not available, the developer can provide a description or reference art to conceptualize the desired effect. Events can trigger haptics or lighting patterns or both.

Revisions​

Some Event Designs require revisions to add more requested effects or to make changes through the feedback of reviewing the Design. Revisions can be requested which result in a subset of alterations from the previous design or add completely new game events. Fill out the Wyvrn_Design_Template_Developers.xlsx Template which provides all the necessary fields for making design requests and revisions.

Sample Project​

The developer specifies which game engine is used by the game so that a sample project can be shared with sample code for the specified engine. The sample project will show how to use the API and execute the Event Design for the target language/game engine. The sample project will include a plugin to add the WYVRN SDK to the specified game engine. The sample code can be altered to play any event defined in the Event Design.

Integration​

The bulk of work for the integration process involves adding calls to SetEventName() with unique string identifiers for game events. The typical integration process lasts from 0 - 5 days for a single developer. After events have been identified, Chroma and haptic playback can be configured on the backend external to the game. Chroma and haptics are independent meaning sometimes they play together and sometimes they play separately, which is completely depends on the type of game trigger and is up to the designer.

Testing​

The team can provide QA on the game build when integration has completed. Steam beta keys and Epic Store beta keys make testing possible before a game launches. This can be a good way to provide design revisions by testing and giving feedback on the build. To support the QA process, it will be important to include a level selector and potentially console commands that make it easy to navigate the build to test the game triggers at the right moments to validate the visuals work as expected. Beta key access is limited to the engineering and QA review team.

Haptic Design​

The haptic effects are designed by the WYVRN Team from the Event Design. Adding haptic support does not require adding assets to the game: the haptic effects live outside the game, in a haptic folder that contains the haptic effect files (.haps) and a WYVRN configuration file linking each event name to its effects. Because the game only names events with SetEventName(), haptics can be added or revised without code changes, including after the game has released.

  • Design: the haptic effects are created with the Haptic Composer.
  • Configuration: the WYVRN Haptics Configuration maps each event name to haptic effects, with their targets, priority, mixing and looping.
  • Testing: the Haptic Service Dashboard shows the events received from the game and can trigger any event without running the game.
  • Distribution: the haptic folder is distributed by the team through Chroma App updates.

Chroma Design​

Chroma integration can be completed external to the game. The WYVRN configuration has controls for Chroma to specify playback operations that respond to named events. The WYVRN configuration supports idle animations, playing one shot or looping animations, and stopping animations. One-shot animations fallback to the idle animation automatically when finished.