Replies: 1 comment
-
Note that the first two project settings settings can't have their actual default value changed without breaking existing projects. This means new defaults should only impact newly created projects, using an approach similar to godotengine/godot#105737.
This is a sensible default for pixel art, but it's too low of a resolution for HD 2D art. It would also cause the default window size to be very small, although we could remedy this by specifying a default window size override. However, one problem with this is that we can't get integer scaling by using a default window size of 1280×720, as this resolution can't display properly in window mode on a 1366×768 display. Such displays are still present on some low-end laptops used by people in 2025, even though it's been years since no such laptops are being sold anymore. This is the reason we went for 1152×648 as a default instead, as described in godotengine/godot#55032. Project templates could be a better, more tailored solution to the problem.
This was proposed in #3939, but we ended up deciding against it for a few reasons in 4.0. This could perhaps be revisited as I still think games should never use
These two are not project settings but node properties, so we can't change their defaults without breaking existing projects. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
The first thing I do when making any project in Godot is the following:
display/window/size/
viewport_width
/viewport_height
to640x360
. The default of1152x648
is60%
of the screen in1920x1080
, which gives you more space to work with, but it doesn't upscale cleanly into any common resolutions.640x360
cleanly upscales into720p
(HD-ready),1080p
(HD),1440p
(QHD) and2160p
(UHD).display/window/stretch/mode
tocanvas_items
anddisplay/window/stretch/aspect
toexpand
. This allows the window to be automatically scaled to any aspect ratio without letterboxing. The default doesn't upscale at all and keeps the content in the top-left which is virtually never the desired behaviour.Another thing I do with almost every
TextureRect
is the following:expand_mode
toignore_size
. This allows theTextureRect
to be resized which is virtually always desired. If I wanted theTextureRect
to always match the exact resolution of the texture I would probably want to do this explicitly.stretch_mode
tokeep_aspect_centered
. This prevents the texture from being squeezed while ensuring it is fully visible, centered and contained within the bounds. This approach is not that common on the web but in my opinion it's usually the best approach.These changes were not obvious to me when I first used Godot, and I think they would be helpful defaults to new users.
Summary of changes:
1152x648
to640x360
.canvas_items
andexpand
.TextureRect
expand mode toignore_size
.TextureRect
stretch mode tokeep_aspect_centered
.Beta Was this translation helpful? Give feedback.
All reactions