Files
ai-game-2/addons/transition_configurator

Transition Configurator Plugin

A Godot 4.x editor plugin that simplifies configuring TransitionPiece exits in the King's Quest IV remake.

Features

  • Fuzzy search for finding rooms quickly
  • Visual selection of destination TransitionPieces as arrival points
  • Bidirectional wiring - automatically updates return transitions
  • Validation - warns if destination doesn't have appropriate arrival points
  • Auto-reload - refreshes scenes in editor after changes

Installation

  1. Copy the addons/transition_configurator/ folder to your project's addons/ directory
  2. Enable the plugin in Project Settings → Plugins
  3. Restart the editor (recommended)

Usage

  1. Select a TransitionPiece node in your scene
  2. In the Inspector, click the "Configure Exit..." button
  3. Use the search box to filter rooms (fuzzy matching)
  4. Click on a room to see its available TransitionPieces
  5. Select an arrival point
  6. Click Apply Changes

The plugin will:

  • Update the selected TransitionPiece's target and appear_at_node properties
  • Update (or create) the return transition in the destination room
  • Reload the destination scene in the editor

How It Works

  • Room Discovery: Scans res://scenes/ for .tscn files starting with kq4_
  • Arrival Points: Lists all TransitionPiece instances in the selected room
  • Bidirectional Updates: Finds or creates a return TransitionPiece named after the current room
  • UID Resolution: Extracts UIDs from scene files for proper target references

Files

  • plugin.cfg - Plugin metadata
  • transition_configurator.gd - Main EditorPlugin entry point
  • transition_inspector_plugin.gd - Adds UI to TransitionPiece inspector
  • config_dialog.gd - Configuration dialog with search and selection
  • fuzzy_search.gd - Fuzzy text matching utility

Requirements

  • Godot 4.x
  • TransitionPiece class (class_name TransitionPiece)
  • Room scenes in res://scenes/ following kq4_XXX_* naming convention

Notes

  • The plugin uses UndoRedo for source scene changes
  • Destination scene changes are saved and reloaded automatically
  • If bidirectional update fails, the source changes are still applied