Previously 2D gameplay was not specifically supported, leaving creators to find inventive ways to make puppets move in 2D. We have now introduced a proper method for making puppets move in 2D which is much more robust than using gadgets or collisions. This is found on page one of the puppet tweak menu.
The puppet is constrained to only move in X and Y. It will aggressively move back onto the Z plane if pushed off (perhaps by movers or collisions).
If the puppet is following a tag (via the puppet settings rather than a "follower gadget") then it will follow the nearest point on the plane to the given tag.
The walk/turn inputs are adjusted to ignore the Y. So the puppet will "want" to face left or right and never a funny angle. There is added hysteresis so that if you tap left, then the puppet will keep turning until facing left (rather than turning back to face right or being left at a point in the middle).
On spawning/respawning/teleporting, the puppet should take the direction that it's appeared in to work out whether it "wants" to face left or right. If it can't tell (perhaps because you made the puppet start off facing the camera, or respawned it facing the camera), then it will prefer to turn right. Why? Because it's a matter of common sense that plumbers prefer to run to the east.
When changing direction, the puppet will prefer to face towards the camera while turning (rather than preferring to turn right when doing a 180 degree turn which is the behaviour when in 3D).
If the puppet is turning to face a tag (via the puppet settings rather than a "rotator gadget") then it will merrily face all sorts of angles (but not allow the puppet to fall over!) which is cute as a way of making the puppet turn to face stuff in/out of the plane of movement.
Face Camera When Idle#
If you'd prefer your character to face the camera when stationary (rather than try to always face left or right), then set the OTHER new tweak "face camera when stationary" that is unlocked when you choose "2D movement". This will make the character act a bit more like Sackboy than a plumber.
The controller sensor 3rd person camera changes to point down the Z axis (so that X is going right and Y is going up). The zoom/offset/pitch/etc camera adjustments on the puppet are still respected.
If you use camera pointers, then we ignore all of this in favour of the angle prescribed by the camera pointer(s).
If you dynamically disable then later re-enable the "2D movement" option, then the new position that the puppet is on will determine the new "z plane" that the puppet will stick to (so it won't snap back to where it was when you last had this option turned on). The camera will also smoothly transition to the new "side on" angle.
Feufollet is an example of a creation that originally used collision to restrict the puppet movement to the Z axis (the designer has since changed to the follower technique). This collision based system degraded as a result of changes (see capsule issue). Either way this creation could make use of the new 2D movement feature.
The Dreams User Guide is a work-in-progress. Keep an eye out for updates as we add more learning resources and articles over time.