How GameCatalyst Classifies Errors
When a command fails, GameCatalyst classifies the error type to provide targeted recovery guidance. This intelligent error classification system ensures Vex receives the specific help it needs to self-correct, rather than generic error messages that require trial-and-error debugging.
Error classifications:
GameCatalyst categorizes errors into six distinct types:
- Validation errors — Missing required parameters, wrong parameter types, invalid values. Example: “Missing required parameter ‘target'” or “Parameter ‘value’ must be a number, got string”
- Parameter shape errors — Incorrect structure (e.g., array expected but string provided). Example: “Parameter ‘tags’ expects array, got string”
- Command not found — Unknown command name or typo. Example: “Command ‘objekt.create’ not found. Did you mean ‘object.create’?”
- Engine exceptions — Unity threw an exception during execution. Example: “NullReferenceException: Object reference not set to an instance of an object”
- Permission denied — Command is disabled for this project/session. Example: “file.delete is disabled for this project”
- Path anomalies — File/folder path issues detected by workspace.diagnose logic. Example: “Path ‘Assets/Scripts/Player.cs’ does not exist. Use workspace.find to locate the correct path.”
Why classification matters:
Different error types need different recovery strategies:
- Validation error — Needs parameter documentation from WhatIs
- Path anomaly — Needs DAP discovery guidance (workspace.find, workspace.diagnose)
- Command not found — Needs command name suggestions and spelling corrections
- Permission denied — Needs explanation of why the command is blocked
- Engine exception — Needs Unity-specific troubleshooting guidance
Classification ensures Vex gets the right help, not just “something went wrong.”
Example classifications:
- “Missing required parameter ‘target'” → Validation error → Fetch parameter list from WhatIs → Append: “component.set requires: target (string), component (string), property (string), value (any)”
- “Object ‘Player’ not found” → Path anomaly → Append DAP discovery guidance → “Use workspace.find pattern=’Player’ type=any to locate the object. Do not guess alternative names.”
- “Command ‘objekt.create’ not found” → Command not found → Suggest similar commands → “Did you mean ‘object.create’? Available object commands: object.create, object.find, object.delete, object.modify”
How classification works:
- Command fails with error message
- GameCatalyst analyzes the error message text
- Matches error patterns against classification rules
- Assigns error type
- Fetches appropriate recovery guidance
- Appends guidance to error response
- Vex reads error + guidance and self-corrects
Classification accuracy:
GameCatalyst’s error classification is highly accurate (95%+ correct classification rate) because it uses pattern matching on error message text combined with command metadata. If classification fails, GameCatalyst defaults to generic guidance that covers all recovery strategies.