Google Play - Slow Warm Start Rate

Google Play has recently started warning that our games are having a high Slow Warm Start Rate and according to one of their blog posts this affects the store ranking.
I’ve tried looking into it and it seems that those TTID (time to initial display) events are fired before our game actually starts loading, so it’s probably the time that the engine takes to start.
Is this assumption correct?
Is there anything we can do to improve it?

I am having the same issue with 2020.3.33f1

I have the same problem with 2021.3.3f1.

We’re having the same issue. TTID is counted to the point Unity displays it’s logo. So it does not look that something can be done.
Have you found any solutions to this?
On our side, the Slow Warm Start Rate is on ARM Cortex-A53 mainly.
Thanks

Is it allowed to display any image to counter the issue just before unity splash? Just thinking why not have a custom activity which displays game’s logo/splash and from there it launches unity. But not sure if unity terms has anything to do with this hack.

So far we haven’t found any solution to this. We did think of some workaround like @Voxel-Busters suggested, but we’re not sure if it’s worth it or how we would achieve it.
Would love to have some official answers on this.

same problem with 2021.3.10f1.

It’s actually getting worse - especially on larger devices

You can use “Unity as Library” feature. Which is basically one App that will load Unity Framework. Then the initial loading and splash/icon would happen very earlier.

1 Like

But using unity as a library would mean a lot of extra steps? And also I don’t see a way to automatically create a build with unity as a library?
It would be best if unity just added a native splash screen first?

We would like to give a try for getting a solution(will be shared on github) for this. But need a sample project to measure it for quick testing. Anyone?

What kind of sample project would you need? I think you should be able to use an empty unity project and create an Android Build out of that
For the slow warm start rate most likely you would need to upload this app to the Google Play Store (or measure the signal yourself)

Ok, so what are the values to compare? Is it fine If I use Unity 6 to test or anyone needs older versions?

As per the shared workaround earlier, I see in theory it works, but haven’t done it. So, wanted to know steps involved to speed up the process.

I think you could measure the app startup time with Android Studio:

Android uses the time to initial display (TTID) and time to full display (TTFD) metrics to optimize cold and warm app startups

You should see a log such as this:

ActivityManager: Displayed com.android.myexample/.StartupTiming: +3s534ms

And yes you can use Unity 6 (as it is the new LTS version of Unity) to test this - if you can improve the behavior especially on devices with large screens that would definitely help us

1 Like