Quick answer: Severity measures how bad the bug is technically: how much impact it has on the game's functionality. Priority measures how urgently it should be fixed based on business context.
This guide covers bug severity classification for game developers in detail. Not all bugs are created equal. A crash that corrupts save data and a slightly misaligned button both deserve to be tracked, but they do not deserve the same response. Severity classification is how your team communicates the impact of a bug in a standardized way, so everyone — from QA to developers to producers — agrees on what needs immediate attention and what can wait. This guide covers the P0 through P3 system, provides game-specific examples for each level, and explains the critical difference between severity and priority that many teams get wrong.
The P0-P3 Framework
The four-level severity framework is the most widely adopted system in game development. Each level represents a different degree of impact on the player experience and the game’s functionality.
P0: Blocker
A P0 bug makes the game unplayable for any player who encounters it. There is no workaround. The player must either restart, lose progress, or stop playing entirely. P0 bugs are the only severity level that should be able to halt a release.
Game-specific examples of P0 bugs:
// P0 - Blocker examples:
//
// - Crash to desktop when loading any save file
// - Save file corruption: player loses all progress
// - Infinite loading screen on level transition (requires force quit)
// - Progression blocker: quest NPC missing, cannot advance main story
// - Multiplayer: all players disconnected on match start
// - Memory leak causing crash after 10 minutes of gameplay
// - Game fails to launch on a supported platform
//
// Key characteristic: NO workaround exists. The player cannot
// continue playing normally.
When a P0 bug is found, the standard response is to stop other work and investigate immediately. In pre-launch, a P0 bug is a launch blocker by definition. In a live game, a P0 bug warrants a hotfix deployment, potentially within hours of discovery.
P1: Critical
A P1 bug severely degrades the gameplay experience but does not completely prevent playing. A workaround may exist, but it is either not obvious or requires the player to avoid significant portions of the game. P1 bugs affect the game’s quality enough that shipping with known P1s is a deliberate risk decision, not an oversight.
Game-specific examples of P1 bugs:
A boss encounter where the boss becomes invincible under certain conditions, forcing the player to restart the fight. An ability that deals no damage despite the tooltip showing a damage value. Multiplayer matchmaking that fails for players in a specific region. Audio cutting out entirely after a cutscene and not recovering until the game is restarted. A crash that occurs reliably when using a specific weapon in a specific area.
P1 bugs should be investigated within one business day and typically fixed within the current sprint. They may not halt a release, but they should be prominently listed in known issues if the team decides to ship with them.
P2: Major
A P2 bug is noticeable and affects the player experience, but the player can work around it or ignore it without major impact on their enjoyment. P2 bugs are the bread and butter of most bug backlogs — significant enough to fix but not urgent enough to disrupt the sprint plan.
Game-specific examples of P2 bugs:
A visual artifact that appears during specific weather conditions in one area. A UI tooltip that shows incorrect stat values but the underlying stats are correct. An NPC that walks through a wall during a non-critical conversation. Frame rate dropping to 45 FPS in a specific scene on minimum-spec hardware (playable but not smooth). A keybinding that does not save between sessions, requiring the player to rebind each launch.
P2 bugs should be triaged into the sprint backlog and addressed based on available capacity. They are typically fixed over the course of one to two sprints.
P3: Minor
A P3 bug is cosmetic, trivial, or affects such a small number of players under such specific conditions that it has negligible impact. P3 bugs should still be tracked — they represent polish opportunities — but they should never take priority over higher-severity work.
Game-specific examples of P3 bugs:
A typo in a loading screen tip. A texture seam visible only when the camera clips through geometry at an extreme angle. A particle effect that is slightly offset from the emitter source. A sound effect that plays at slightly different volume compared to similar effects. A pixel-wide gap between two UI panels visible only at a non-standard resolution.
P3 bugs are fixed opportunistically: when a developer is already working in the affected area, or during dedicated polish sprints before release.
Severity vs. Priority: The Critical Distinction
Severity and priority are not the same thing, and conflating them leads to poor resource allocation. Severity is an objective measure of the bug’s technical impact. A crash is always high severity, regardless of context. Priority is a business decision about when the bug should be fixed, considering factors like how many players are affected, the business impact of the affected area, and the team’s current workload.
// Severity vs Priority: they can diverge significantly
//
// High Severity, Low Priority:
// Crash in a debug menu that only developers can access
// P0 severity, but low priority because no player will ever see it
//
// Low Severity, High Priority:
// Typo in the game's title on the store page
// P3 severity (cosmetic), but high priority because every
// potential buyer sees it and it affects purchase decisions
//
// High Severity, High Priority:
// Crash when starting a new game (most common player path)
// P0 severity and high priority - fix immediately
//
// Low Severity, Low Priority:
// Texture seam in a corner most players will never look at
// P3 severity and low priority - fix during polish pass
Configure your bug tracker with separate fields for severity and priority. Severity is set by the reporter based on the documented definitions. Priority is set during triage by the team lead or producer based on business context. This separation lets the team make informed decisions: a P0 bug in an unused area can be deprioritized without reclassifying its severity, preserving the information that a crash exists in that code path.
Handling Disagreements
Severity classification disagreements are inevitable. A QA tester marks a bug as P1 because it affects a major gameplay system. A developer argues it is P2 because a workaround exists. These debates consume triage time and create friction between teams.
The solution is a living reference document with boundary examples. Every time a severity disagreement is resolved in triage, add the bug and its final classification to the reference document as an example. Over time, this document becomes a comprehensive guide that answers most classification questions before they reach the triage meeting. Review the document quarterly to ensure it still reflects the team’s standards as the game evolves.
When a disagreement does reach triage, resolve it quickly with a simple rule: the person closest to the player’s experience (usually QA or community) has tie-breaking authority on severity, while the person closest to the business context (usually the producer) has tie-breaking authority on priority.
“We spent twenty minutes in every triage meeting debating severity. Then we wrote a reference document with fifty examples from our own game. Triage meetings dropped to five minutes and nobody argues anymore because the examples settle it.”
SLAs by Severity Level
Severity levels are only useful if they drive action. Define response time targets — service level agreements — for each severity level and track adherence as a team health metric. Reasonable targets for a small to mid-size studio are: P0 bugs investigated within 4 hours during business hours. P1 bugs investigated within 1 business day. P2 bugs triaged into the sprint within the current sprint cycle. P3 bugs reviewed monthly and scheduled based on capacity.
“Investigated” does not mean “fixed.” It means a developer has looked at the bug, confirmed or denied reproduction, and either begun working on a fix or provided a time estimate. The goal of the SLA is to ensure no high-severity bug sits unacknowledged in the tracker.
Related Issues
For guidance on organizing your bug backlog by severity, see how to organize bug reports by severity. For triage strategies that use severity effectively, read how to prioritize game bugs after early access launch. For small teams looking to set up an efficient triage process, check the game bug triage guide for small teams.
Write your severity definitions this week and share them with the whole team. Fifty percent of triage arguments disappear when everyone is working from the same definitions.