schmove

by pysnow

1

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.

Version

1.0

Engine

4.0

Category

2D Tools

Download

Version1.0
Download

Support

If you need help or have questions about this plugin, please contact the author.

Contact Author