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 Applycan 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 Parentkeeps the parent scene dirty and writes property changes to the base scene only.Apply Without Saving Parentdoes not create anUndo Last Applyrecord.- 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
- Copy
addons/scene_instance_overrides/into the project. - Open
Project > Project Settings > Plugins. - 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.