I have a pixel art kinda game that I'm building in Godot. I'm a newbie to both game dev and art. I have 32px high character sprites, with objects and the world scaled to be proportionate to those characters. The debug game window is set to 1080p, with Stretch properties of mode:viewport, aspect:expand, scale:5, scale mode:fractional. When using any text labels in the game, with a font size set to 1px, they still appear WAY too big.

In terms of design, how do I deal with this? Are my characters and objects too small?

  • 2
    \$\begingroup\$ If this is an issue of needed a different scale for the UI and the game world, you solve it with a secondary viewport, otherwise, I do not know. \$\endgroup\$
    – Theraot
    Commented Mar 4 at 23:05
  • \$\begingroup\$ Cheers, it seems like that's the way I need to go. \$\endgroup\$
    – WT_W
    Commented Mar 5 at 0:39
  • \$\begingroup\$ although there may be problems, can you not set the size to something like 0.1? I feel like I've done that before and its worked fine. \$\endgroup\$
    – Pow
    Commented Mar 5 at 16:23

1 Answer 1


As suggested by @Theraot, I used a secondary viewport implementation with the following steps.

Created a new scene, added a SubViewportContainer that held a SubViewport. On this SubViewport I set the appropriate scale and stretch properties that I wanted for my game level scene. I then added the game level scene under the SubViewport.

For any UI elements where I wanted the smaller and more crisp text, I added those UI elements to a CanvasLayer under the root of the new scene so it would be used in the primary viewport, outside of the SubViewportContainer.

I then set the scale property on the primary viewport to 1 (compared to SubViewportContainer Scale of 5) to achieve the scaling I wanted.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .