Coder Social home page Coder Social logo

kiraio-moe / ussr Goto Github PK

View Code? Open in Web Editor NEW
202.0 7.0 20.0 774 KB

CLI tool to remove Unity splash screen & watermark.

License: GNU General Public License v3.0

C# 96.65% Shell 3.35%
unity unity-2d unity-3d unity-hacking unity-tool unity2d unity3d modding modding-tools unity-mod

ussr's Introduction

Unity Splash Screen Remover

USSR workflow status (with event) USSR release USSR total downloads USSR Repo stars USSR forks USSR issues USSR pull requests Project license

Table of Contents

Announcement

On the latest updated policy for Unity Runtime Fee on 22 September 2023 (https://unity.com/pricing-updates), one of the key updates is Unity has decided to make the splash screen optional. Starting with Unity 2024 LTS (currently referred to as the 2023 LTS) or later.

Overview

The Unity Splash Screen Remover (USSR) is a Command-Line Interface (CLI) tool designed to remove the Unity splash screen logo & watermark from Unity-built games.

The tool is an implementation of the guide available at https://github.com/kiraio-moe/remove-unity-splash-screen. By utilizing this tool, you can easily remove Unity splash screen from your games and keep your own logo displayed.

Requirements

Usages

Note

You can find the nightly build of USSR with the latest bug fixes in the latest runned workflow artifacts.

  • Download USSR from Releases page.
  • Run USSR.exe and follow the instructions. If you're on Android or iOS platform, please read the guide below.

Android

  • Make sure you already have JDK & SDK installed. In another word, you can build your game in Unity Editor.

  • Android Studio installed. Make sure to set the JDK and SDK path to the one you used for Unity Editor.

  • Follow these steps:

    • Check Export Project in Build Settings then export.
    • After exported, remove the splash screen at <export_result>/unityLibrary/src/main/assets/bin/Data/.
    • Remove the backup file (*.bak) generated by USSR or move to somewhere else outside of <export_result>.
    • Import the exported project to Android Studio.
    • Build the project.
    • If you want to upload your game to app store (e.g. Google Play Store), you can sign your game with keystore and build the project as app bundle (.aab).
      I won't cover those steps here, because you can find them pretty much on the internet.

iOS

Warning

This section may have some incorrect information (I'm not an expert on this). Feel free to create Issue/Pull Request if there's mistake.

  • Xcode installed.
  • There's no fancy settings to be checked, just Build (export) the project.
  • Remove the splash screen at <export_result>/Data/.
  • Remove the backup file (*.bak) generated by USSR or move to somewhere else outside of <export_result>.
  • Open Unity-iPhone.xcodeproj with Xcode, then proceed to build.
    If you're an iOS developer, you know what to do next, right?

Supported Platforms

USSR support the following platforms:

  • PC, Mac, Linux Standalone
  • Android
  • iOS
  • WebGL

Supported Unity Versions

Important

Some minor Unity versions are not supported and can caused crash.

  • Unity 5 ~ Unity 2023

Contribute

If you found any bugs or have suggestions, feel free to create an Issue/Pull Request.

Credits

License

This project is licensed under GNU GPL 3.0.

For more information about the GNU General Public License version 3.0 (GNU GPL 3.0), please refer to the official GNU website: https://www.gnu.org/licenses/gpl-3.0.html

Disclaimer

By using this tool, you're intentionally violates the Unity End User License Agreement (EULA). Use the tool at your own risk (DWYOR - Do What You Own Risk).

FAQs

Q: Is using this tool safe?
A: Yes, the tool is designed to safely remove the Unity splash screen from your game without causing any harm.

Q: Can I upload my game to game stores and not get banned?
A: Yes, you can upload your games to various game stores without facing any bans. However, it's important to note that by removing the Unity splash screen, you are violating the Unity EULA, and there is always a risk of potential consequences. Be aware of the risks before proceeding.


Please note that using this tool is at your own discretion and responsibility. Always make sure to backup your game files before using any third-party tools or modifying game assets.

ussr's People

Contributors

kiraio-moe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

ussr's Issues

[REQUEST] Support Decompression Fallback in WebGL

So I turn on the splash logo at 2020.1.0 and made a webgl package, the USSR looked worked fine, However when I tried to open this webgl program it got stuck somehow, and never entered inside program. By the way I am using 1.1.5 USSR, already choose "All Sequential".
I also tried 2022.3.0 unity it turns the same. I noticed I have marked "Decompression fallback" true in Player setting/Publishing setting which generate the .unityweb file instead of .gz files(gz is unusable for me). Seriously, I tried a lot times in different version of Unity, and never saw this USSR actually working even for once.........

[BUG] USSR can't find WebGL.data

I used Unity 2021.3 to build the game with GZip compression. Dragging the index.html file onto the USSR.exe results in the following error:

image

Let me know if you need me to send the uncompressed WebGL.data file! I also tried it without any compression and it still has the same error.

Project does not run after removing splash screen

I have created web-build with publishing settings "compression format" : gzip and "decompression fallback": enabled. I tried to remove splash screen with your utility, but I got this error upon starting the builded app in the file .loader.js :

RangeError: too many arguments provided for a function call createUnityInstance.

What can be the cause of the problem?

[REQUEST] Support File Name as Hashes in WebGL build

I used Unity 2022.3.10f1 to build a project with the following settings:

image

The WebGl.data.gz file was named as 7e9c55bf336c56ec56ecff7b98edcd74d3a7.data.unityweb. I opened this file with the Bandizip archiver and saw the following:

image

As suggested in #4, I renamed it to WebGl.data.gz and ran USSR, everything worked. Opening the generated file, I saw the following:

image

I then renamed this file back to 7e9c55bf336c56ecff7b98edcd74d3a7.data.unityweb, but the game failed to load. I opened the renamed file again and was surprised:

image

Maybe this causes the issue, maybe not. In any case, removing the splash screen from builds with the "Name Files As Hashes" option enabled doesn't work.

( ERROR ) Unknown/Unsupported file type! (when trying to use data.unity3d) Unity android build by editor version 2022.3.15

( INFO ) unity3d file selected.
( INFO ) Loading class types package: K:\USSR-v1.1.6-net6.0-win-x64\classdata.tpk...
( INFO ) Loading asset class types database...
Unhandled exception. System.ArgumentOutOfRangeException: Non-negative number required. (Parameter 'capacity')
at System.Collections.Generic.List`1..ctor(Int32 capacity)
at AssetsTools.NET.AssetTypeTemplateField.ReadType(AssetsFileReader reader, AssetTypeValueField valueField, RefTypeManager refMan)
at AssetsTools.NET.AssetTypeTemplateField.ReadType(AssetsFileReader reader, AssetTypeValueField valueField, RefTypeManager refMan)
at AssetsTools.NET.AssetTypeTemplateField.ReadType(AssetsFileReader reader, AssetTypeValueField valueField, RefTypeManager refMan)
at AssetsTools.NET.AssetTypeTemplateField.MakeValue(AssetsFileReader reader, RefTypeManager refMan)
at USSR.Core.USSR.RemoveSplashScreen(AssetsManager assetsManager, AssetsFileInstance assetFileInstance) in E:\Projects\USSR\USSR.cs:line 533
at USSR.Core.USSR.Main(String[] args) in E:\Projects\USSR\USSR.cs:line 307

[QUESTION] Other possible platforms?

I wonder if other platforms has Export option to build on another IDE?
If yes, I think it might be possible to remove the splash screen.

I'm not familiar with them (including iOS). If you already did, please let me know!

FB_IMG_1659385887917

[BUG] Unhandled Exception: Unable to read beyond the end of the stream

Unity Splash Screen Remover v1.1.3
Loading class type package...
Found globalgamemanagers.
Loading globalgamemanagers and it's dependencies...
Loading asset class types database...
Unhandled exception. System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
at System.IO.BinaryReader.InternalRead(Int32 numBytes)
at AssetsTools.NET.AssetsFileReader.ReadInt32()
at AssetsTools.NET.AssetTypeTemplateField.ReadType(AssetsFileReader reader, AssetTypeValueField valueField, RefTypeManager refMan)
at AssetsTools.NET.AssetTypeTemplateField.ReadType(AssetsFileReader reader, AssetTypeValueField valueField, RefTypeManager refMan)
at AssetsTools.NET.AssetTypeTemplateField.ReadType(AssetsFileReader reader, AssetTypeValueField valueField, RefTypeManager refMan)
at AssetsTools.NET.AssetTypeTemplateField.ReadType(AssetsFileReader reader, AssetTypeValueField valueField, RefTypeManager refMan)
at AssetsTools.NET.AssetTypeTemplateField.MakeValue(AssetsFileReader reader, RefTypeManager refMan)
at USSR.Program.Main(String[] args) in D:\Projects\USSR\Program.cs:line 18

[UPDATE] USSR will have a GUI for future updates

Controlling the flow of application with label and goto is a bad idea. It's make me hard to debug the code.
For the future update, I'll use Avalonia as the front-end of choice cause it's cross-platform. The implementation will use MVVM pattern.

Stay tuned for the next update, it's my first time creating a desktop app so it will take some time.
Any thoughts? Don't hesitate to comment.

Unable to use on MacOS (M1)

Hey! I've been using this asset on Windows where it works perfectly but I'm completely unable to use it on MacOS (USSR-v1.1.6-net7.0-osx-arm64.zip) (I tried every other versions too), it always says: "X killed" (X being a random number), so I thought I had some issues with my terminal but from what I've searched for it seems like the issue is that the application is unsigned.

Unable to use USSR Tool

I have been trying to use USSR Tool Net 6 Version, but I'm encountering an issue. Every time I drag and drop my index.html file onto the .exe, it's giving me this error.

Could you please advise if I am doing something incorrectly or if there's a specific troubleshooting step I should follow to resolve this issue?

Edit: I changed my unity version it works now!! Thank you for the tool!!

Screenshot 2023-09-15 at 9 59 28 PM

how to run it on Mac?

hello,
well not able to run it on Mac...
i'll open a terminal @ USSR ... than: sudo ./USSR
./USSR: command not found

something wrong?
thx
M

Can't working in Meta quest 3

Result app

image

Description

  • Use Unity 2022.3.15f export to android app for Meta quest 3.
    image
  • Use Android studio
    image
    -The app runs normally on Meta Quest 3, but it does not remove the splash screen.

[BUG] Unity splash screen logo isn't properly removed

Unity 2022.3.10f1
USSR v1.1.5 win_x64

USSR outputs
( INFO ) Set hasProVersion = True | m_ShowUnitySplashLogo = False
( INFO ) Removing UnitySplash-cube...
( INFO ) Successfully removed the Unity splash screen.
( INFO ) Backup globalgamemanagers as [redacted]...
( INFO ) Writing changes to [redacted]...
( INFO ) Cleaning up temporary files...

but launching the game still plays the splash.

[BUG] Unhandled exception and no error handling for unsupported Unity version

How to Use
Select the Action, find and choose one of these files in you game data:
globalgamemanagers | data.unity3d | <game_name>.data | <game_name>.data.br | <game_name>.data.gz

( INFO ) unity3d file selected.
( INFO ) Loading class types package:
C:\USSR\USSR-v1.1.6-net8.0-win-x64\classdata.tpk...
( INFO ) Loading asset class types database...
Unhandled exception. System.ArgumentOutOfRangeException: count ('-1023778293') must be a non-negative value. (Parameter 'count')
Actual value was -1023778293.
at System.ArgumentOutOfRangeException.ThrowNegative[T](T value, String paramName)
at System.IO.BinaryReader.ReadBytes(Int32 count)
at AssetsTools.NET.AssetTypeTemplateField.ReadType(AssetsFileReader reader, AssetTypeValueField valueField, RefTypeManager refMan)
at AssetsTools.NET.AssetTypeTemplateField.ReadType(AssetsFileReader reader, AssetTypeValueField valueField, RefTypeManager refMan)
at AssetsTools.NET.AssetTypeTemplateField.MakeValue(AssetsFileReader reader, RefTypeManager refMan)
at AssetsTools.NET.AssetTypeTemplateField.MakeValue(AssetsFileReader reader, Int64 position, RefTypeManager refMan)
at AssetsTools.NET.Extra.AssetsManager.GetBaseField(AssetsFileInstance inst, AssetFileInfo info, AssetReadFlags readFlags)
at USSR.Core.USSR.RemoveSplashScreen(AssetsManager assetsManager, AssetsFileInstance assetFileInstance) in E:\Projects\USSR\USSR.cs:line 546
at USSR.Core.USSR.Main(String[] args) in E:\Projects\USSR\USSR.cs:line 307

unity version 2022.3.12f1
webgl build

( ERROR ) Unknown/Unsupported file type! (when trying to use globalgamemanagers)

Hello! I'm trying to use the dotnet 6.0 linux x64 build of USSR, and encountering an issue where the software fails to recognize the globalgamemanagers file that came with the game upon compilation. Here is the file,

https://mega.nz/file/9IInTbDL#Xjt0itmNgJ0HDqYm11fiq9eoFTUgfL7h5tGXDv-H4r0

I'm not sure why it's failing, as with manual tools I can read the file's contents just fine.
Thanks for reading :) If you need any other info, let me know!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.