Skip to main content

Razer AI QA Companion

Introduction

Welcome to the Razer AI QA Companion documentation.

This documentation is intended for integrating and using the Razer AI QA Companion.

The QA Companion is an AI-powered quality assurance tool that automates bug reporting, captures video clips of bug events, and generates reproduction steps from gameplay sessions across all platforms

QA Companion can be integrated with the WYVRN SDK and supports Unity, Unreal, and C++ engines.

Pages Overview

If you want to test the sample project click here


What is AI QA Companion?

It is an AI-driven QA companion that runs during gameplay to detect and document bugs automatically.

It is currently in private beta with selected partners and aimed at improving QA efficiency.

Join the beta

Key Features

  • Automated Bug Reporting:
    The AI would automatically logs bugs to a central web dashboard report whenever certain bugs or anomalies occur in the game.

  • Video Clip Capture:
    For each detected bug, a short gameplay video clip (e.g., the last 20 seconds before the bug) is recorded automatically, providing visual context for the issue.

  • AI-Generated Reproduction Steps:
    The tool uses AI to analyze current gameplay and events, detecting bugs and producing a written list of steps to reproduce the issue.


Supported Platforms & Requirements

  • Windows only for now
  • A stable internet connection is required to detect bugs and upload reports/videos to the web dashboard (recommended upload speed: 50 Mb/s).

Beta Notes

This documentation and AI tool are in beta, so features might be limited or under active development, and direct support is available to closed beta users.

During beta, access to AI QA Companion is by invitation only, and the access must be obtained from our team. Some features are not yet fully available.

Join the beta

The workflow to participate to the beta is reported in the next image.


Supported Play Patterns and Bugs

The currently supported play patterns by the Razer AI QA Companion are

Play Patterns Development Status

GenreBetaAlpha
First Person Shooter (FPS)
Third Person Shooter (TPS)
Role-Playing Game (RPG)
Fighting Game
Multiplayer Online Battle Arena (MOBA)

If you need another play pattern, please subscribe to the beta and we will contact you back.

Order by priorityBug TypeDescriptionExample(s)SupportedIn Development
1Crash/Freeze (Stability)Critical issues that render the game unplayable by causing crashes or hangs (e.g. game closing or not responding)N/A
2Performance IssuesProblems that degrade game performance, such as low frame rates, extreme lag, long load times, or memory leaksN/A
3Gameplay/Mechanics BugsFunctional bugs where game mechanics or features don’t work as intended, breaking game rules or logic• Enemy death still adds to timer • Health heals wrong value (25 instead of 20) • Ammo pickup gives wrong amount (35 instead of 30) • Enemies deal too much damage (10 vs 5)
4Collision/Physics GlitchesIssues with collision detection or physics that allow characters or objects to intersect or go places they shouldn’tN/A
5AI/NPC Behavior BugsProblems with enemy or NPC behavior not following intended design, leading to unpredictable or faulty actionsN/A
6Graphics/Visual GlitchesVisual errors or graphical defects such as missing/misaligned textures, screen tearing, or objects/characters appearing incorrectly in the worldN/A
7Audio BugsIssues with game sound or music, such as missing or delayed audio, sounds with wrong volume, or clips that play at incorrect times or loop improperlyN/A
8UI/UX IssuesUI problems that hinder the player experience – e.g. missing/misaligned UIN/A

Bug Detection and workflow integration

Bug Detection

Razer AI QA Companion supports bug detection in two main methods:

  1. AI Model identifies a mismatch between the expected behavior and its internal modelling
  2. The user identify a bug and trigger the bug detection in the web app

When a bug is detected, these actions are performed:

  1. A new bug entry is created
  2. The previous 20 seconds of play time are saved and uploaded to the Web Application
  3. The bug characteristics are pre compiled by AI or editeable to characterize the bug

Workflow integration

Razer AI QA Companion supports the integration with ticketing platforms. The supported platforms are:

  • Jira : To set up your Jira project follow these instructions Other ticketing platforms are currently under study, please subscribe to the beta and let us know what you need.
    You can send the bug identified with the QA Companion to your Jira Project individually for each bug. The videos in the web application will be available for 24 hours after each session.

Getting Started

Project Setup

  1. Access to the AI QA Companion web platform and set up your project
  2. Download and install the Razer AI Service on your PC and set it up properly.
  3. (optional) Integrate with the supported ticketing platform to support your workflow

Application Sample

We provide an application sample for a TPS game showcasing the usage of the QA Companion. The application sample is both provided as Unreal Engine Project and compiled version.

Requirements:

  1. A valid and whitlisted Razer Account
  2. Access to the Razer AI QA Companion web application
  3. Razer AI Service running on the Host PC - click here to download - here for installing instruction
  4. Razer Chroma App installed and Running on the host PC

To test the application sample follow these steps

  • Step 1. Download the Game Design Document pdf from this link

  • Step 2. Set up the project through the Web application with, game studio, game title, genre and the game design document

  • Step 3. Download and Copy the service.conf shared by the application at this path (you can replace the existing one) C:\Program Files (x86)\RazerAIService\RazerAIService\

  • Step 4. Download and run the sample scene, go through the level once to let the QA companion model set up for the game. nd run the sample scene, go through the level.

  • Step 5. Run the sample scene and verify the usage of the QA companion with bug tracking, video capturing, and Jira Integration The sample scene is a simple TPS scenario with a number of issues commonly found in TPS game development.

Razer AI Service

The Razer AI Service is a PC service capturing the WYVRN events included in the game and orchestrating the features to use the WYVRN SDK.

To setup the Razer AI Service:

  • Step 1. Download the installer from here
  • Step 2. Install with admin priviledge the Razer AI Service
  • Step 3. Download and Copy the service.conf shared by the web application at this path (you can replace the existing one) C:\Program Files (x86)\RazerAIService\RazerAIService\
  • Step 4. Download and Install Razer Chroma App

To be able to use the QA companion you should see the active services in your task manager

Update AI Service

  • Download the latest version from GitHub or from the web application settings.
  • Double-click the .exe to install.

No need to uninstall the previous version or replace the service.conf again.

Screen Capture

The screen capture process updating the bug detection on the web application captures the main screen of the PC. To identify the main screen of the pc, go to your Windows display settings, it will record the monitor marked with the number 1.

Razer AI QA Companion Dashboard

The AI QA Companion web dashboard is your main interface for managing test sessions, viewing bugs, triggering manual captures, and pushing issues to Jira.


Project Management

Once logged in via your whitelisted Razer ID, you’ll be prompted to create a project if none exists.

Project requirements:

  • Game Studio
  • Game Title
  • Genre
  • Game Design Document

Uploaded GDDs are downloadable later via Settings.


Report & Bug Overview

Each game session automatically creates a report, listed chronologically on the dashboard.

Within each report:

  • Rename the report
  • View the list of bugs
  • Manually trigger a bug
  • Edit bug metadata (title, severity, description)
  • Replay video (valid for 24h)

How to Manually trigger a bug

  • In the dashboard, select the most recent open report.
  • Reproduce the bug you want to record.
  • Then, click on the "Record last 20 seconds" button.
  • After a few seconds, a new bug will appear in the bug list, linked to the current report.

Jira Integration

To streamline issue tracking, AI QA Companion allows direct Jira integration.

Setup:

  • Go to Settings
  • Connect your Jira account
  • Choose a target project

Usage:

From any valid bug (with a video under 24h):

  • Click “Create Jira Issue”
  • Fields auto-filled: title, description, severity, reproduction steps
  • Video is attached if still available

Expired videos are omitted automatically.


Settings & Utilities

From the Settings tab, you can:

  • Edit project metadata
  • Download the latest GDD files uploaded
  • Re-download service.conf
  • View your Razer user ID and authentication token
  • Connect Jira and manage integration
  • Access useful links

Video Expiration

Bug videos are valid for 24 hours after capture. Past this limit:

  • The video is no longer playable
  • Jira exports exclude the video
  • Bug metadata remains available

QA Companion Unreal Demo

This is a demo to show how to use the WYVRN Unreal SDK to communicate with Razer AI QA Companion. This project was made with Unreal Engine 5.5.4.

Download the Unreal Demo

You can download the latest version of the Unreal Demo here

How to Use

  1. Make sure Microsoft Visual C++ is installed. Preferred compiler version for Unreal Engine 5.5.4 is v14.38-17.8. Not tested on Clang.
  2. Make sure Razer Chroma is installed and running.
  3. Log in to Razer AI QA Companion
  4. Create Game project with game design document in Content/GDD/Unreal Shooter GDD.pdf and ensure the Game Title of the project is set to RazerUnrealQADemo.
  5. Go to the settings page to download and install the Razer AI Service.
  6. Download and replace the service configuration file.
  7. Open QACompanionDemo.uproject.
  8. Press play.
  9. You should see InitSDK_SUCCESS in the top-left corner along with some other messages.
  10. Go through the level. You should see some other SUCCESS messages. Bug should be reported in the QA Companion web dashboard.

Razer AI QA Companion events

This is a list of blueprints used in the demo along with an explanation of events triggered from these blueprints. Events are sent using the SetEventName function.
Events are bolded and variables are enclosed in {}.

BP_ThirdPersonGameMode

  • InitSDK is called at the start.
  • After a successful init, GameSessionStart is sent.
    Currently, InitSDK and GameSessionStart is triggered from the constructor for the game mode because the demo only has one level.
    Also, so that GameSessionStart is triggered before anything else like PlayerSpawned;Player;{PlayerId};Room;{RoomId}.

BP_ThirdPersonCharacter

  • PlayerSpawned;Player;{PlayerId};Room;{RoomId} when the Player is spawned. The demo level is divided into 4 rooms so we have RoomId, but this might not be applicable to other games.
  • LevelStarted;Level;{LevelId} is also sent at when the player spawns because the player only has one life in the demo and the level is restarted if the player dies.
  • CurrentLocation;Player;{PlayerId};Location;{Location} is sent every second.
  • FiredWeapon;Player;{PlayerId};Weapon;{WeaponId};CurrentAmmo;{Ammo} when player fires his weapon. Player only has 1 magazine in the demo and the ammo display is (Ammo in Magazine) / (Max Ammo).
  • ReceivedDamage;Player;{PlayerId};Damage;{Damage};CurrentHealth;{Health} when player receives damage.
  • OutOfHealth;Player;{PlayerId} when player runs out of health.
  • OutOfTime;Player;{PlayerId} when player runs out of time. In the demo, players only have a limited amount of time to complete the level.
  • IsMoving;Player;{PlayerId};MovingState;{MovingState} when player stops or starts moving.

BP_AI_002

  • Enemies spawned will send the BotSpawned;Player;{PlayerId};Room;{RoomId} event.
  • ReceivedDamage;Player;{PlayerId};Damage;{Damage};CurrentHealth;{Health} when enemies receive damage. Currently, enemies will continue to receive damage after being killed, so if player shoots a dead enemy, this will trigger a bug report for QA Companion.
  • BotDead;Player;{PlayerId};CurrentRoundTimer;{TimeLeft} when enemy runs out of health.

BP_RoomCheck

  • EnteredLocation;Player;{PlayerId};Room;{Room} when player enters a room.
  • LeftLocation;Player;{PlayerId};Room;{Room} when player exits a room.

BP_Healthpickup

  • PickUpHealth;Player;{PlayerId};CurrentHealth;{Health} when player picks up health.

BP_AmmoPickup

  • PickUpAmmo;Player;{PlayerId};CurrentAmmo;{Ammo} when player picks up ammo.

BP_Enggamepickup and WP_Pause

  • GameSessionEnd;Player;{PlayerId} when player completes the game by picking up the Endgame item or quits via the pause menu. When this happens, first we send this event and then we call UninitSDK after a short delay, and finally we quit the game.
    If there isn't a delay between SetEventName and UninitSDK, then the event won't be sent.

Events in table form

These events are specific to this demo and probably won’t work for other games even if similar.

EventPurposeFound in Blueprint
GameSessionStartStart of a gamesession. Should be sent first before any other event. This will reset certain cached game states.BP_ThirdPersonGameMode
PlayerSpawned;Player;{PlayerId};Room;{RoomId}To signify a player has spawned. This will reset the cached state for the {PlayerId}.BP_ThirdPersonCharacter
BotSpawned;Player;{PlayerId};Room;{RoomId}To signify a bot/enemy has spawned. This will reset the cached state for the {PlayerId}.BP_AI_002
LevelStarted;Level;{LevelId}To signify a level has started. This will reset the cached state for the {LevelId}.BP_ThirdPersonCharacter
CurrentLocation;Player;{PlayerId};Location;{Location}Updates the location of {PlayerId}. Location is in the “X= Y= Z=” format provided by Unreal.BP_ThirdPersonCharacter
FiredWeapon;Player;{PlayerId};Weapon;{WeaponId};CurrentAmmo;{Ammo}Updates the ammo count for {WeaponId} held by {PlayerId}.BP_ThirdPersonCharacter
ReceivedDamage;Player;{PlayerId};Damage;{Damage};CurrentHealth;{Health}Updates HP for {PlayerId} to {Health}.BP_ThirdPersonCharacter, BP_AI_002
OutOfHealth;Player;{PlayerId}Signifies that {PlayerId} is dead.BP_ThirdPersonCharacter
OutOfTime;Player;{PlayerId}Signifies that {PlayerId} is out of time and has failed to complete the level.BP_ThirdPersonCharacter
IsMoving;Player;{PlayerId};MovingState;{MovingState}Updates whether {PlayerId} is moving or not.BP_ThirdPersonCharacter
BotDead;Player;{PlayerId};CurrentRoundTimer;{TimeLeft}Signifies that the bot/enemy {PlayerId} is dead. Updates time left to {TimeLeft}BP_AI_002
EnteredLocation;Player;{PlayerId};Room;{Room}Updates {PlayerId} room location to {Room}BP_RoomCheck
LeftLocation;Player;{PlayerId};Room;{Room}Clears room location info {PlayerId}BP_RoomCheck
PickUpHealth;Player;{PlayerId};CurrentHealth;{Health}Updates HP for {PlayerId} to {Health}BP_Healthpickup
PickUpAmmo;Player;{PlayerId};CurrentAmmo;{Ammo}Updates current ammo for {PlayerId} to {Ammo}BP_AmmoPickup
GameSessionEnd;Player;{PlayerId}End of the gamesession.BP_Enggamepickup, WP_Pause

Packages Used

  1. Animation Starter Pack
  2. FPS Weapon Bundle
  3. Modular SciFi Season 1 Starter Bundle

https://www.wyvrn.com
https://www.fab.com/listings/98ff449d-79db-4f54-9303-75486c4fb9d9
https://www.fab.com/listings/8aeb9c48-b404-4dcd-9e56-1d0ecedba7f5
https://www.fab.com/listings/86913335-3c75-42bf-8404-54fe9d9d7396

Known Issues

General

  • Video Recording issue with AMD graphics cards (currently being resolved).

  • Video not saved at session end: If a video is captured just before the end of a report, it may fail to upload properly due to a timing conflict.

  • Updating service.conf live affects health check:

    Updating the configuration file while the AI Service is running can break health monitoring. Restarting the service restores proper status.

  • Update banner not disappearing:

    The web app’s “Update available” banner will remain until a new report is created using the latest AI Service version.

Rare Issues

  • Video saving failure:

    In rare cases, video files may fail to save due to internal encoding or timing errors.

  • Installer blocked during update:

    Windows may lock files during service updates, preventing proper installation. Uninstalling and reinstalling manually can resolve the issue.

  • Using Old Razer Chroma SDK may cause the SDK to fail during initialization. Reinstalling the latest version fixe this.