Description
Changelog
Reviews (0)

Scene Instance Overrides

Scene Instance Overrides adds a Unity-style Apply/Revert workflow to Godot 4.7.1.

Review changes made to external scene instances, apply supported changes to the base scene, or revert them from the Inspector.

Features

  • Compact Overrides (N) control in the Inspector.
  • Foldable node tree with original and current property values.
  • Per-property, per-node, selected, and bulk Apply/Revert actions.
  • Inspector property context-menu actions.
  • Scene tree context-menu actions for locally added nodes.
  • Optional override buttons in the Scene dock.
  • Editable Children property support.
  • Locally added node support with a + marker.
  • Property-only Apply Without Saving Parent.
  • Editor Undo/Redo support for Revert operations.
  • No autoload or runtime dependency.

Supported Changes

  • Stored properties on external scene instances.
  • Existing child properties edited through Editable Children.
  • Locally added regular node subtrees.
  • External resource assignments.

The nearest external scene instance is used as the target.

Saving and Undo

Disk Apply uses a transactional save process.

Before writing scene files, the plugin stores the original file bytes, resource UIDs, and SHA-256 hashes in:

.godot/scene_instance_overrides/

The ten most recent backup sets are retained.

  • Dirty base scenes and dirty open dependent scenes block Apply.
  • Tools > Undo Last Scene Instance Apply can restore the latest regular disk Apply while its post-Apply file hashes still match.
  • Disk Apply cannot be undone with Ctrl+Z.
  • Revert operations use Godot's regular Undo/Redo system.
  • Apply Without Saving Parent keeps the parent scene dirty and writes property changes to the base scene only.
  • Apply Without Saving Parent does not create an Undo Last Apply record.
  • Added-node overrides require the parent scene to be saved.

Editor Settings

Available under Tools > Scene Instance Overrides Settings....

  • Show override controls for affected child nodes.
  • Show override buttons in the Scene dock.
  • Choose how Apply behaves when the parent scene is unsaved.

Not Supported

  • Transform or Control layout placement on the instance root.
  • Internal edits to built-in subresources.
  • Deleting, renaming, reparenting, or reordering existing base-scene nodes.
  • Signal or group changes on existing nodes.
  • Persistent signal connections in or targeting locally added subtrees.
  • NodePaths outside the instance boundary.
  • Nested PackedScene instances inside locally added subtrees.
  • Imported source scenes.
  • Inherited scene roots.
  • Third-party base scenes under res://addons/.

Unsupported entries are shown for review but cannot be applied or reverted.

Performance

The plugin is event-driven and does not scan scenes every frame.

Inspector and Scene dock refreshes are debounced, and scanning waits until an active mouse drag ends. Large scenes may pause briefly while the current scene is packed in memory and compared with the base scene.

Installation

  1. Copy addons/scene_instance_overrides/ into the project.
  2. Open Project > Project Settings > Plugins.
  3. Enable Scene Instance Overrides.

Compatibility

  • Tested with Godot 4.7.1.
  • Core scanning, Apply, Revert, and backup operations use public editor APIs.
  • Scene dock row buttons use a guarded Godot 4.7.1 editor adapter because no public row-button extension API is available.
  • Editor-only plugin with no game runtime dependency.

License

MIT License

Copyright (c) 2026 bakacandy

Changelog for version 1.0.0

No changelog provided for this version.

Reviews

Scene Instance Overrides has no reviews yet.

Login to write a review.

Consider supporting the creators!

If you enjoyed this asset consider supporting its creator. Follow the link below.