New builds are now live and with this patch there come some changes to the Android system requirements.
You must have at least 2GB of usable RAM available. Most phones with 8GB of RAM should be fine, but some, like Samsung phones, may close background services to free up RAM. This means apps like YouTube and Spotify will be closed by the OS to free up RAM if running in the background.
If you have a powerful enough device, you can now use the Ultra graphics settings. You'll need at least 3GB of usable RAM for it, and that can fluctuate up to 3.5GB.
RAM use is mainly caused by not using lower poly assets. This is something I will work on fixing gradually.
For reference, I've only been able to test this on a Galaxy S23 Ultra 256/8GB model, since my S7's battery died and became a spicy pillow last year.
Now onto the changes:
OS Build Changes
File sizes have been reduced across the board by separating the 32-bit and 64-bit versions, except on Linux.
On Android generally any phones from 2015 and older are 32-bit. Newer phones are 64-bit. Double check by looking up your phone before you download the wrong version and submitting a bug report.
Android 6 should still be the minimum spec, but you'll run into RAM issues.
Windows now has 3 builds: a 32-bit build, a 64-bit build, and an ARM build. Most should use the 64-bit build. The ARM build is for those with a Snapdragon powered laptop.
Linux build contains both 32 and 64-bit builds as one package due to it only using one API and the file size not being massive.
MacOS build discontinued due to Apple changing the exporting requirements.
General Changes
Updated to Unity 6.2. This may require you to completely reinstall the game. You will lose your save data when/if you uninstall the game.
App is now properly registered as a game by compatible Android versions. This means it'll be able to better allocate resources and allows for you to use game mode features on phones with them, like Samsung phones.
This update removes the Toon Shaders. Unity's Toon Shaders are good but constantly glitch out in-editor and fail to compile, causing many builds to fail. I will be making my own Toon shader from scratch at a later date (as it'll help reduce the compile times caused by Unity compiling all the different versions of the URP materials).
Adaptive performance has been re-enabled. On either desktop or mobile it will detect which component (cpu or gpu) is causing a bottleneck and change the settings accordingly. From my testing, on systems with big-little cores (Intel or mobile) it will also delegate tasks between the appropriate cores. This is a Unity plug-in, so if there's any bugs I won't be able to do much besides file a bug report and wait for a patch.
I've revamped the graphics settings menu. Instead of bloating the files with different URP renderers, it now uses one renderer and preset values to toggle settings. For you this means nothing has changed. Now when you boot the game for the first time, when you reach the main menu it will run a benchmark to see what settings you can play as. The benchmark checks if you can run the game at 60FPS on desktop, or 30FPS on mobile. It will cycle through the graphics settings and automatically pick the graphics option that gives you the corresponding framerate or better. On Android it will only test the Medium, Low, and Performance settings out of the box, on PC it'll start at Ultra and work its way down. An on-screen pop up will let you know it is running and which graphics setting is being tested. Again, this only runs on the first launch. I might add a button in the settings menu and make a more comprehensive benchmark if there is demand for it.
Android now runs on OpenGLES3 instead of Vulkan. Unity and many mobile chip manufacturers have neglected their Vulkan API implementation/drivers and since I won't be adding features like ray tracing, there's actually a small performance loss if I use Vulkan instead of OpenGLES3.
Added a loading bar after you select a slot. This was mainly needed to stop a crashing bug on Android when first running the benchmark.
The Input System has been upgraded from the deprecated CrossPlatformInput API to Unity's new input system. What does this mean? You are no longer stuck using just an Xbox controller on desktop, you can now use whichever controllers are officially supported by Unity (this means basically any Xbox, PlayStation, and even Switch controllers). This means I'll be able to later add controller rumble, but due to limitations if the controller isn't an Xbox controller you will need to use it wired for rumble. This also allow me to add button remapping later on. You can also now use any controller on Android instead of the on-screen controls without a toggle.
Speaking of controls, due to rewriting a lot of the code to use the new input system, some camera control has been re-implemented. Yes, you will actually be able to move the camera. I still need to keep working on this as you can only look left and right currently, and a few minor bugs remain.
Moving platforms have been revamped. This is more a thing for me to be able to better make new levels than anything, and part of me helping a friend out.
2 types of canons have been added. This, like the platforms, was due to a friend messing around with Bumper Engine and needing my help figuring some things out.
Shadow now has actual flames instead of spheres for his air shoes.
I went and fixed the spring model because it annoyed me.
UI now changes to not display the Timer and Score when in the Hub world.
Shield mesh fixed on all characters.
Character Select in the Hub now only appears once you have another character unlocked.
Silver's unlock trigger in the Test Stage no longer clips through the ground.
Known Issues
Homing Attack can be performed without jumping, sometimes causing collision issues with the rails and item boxes.
Camera cannot be moved up and down.
Camera sensitivity is tied to player speed on controller.
On Android, the on-screen controls fail to turn off when a controller is used.
On Android, the game still uses the native render resolution. You can switch to the Custom graphics setting and adjust the render resolution from there if needed. I am unlikely to change this as performance isn't hindered that much and instead eventually change the actual game assets to be more mobile friendly.
On Android users can experience high RAM usage that may close background applications. This will be optimized through the swapping in of mobile friendly assets later on.
Half the roster is still not unlockable.
Amy still does not have a visible unlock trigger.
No menu yet to disable post-processing features.
Stage Complete text may fail to load. This whole scene will eventually be replaced with a traditional stage complete screen in the actual level itself.
On lower settings you can see a seam on Toei Sonic in the Test Stage.
0 comments