I am experimenting with creating a pixel-art mobile game in Godot. I am having trouble with the viewport size regarding the pixel art assets. I've learned that I should set the scaling mode to integer, which adds black bars to the screen. My plan to get rid of the black bars is as follows:
Find a way to resize the main viewport dynamically in runtime
Calculate, based on the device's size, what size the viewport should be
Apply that calculation when appropriate
Before I even try to get a calculation like that going, I want to make sure I can change the viewport's size in the code, which I couldn't figure out myself. I have tried the following:
Changing the project settings in a _ready function: Does nothing
Changing the project settings in a _process function: Does nothing
Setting get_viewport().size in a _ready function: Does nothing
Setting get_viewport().size in a _process function: Changes the size of the viewport, but without expanding it
Setting get_window().size in a _ready function: Does nothing
I haven't developed for mobile, but I have played around with pixel art in games. Here's a guide which probably outlines the why of it better than I can.
It sounds like to git rid of the black bars, you want to open ProjectSettings/Display/Window/Stretch and set Mode to Viewport and Aspect to Expand.