
Publisher
pysnow
schmove 2D
Automatic handling of basic save data, persisting static state, and moving entities across scenes.
This plugin has been mirrored from the Godot Asset Library.
The plugin author is in no way affiliated with Gadget.
If you are the author of this plugin and would like this mirror removed, please contact support@gadgetgodot.com.
Schmove
A very slightly opinionated stab at cross-scene management in Godot4
Overview
As children in each of your scenes add SchmoveImporter2D, configure as needed. These will be where
your nodes will get teleported into. Make sure they have atleast one group they allow.
In anything that needs to be cross-scene, add an SchmoveExporter2D, configure as needed. This node will make sure
that when you Schmove.Begin/Finish (and its an important node) it will move along to the next scene. Having this node
in a node also enables it for being targeted by .transition_launch, .jail etc
In anything that needs to remember state, add a SchmoveStatic2D, and the encode/decode pair will automatically be called on scene
transition, and recalled state on _ready
Now whenever you Schmove.BeginTransition, .FinishTransition it will carry over all Exported nodes
that got explicitly launched (or were implicitly launched by being marked Important)
Encode/Decode pairs
If any of your Static or Exporter node's parents have a schmove_encode() -> Dictionary and a schmove_decode(data: Dictionary), they
will have their state saved in the save file, and will recall their previous states via schmove_decode
Features
- Wipe transitions via simple shaders
- Automatic free cross-scene entities
- In depth control of entities with a Jail system
Guides
Coming soon, but for now the scripts are very well documented.
Tips
Turn on advanced settings in your project settings to see a schmove menu for both layer names, and general settings
Huh??
This is exclusively a 2d aimed plugin, a 3d version would not be hard to start on, but I have no interest in starting it for now.