Coming from this post
You could stick a 3d character into a 2d world using a sprite2d and a subviewport set to transparent background. The viewport will have a 3d camera viewing a 3d character. The sprite2d would be a child of a character2d and will move the character around the screen.
The alternative is just do it all 3d with an orthogonal orthographic camera to remove perspective distortion for 2d elements. This is how unity does things.
At the end of the day its all 2d on your screen.