Unity Tutorial A complete guide to remove Unity splash screen for free

kiraio

New Member
Nov 28, 2022
4
4
Remove Unity Splash Screen
Introduction

IMG_Unity_Splash_Screen.gif

This thread is deprecated, checkout the repo for the latest update:
I know, I'm too lazy to copy-pasting and formatting this thread.

Are you a Unity Developer? Did you hate this logo appears in your games? Bother? Didn't have money to buy the license? Well, me too...
So, 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, maybe I'll try them in the future. But, if you manage to remove the Unity splash screen using the method below, please make a or contact me on and let me know the details so I can get it straight away updating this thread.

Without further ado, let's do it!

Prerequisite
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:

Android
WebGL
  • (Optional)
Step-by-step
I don't know how games built with IL2CPP looks like on PC platforms. If you don't mind, please create a dummy project and build with IL2CPP scripting backend and send the build to me via email: itsyuukunz@gmail.com. I'll try playing with it ;)

PC (Mono)
  • Prepare your game that has been built.
    IMG_PC_Mono_01.png
  • Go to the Game Title_Data folder and backup the globalgamemanagers file in case of errors.
  • Open the globalgamemanagers file using Unity Asset Bundle Extractor (UABE).
  • Click globalgamemanagers (Assets) in Files and Components. Select Unnamed asset which is of type PlayerSettings then click View Data and...
    IMG_PC_Mono_02.png
  • BOOM! Error................
    IMG_PC_Mono_03.png
    Need corrections probably. Because one day, I tried to open the PlayerSettings of a game made using Unity 2018 but I can't access it.
    This happens in games using Unity version >= 2020 where it seems Unity has encrypted (probably) the PlayerSettings part but not the other part. Whereas when I try to open the PlayerSettings section of the game built using Unity 2019, UABE can still access it.
  • We will fix the problems in the Unity 2020 version later. For now, let's focus on games built using Unity <= 2019.
    As you can see, we can access PlayerSettings. If we change the value of m_ShowUnitySplashScreen to false (by double clicking) then the Splash Screen will not appear when starting the game (the Made with Unity logo will also not appear automatically) and as you can guess, if we change the value of m_ShowUnitySplashLogo to false then the Made with Unity logo will not appear.
    IMG_PC_Mono_04.png
  • But, by just removing the Made with Unity logo will not work if the Made with Unity splash logo is still listed in m_SplashScreenLogos. To fix this, we can simply delete the array item that contains the Made with Unity logo. Great!
    IMG_PC_Mono_05.png
  • Now let's move on to other settings. Move to Asset List and open BuildSettings:
    IMG_PC_Mono_06.png
  • Select hasPROVersion and change the value to true:
    IMG_PC_Mono_07.png
  • Save your changes (IDK why Apply does nothing). UABE cannot overwrite the file being edited, so just save it as globalgamemanagers-mod.
    IMG_PC_Mono_08.png
  • Close globalgamemanagers on UABE or simply close UABE app, delete the original globalgamemanagers file (Remember! you have a backup, don't worry...) and rename globalgamemanagers-mod to globalgamemanagers.
  • Try running the game and be surprised!
Fix for Unity >= 2020
If you've read all the steps above, you should know what the problem is, UABE can't deserialize PlayerSettings on Unity >= 2020 because it's encrypted (probably). That's why the Hex Editor is coming for! Make sure you meet the prerequisite!
  • Open globalgamemanagers file using HxD.
  • Search your Company Name or Product Name (in my case it's kiraio and Bungaku) until you get like the image below.
    Notice the first Question Mark (?) after the product name, right after that there's a hex value 01 01 (in my case, it's in offset: 1060 and 1061). If you change the hex value of the first 01 to 00 then the Splash Screen will be disabled, while the following 01 sets whether the Made with Unity logo will appear or not.
    IMG_PC_Mono_09.png
  • Boolean Splash Screen (m_ShowUnitySplashScreen) was discovered by the YouTube channel Awesomegamergame in his video . But the way he just change the Splash Screen boolean value to false doesn't work in other versions of Unity. I think this thread as a complement to the tutorial.
  • After changing the Splash Screen boolean, now change the m_hasPROVersion boolean exactly like the method above.
Android (Mono, IL2CPP)
  • Prepare your Unity Android game.
  • In the image, I used the .apks format which is basically just a .zip file, so I just extracted it and got 2 files namely base.apk and split_config.arm64_v8a.apk. After I finished doing the step below, I archived files again to .zip and changed the name of the extension to .apks.
    IMG_Android_Mono_IL2CPP_01.png
  • Open APKToolGUI (Make sure you meet ).
  • Drag and Drop the APK file (If you using .apks file, just drop which you guys think is the main APK, in my case is base.apk) to the APK File section. APKToolGUI will automatically decompile the APK.
  • IMG_Android_Mono_IL2CPP_02.png
  • Go to the decompiled APK folder and go to assets/bin/Data folder, you will find the globalgamemanagers file.
  • IMG_Android_Mono_IL2CPP_03.png
  • Do the same as in PC (Mono) section.
  • After finish editing globalgamemanagers, go to APKToolGUI and re-compile the decompiled APK folder.
  • IMG_Android_Mono_IL2CPP_04.png
  • DONE!
  • For those who have uploaded the game to the App Store (such as Google Play), make sure to sign your APK consistently. If not, when you update your game that is already installed on Android, an error Signature is inconsistent with an existing application will appear. For new apps, it might be time for you to start signing APKs consistently.
  • You can generate a Keystore in Unity, go to Project Settings > Publishing Settings > Manage Keystore (Make sure you have switched to Android platform).
  • IMG_Android_Mono_IL2CPP_05.png

Notes
  • There is no difference affecting the splash screen in the globalgamemanagers file between Development builds and Release builds.
  • Yep, that's my Android game I used as a test subject. You can see find it at XD (Pssttt... a remake is in the works).
Result

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

Unity 2020.3.39.26224 (LTS)
  • PC/Windows x86_64 (Mono)
  • Android (Mono, IL2CPP)
Unity 2019.4.12f1 (LTS)
  • Android (Mono, IL2CPP)
Worked? Please give it a star ⭐ and tell everyone on .
Something is missing? Make an .

Huge Thanks
Many thanks to this fellas:
  • for
  • Maël Hörz for
  • for
  • | for
  • for
  • and others that I didn't mention...
Disclaimer
By doing this, of course you violate the applicable terms of Unity. #DWYOR
 
Last edited: