+10 votes

Hey! I was wondering if there was a way to remove the Godot Engine splash screen in an exported game?

in Engine by (61 points)

3 Answers

+17 votes
Best answer

The spalsh screen can't be removed, because that's what shows while the engine is loading everything. You can change the image in Scene -> Project Settings -> Application -> Boot Splash

by (672 points)
selected by

Why is it necessary to show something while the engine is loading everything? Can't that be an option for the game developer? If you're working in 2D with nominal assets, the load time may not be long at all.

One problem with having it is that if you change the position of the window in _ready() (for example, to center it on the screen and alter its size a bit) you get a quick flash of the splash screen in the default position before it is moved to the center. (Which kind of makes your game seem a little bit amateurish.)

Is there a way to center the splash screen window and set its size before it displays but after detecting the physical screen size?

On modern game consoles, regardless of whether you use Godot, the splash screen that is displayed from your game package (before your code ever runs or is even loaded) is shown until you explicitly tell the console platform API to stop displaying it.

You can shorten how long the splash screen is shown by making your start scene as lightweight as possible, and then dynamically load the heavy main scene from here while showing whatever you want, loading animation etc.

I assume that you resize and center the window all in the _ready() function.

if that's true, then you're doing it wrong.


WHY:
you resize and center the window at the same time which can cause this task to create a lag.


SOLUTION:
resize the window on the _ready() function and center the
window in the resize listener function as shown below.

EXAMPLE:

func _ready() -> void:
    OS.window_size = Vector2(1280, 720) # replacing the numbers with your desired window size

func _on_yourscenename_resized() -> void:
    OS.center_window()

if the above code does not work, then you can use the alternative below
EXAMPLE 2:

func _init() -> void:
    OS.window_size = Vector2(1280, 720) # replacing the numbers with your desired window size

func _ready() -> void:
    OS.center_window()
+3 votes

You may use a black image for this in the project settings.

-j

by (1,473 points)
+2 votes

I wasn't even searching for solution to such problem, but I discovered that when I set
General->Display->Window->width/height ==> 0
it removes splash art.

Side note :
Be sure to resize your window to non-null size somewhere in script and be aware that it might look strange for end user - new window on task bar appears but nothing displays untill game loads. But if that's what you need - take it.

by (23 points)

That's a really cool solution!

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.