Home

Awesome

Remove Unity Splash Screen

Announcements

Hi guys. Some of you may know, working directly with the hex and changing the value manually would be a hassle and may lead to a problem.

But, worry not. I've made a tool to accomodate this. It's called Unity Splash Screen Remover (USSR). Check this out!
Please give your feedbacks and don't forget to give it a ⭐ ^0^

Introduction

Unity Splash Screen

Well, pretty damn controversial.., huh?

Are you a Unity Developer? Did you bother this logo appear in your game? Didn't have much money to buy the license? No worry, I will share to you how to remove Unity splash screen for free without any license $hit!

I haven't tried on some platforms because I haven't installed the dependencies needed to build games on those platforms in Unity. But, if you manage to remove the Unity splash screen using the method below, please make an Issue or contact me through my social media and let me know the details so I can get it straight away updating this thread.

Without further ado, let's do it!

Table of Contents

Disclaimer

By doing this, of course you violate the applicable terms of Unity Technologies. #DWYOR!

Prerequisites

Install the following tools before proceed to Step-by-step section:

General (Required)

Platform Specific

Install the following tools if you wanna work with another platform:

Step-by-step

Before doing the actual work, don't forget to always backup the original files.

If you build a new game with different Project Settings, you need to remove the splash screen again to avoid any errors. Don't just replacing using the old modded globalgamemanagers or data.unity3d file.

You may want to read PC, Mac, Linux Standalone section first and the rest to know the context then read the Universal section.

Universal

data.unity3d

Unity will use globalgamemanagers file directly in your game if you choose the Compression Method to Default. While LZ4 & LZ4HC, Unity will pack/compress globalgamemanagers file and other resources file into data.unity3d file. So, removing Unity splash screen will be much more easy if we can get globalgamemanagers directly.

Unity Compression Method

Sadly, if I try to open data.unity3d file using UABE, UABE can't open it.

UABE can't open data.unity3d file

But, with this great fork of UABE, UABE Avalonia can read data.unity3d file seamlessly. UABEA is similiar with UABE, but the downfall of it is that UABEA didn't support editing like UABE. That's ok, we can edit it with external tools. Okay, let's remove the splash screen.

unity default resources

This is the easiest way to remove Unity splash screen. You just need to edit unity default resources file in your build.
PC: GameTitle_Data/Resources/.
Android: assets/bin/Data/. Steps for decompile & recompile APK file, please refer to Android section.

PC, Mac, Linux Standalone

<div align="center"> <a href="https://www.youtube.com/watch?v=05ymbWXdZ-8" title="Watch YouTube video" target="_top"> <img src="https://img.youtube.com/vi/05ymbWXdZ-8/0.jpg" style="width:50%;"> </a> <br> <sub>Watch YouTube video</sub> </div>

Fix for Unsupported Version

If you've read all the steps above, you should know what the problem is. UABE can't deserialize some or entire data of globalgamemanagers. That's why the Hex Editor is coming for! We will edit boolean m_ShowUnitySplashScreen and hasPROVersion manually using HxD.

Android

<div align="center"> <a href="https://www.youtube.com/watch?v=LlXiXN3IngI" title="Watch YouTube video" target="_top"> <img src="https://img.youtube.com/vi/LlXiXN3IngI/0.jpg" style="width:50%;"> </a> <br> <sub>Watch YouTube video</sub> </div>

Alternative: data.unity3d

If you want an easiest way, please go to Universal: data.unity3d section.

I just discovered that my Unity Android game is using data.unity3d file to store the globalgamemanagers file like in WebGL:

data.unity3d file

The steps to remove the splash screen is same as before. The boolean m_ShowUnitySplashScreen is same after the first question mark:

Boolean m_ShowUnitySplashScreen location

While boolean hasPROVersion is slightly different with globalgamemanagers in PC, Mac, Linux Standalone.
12 offset before the 'cutted' Unity version:

Signing APK

WebGL

<div align="center"> <a href="https://www.youtube.com/watch?v=ktkaAFYpJzA" title="Watch YouTube video" target="_top"> <img src="https://img.youtube.com/vi/ktkaAFYpJzA/0.jpg" style="width:50%;"> </a> <br> <sub>Watch YouTube video</sub> </div>

I thought I would give up on the WebGL build because I think the globalgamemanagers file was in WebGL.wasm file which is currently there's no good tool to decompile Web Assembly.
But after digging deeper, I found a hint that the globalgamemanagers file is in the WebGL.data file, in the end I was able to remove the Unity splash screen in the WebGL build :)

Notes

Result

Tested and work on games built with the following versions of Unity:

Contribute

Worked? Please, give it a star ⭐ and tell everyone by making an Issue.
Have a trouble? Make an Issue.
Have another way in mind? Make a Pull Request.

Huge Thanks

Many thanks to this fellas: