Identifying Issues
Gathering Media for Testing
The first step in any bug-reporting process is to gather proof that something is going wrong. Simple messages like "Hey, this game doesn't work" aren't helpful to our maintenance team. To efficiently fix a problem, we need three things every time:
- A video of the bug being triggered. We understand that you can't capture the effect going wrong on the keyboard, but a gameplay video will suffice.
- A description of the actions that triggered the bug. Please be as detailed as possible. Even small details can help us identify the source of the problem quickly.
- The screen resolution you're playing on. Without this, our developers have to check every resolution we support to find the issue, which can be time-consuming.
If you're a Lightscript creator who isn't directly affiliated with our company, these simple steps will still help you greatly with your own code. Thorough documentation, combined with an understanding of the code's structure, makes identifying issues a straightforward process.
If you're a fan of the game attempting DIY maintenance, make sure to send us gameplay footage with the issue visible. We may be able to speed up your fix!
Identifying Issues
Integration bugs are usually easy to spot-if an effect never plays or plays too often, something is clearly broken. The challenging part is pinpointing the exact section of code causing the issue. Always start by identifying the problem using the steps outlined in the previous section, as this will provide the clearest path to follow. Below is a suggested bug-fixing process:
Check the Console Log:
- Are we getting any console logs that identify the issue? Common problems here include undeclared variables, misspelled words, and incorrect meter or shape drawing ranges. Stack overflows won’t be detected by SignalRGB, but they’re easy to spot: SignalRGB will crash first, followed by your computer. Be a responsible programmer and avoid making your app count to infinity.
Check the Meters:
- Does the effect trigger your meters in the Meter Inspector during gameplay? If it does, you should see white appear in the black area beneath the meter view.
- If the meter is misplaced, use our proprietary tool (WindowSpy) to take screen measurements and adjust the meter placement in the
**<head>**
section. - If this fixes the issue, remember to adjust the meter for every other resolution in the adjustment section. Instructions on meter placement and normalized coordinates can be found in the "Smart Tags" section of this document.
- If the meters are triggering correctly, the issue lies elsewhere.
- If the meter is misplaced, use our proprietary tool (WindowSpy) to take screen measurements and adjust the meter placement in the
- Does the effect trigger your meters in the Meter Inspector during gameplay? If it does, you should see white appear in the black area beneath the meter view.
Check the Update Function :
- Is the meter data being correctly passed to the Meter class?
- Have you inserted conditional Meter updates to account for complex UI behavior?
- If everything looks good, place a
console.log
directly inside your callback function. The log should print every time the meter stabilizes, even if the effect doesn’t trigger correctly. - If the log appears consistently, the problem lies elsewhere.
- Is the meter data being correctly passed to the Meter class?
Evaluate the Callback Function :
- We know the callback function is activating correctly because we saw the logs earlier. Now, review the conditionals inside the effect for accuracy.
- If nothing seems obviously wrong, add
console.log
statements inside the conditionals to see if any are triggering incorrectly during gameplay. - If everything looks fine, the issue might be within the effect itself.
- If nothing seems obviously wrong, add
- We know the callback function is activating correctly because we saw the logs earlier. Now, review the conditionals inside the effect for accuracy.
Check the Effect Animation Function :
- Animation functions can be highly variable, so there’s no one-size-fits-all advice. However, for efficient debugging:
- Move the effect to an empty Lightscript template and verify that you can activate it to view the animation in SignalRGB.
- Pay attention to the console and note where the animation breaks.
- Isolating the problem code will save you time, so make sure to follow this step.
- Animation functions can be highly variable, so there’s no one-size-fits-all advice. However, for efficient debugging: