Godot Quickstart

Target reader: developers integrating the feedback panel into a Godot 4.x project.

This quickstart assumes the addon has been copied to res://addons/echo_nebula_feedback/ and enabled in the Godot plugin panel. The plugin registers the EchoNebulaFeedback autoload singleton.

After enabling the plugin, copy quickstart.gd.txt to quickstart.gd in the game root before configuring or attaching it. The text template is not parsed before the autoload exists.

Extended example

The stable minimal example contains only the canonical core. This extended example adds optional runtime context and feature controls.

The following extended calls belong inside existing game functions. For a complete script that can be attached to a new Node, use the fixed ZIP's quickstart.gd and the main Quickstart.

EchoNebulaFeedback.configure({
  "project_key": "enb_pk_xxx",
  "public_api_base_url": "http://localhost:4000",
  "environment": "local",
  "release": "0.1.0",
  "build_id": "dev-build-001",
  "locale": "auto",
  "enable_screenshot": true,
  "enable_recent_logs": true,
  "enable_breadcrumbs": true,
  "offline_queue": true,
  "hotkey": KEY_F8
})

EchoNebulaFeedback.set_player({
  "player_id_hash": "sha256:337180dda29405211bf7a37ea531367110370dc54db2298fcf4450f1749badb3"
})

EchoNebulaFeedback.set_context({
  "scene": "res://scenes/main.tscn",
  "level": "demo"
})

EchoNebulaFeedback.open_feedback_panel({ "trigger_source": "button" })

enable_screenshot and enable_recent_logs only make those options available in the panel. They do not check the consent boxes by default; the player must manually opt in before either attachment type is uploaded.

After configure(), the SDK reads SDK config with the Project Key through GET /v1/sdk/config; you can also call refresh_sdk_config() explicitly. When the player submits, the SDK builds a feedback_report payload and posts it to POST /v1/feedback/reports; if the player opted in to attachments, the SDK uses the returned feedback_id to upload them to /v1/feedback/reports/{feedback_id}/attachments. If the API is unavailable, offline_queue keeps the payload for a later flush. Management remains under /admin/v1/* and requires a developer session.

Common mistakes

Next step

Read Install the Godot addon.