Is it possible have 3D environment governed by a 2D scene?

Godot Version

4.5.stable

Question

I’ve been writing a ton of scripts and logic for a game set on a grid. I have scripts that handle things like grid size, object coordinates, converting from grid-space to real-space, etc etc. The entire game has, so far, been developed in 2D.

However, I’d like for this game to make be set in a 3D scene, making use of 3D models and camera. Ideally, all the 2D game logic I already have would just function as-is, and “exist” on the XY plane of the 3D environment, and 3D nodes would simply follow their 2D counterparts, essentially just providing them with models and necessary visuals.

This feels like it should be possible to me, in theory, but I’m not really finding any good resources on how to do something like this online. Is this doable?

An example of how I was hoping this might work (it doesn’t, for clarity):


GridManager and GridObject, here, are my own Node2D subclasses for handling the grid.

i dont think the position gets inherited between 2d and 3d nodes. You would have to approach this differently (add the third axis to your 2d code or some converter).

for my grid-based 3d game i used astargrid2d and just added the third coordinate everytime i needed to move my characters

1 Like

Just adapt the code to work for 3D. Any kind of “mixing” will not work.

2 Likes

That’s a really interesting question — and yes, it’s absolutely possible to have a 3D environment governed by 2D logic. Many grid-based games follow a similar approach, where all movement and calculations happen in 2D space, and the 3D visuals are essentially “slaves” to those 2D positions.

In Unity or Unreal, you’d typically use your 2D logic to handle positions and updates (like Vector2 grid coordinates), then simply project those values onto the XY plane of your 3D world. Each 3D object can read from your existing grid manager, updating its transform accordingly.

Studios that have built hybrid systems — like Juego Studios, which often work on 2D-to-3D transitions in their prototypes — usually recommend separating game logic from rendering. That way, your grid code remains unchanged while the 3D layer handles visuals, lighting, and camera behavior.

It’s definitely doable — you’ll just want to ensure the coordinate systems and scaling between your grid and 3D world are consistent.

The question wasn’t about 2D logic. It was about 2D nodes driving a 3D scene. That would be really really cumbersome and impractical. It’s much better to adapt the 2D logic code to run directly on 3D objects.

2 Likes

Hm, I just realized I responded to ai generated shite. Flagged.

1 Like