Overview
This is a 2D / 3D switching puzzle prototype. I used it to test whether the same level could produce different solutions under different spatial rules.
The idea came from the keyword “dot.” A dot can be a point in one dimension, a mark on a 2D plane, or a projection inside 3D space. I turned that idea into a spatial prototype where the player switches between 2D projection and 3D space to understand the same level through different rules.
Screenshots and Mechanics

In 2D mode, the player sees a side-view projection of the level. Movement is constrained to one plane, and obstacles behave more like a traditional 2D puzzle.

After switching to 3D, the camera and movement rules change together. Structures that look like blockers in 2D can be reinterpreted through spatial depth.
My role
- Designed the mechanic and developed the prototype independently.
- Rapidly verified dimension switching, camera switching, and object-behavior synchronization.
Technical implementation
- Used
DimensionManagerto control dimension state, camera switching, and object behavior. - Allowed the same player object to switch movement rules between 2D and 3D.
- Used collider switching and projected-position correction to make one scene support multiple solutions.
System Structure
- Dimension switching:
DimensionManagercontrols 2D/3D state and synchronizes Cinemachine camera priority. - Player control:
PlayerMove,PlayerJump,GroundCheck2D, andGroundCheck3Dhandle movement, jumping, and grounded checks under two spatial rules. - Spatial object rules:
DimensionObjectenables different colliders depending on the current dimension and corrects projected player position in 2D mode. - Menu and flow: start menu, pause menu, and basic flow control keep the prototype playable as a complete loop.
The prototype focuses on validating one clear chain: pressing Tab changes the dimension state, switches the camera, changes movement axes, updates collision rules, and creates a new spatial solution inside the same level.