Skip to content

Debug Menu

The debug menu provides powerful tools for testing and developing your Encounters stories. It allows you to skip delays, inspect variables, view errors, and test location-based features without physically traveling.

Enabling Debug Mode

Debug mode is controlled by the Encounters platform and is automatically available during story development and testing.

Once your story is loaded in the app, the debug menu options will appear in the Settings page, allowing you to test and debug your story.

Debug Features

Show Debug Panel

Toggle: Settings → Debug Options → Show Debug Panel

When enabled, a debug panel appears at the bottom of conversation screens showing:

  • Variables Tab: All Ink variables and their current values
  • Errors Tab: Any Ink runtime errors that occur
  • Scheduled Tab: Upcoming scheduled messages with timestamps

Variables Tab

View all Ink variables in real-time:

  • Search/filter variables by name or value
  • See variable types (string, number, boolean, etc.)
  • Color-coded values for easy reading
  • Alphabetically sorted for quick lookup

When to use: To verify your Ink logic is working correctly and variables are being set as expected.

Example:

ink
~ temp playerName = "Sarah"
~ temp suspicionLevel = 5
~ temp hasKey = true

All these variables will appear in the debug panel with their current values.

Errors Tab

See Ink runtime errors as they occur:

  • Error messages with timestamps
  • Clear all errors button
  • Helps identify syntax or logic issues

When to use: When testing your story to catch and fix Ink errors.

Scheduled Tab

View all upcoming scheduled messages:

  • Message content preview
  • Scheduled timestamp
  • Time remaining until message appears
  • Useful for testing delay timing

When to use: To verify your #delay tags are working correctly and messages are scheduled at the right times.


Disable Message Delays

Toggle: Settings → Debug Options → Disable Message Delays

When enabled:

  • All #delay tags are ignored
  • Messages appear instantly
  • Both relative (#delay:5s) and absolute (#delay:08:00) delays are skipped
  • Typing indicators still work (unless also disabled)

When to use:

  • Testing story flow without waiting
  • Quickly reviewing all dialogue
  • Debugging conversation logic

Note: This only affects the current session. Delays will work normally for players.


Disable Typing Indicators

Toggle: Settings → Debug Options → Disable Typing Indicators

When enabled:

  • All #typing tags are ignored
  • No "..." typing animations
  • Messages appear immediately after delays

When to use:

  • Speed up testing when you don't need to see typing animations
  • Focus on message content rather than timing

Allow GPS Override

Toggle: Settings → Debug Options → Allow GPS Override

When enabled:

  • #location_input_gps tags work like #location_input
  • Players can manually enter any location instead of using real GPS
  • Useful for testing location-based features without traveling

When to use:

  • Testing location-based puzzles from your desk
  • Verifying IsWithinDistance() and GetDistanceBetween() logic
  • QA testing without physical travel

Example:

ink
* [Send GPS location] #location_input_gps:Prove you're at the scene
  ~ temp lat = GetPlayerLocationLatitude()
  ~ temp lng = GetPlayerLocationLongitude()
  ~ temp isNearby = IsWithinDistance(lat, lng, 51.5074, -0.1278, 100)

With GPS Override enabled, you can manually enter coordinates like 51.5074, -0.1278 to test the logic without being physically present.


Best Practices

Development Workflow

  1. Enable debug panel to monitor variables and errors
  2. Enable disable delays for quick iteration
  3. Test with delays enabled before release to verify timing
  4. Use GPS override for location testing, then test with real GPS before release

Testing Checklist

  • [ ] Test story with delays disabled (verify logic)
  • [ ] Test story with delays enabled (verify timing)
  • [ ] Check debug panel for any errors
  • [ ] Verify all variables are set correctly
  • [ ] Test location features with GPS override
  • [ ] Test location features with real GPS (if applicable)
  • [ ] Review scheduled messages tab for timing issues

Common Debug Scenarios

Testing Time-Based Delays

ink
I'll message you at 8am tomorrow. #delay:08:00

With delays disabled: Message appears immediately With delays enabled: Check Scheduled tab to verify it's scheduled for 8:00 AM Production: Message will appear at next 8:00 AM

Testing Location Logic

ink
~ temp isNearby = IsWithinDistance(lat, lng, 51.5074, -0.1278, 100)
{isNearby:
  You're at the location!
- else:
  You're too far away.
}

With GPS override: Manually enter 51.5074, -0.1278 to test the "nearby" branch Without GPS override: Must physically be at the location Production: Players must be physically present

Debugging Variable Issues

If a variable isn't working as expected:

  1. Open debug panel → Variables tab
  2. Search for the variable name
  3. Verify it's being set correctly
  4. Check the Errors tab for any Ink errors

Debug Panel UI

Variables Display

Variables are color-coded by type:

  • Strings: Yellow (e.g., "hello")
  • Numbers: Blue (e.g., 42)
  • Booleans: Green (true) / Red (false)
  • Null/Undefined: Gray

Search Functionality

The Variables tab includes a search bar:

  • Search by variable name
  • Search by variable value
  • Case-insensitive matching
  • Real-time filtering

Time Remaining

The Scheduled tab shows time remaining for each message:

  • "in 5 seconds"
  • "in 2 minutes"
  • "in 3 hours"
  • "tomorrow at 8:00 AM"

Production vs Development

Debug mode is automatically managed by the Encounters platform:

  • During Development: Debug options are available for testing
  • In Production: Debug options are automatically disabled for players

You don't need to do anything special - the platform handles this automatically when your story is published.


Troubleshooting

Debug menu not appearing?

  • Ensure you're using a development/testing version of the app
  • Restart the app after loading your story
  • Check that you're in the Settings page

Variables not showing in debug panel?

  • Ensure "Show Debug Panel" is enabled in Settings
  • Check that variables are declared with ~ or VAR
  • Verify you're on the Variables tab

Delays still working when disabled?

  • Check that "Disable Message Delays" is toggled ON
  • Restart the conversation to apply changes
  • Verify debug options are visible in Settings

GPS override not working?

  • Ensure "Allow GPS Override" is enabled
  • Check that you're using #location_input_gps tag
  • Verify debug options are visible in Settings

Next Steps

Released under the MIT License.