Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice
  3. Dismiss Notice

Official Introducing GameActivity for Android in 2023.1

Discussion in 'Android' started by Tomas1856, Mar 8, 2023.

  1. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
    Hello from the Android Platform team with some exciting news!


    Starting from Unity 2023.1 you can now choose a new application entry for Android - GameActivity. Under the hood, this is powered by the GameActivity Jetpack library, with all the benefits that this brings.


    Why switch to GameActivity?

    We believe that this feature will improve your Android development and app runtime experience in three ways:
    1. You will have better threading support for lifecycle, input, and touchscreen keyboard events
    2. You can update the GameActivity package outside of Engine updates
    3. You can tweak the new Unity<>Android Bridge with your own customisations

    Better threading support
    A major benefit to GameActivity is that many of the main application elements are now being handled by Android’s androidx.games:games-activity package, this includes:
    • Lifecycle events
    • Touchscreen keyboard
    • Input events

    Google has published a use case where a reduction in ANRs was observed when using GameActivity. Since androidx.games:games-activity handles everything in the separate thread, we hope that you will also see similar benefits in your Unity applications.

    Updatability
    The AndroidX GameActivity Package is being maintained by Google and can be updated without updating the Unity version, it is simple enough to tweak the androidx.games:games-activity package version in unityLibrary/build.gradle file. So any bug fixes and improvements can be received without waiting for a Unity Engine update.

    GameActivity-to-Unity bridge
    As part of the Game Activity work we’ve introduced gameactivity-to-unity bridge layer.

    If you switch to GameActivity you will also be able to tweak or change the bridge code (between Unity and androidx.games:games-activity package). This will give you even more flexibility over the events like pause/resume, which was previously impossible with Activity based applications. Read more about the bridge here.


    Future of Game Activity

    Our ambition is that GameActivity application entry point will become the main selection for the Android based applications created with Unity in the future. In 2023.1 the default application entry point remains Activity, and you have to turn GameActivity on explicitly. IIn Unity 2023.2, GameActivity will be turned on by default for new projects. When upgrading older projects to Unity 2023.2 the application entry setting will be preserved.

    I’m sold - how can I try it out?

    You can find the documentation for GameActivity here. The application entry setting can be found in Player Settings (Android):




    Depending on what value you choose - the Gradle project will contain the following entry points:
    • UnityPlayerActivity.java - if Activity is chosen.
    • UnityPlayerGameActivity.java - if GameActivity is chosen.

    As seen in the screenshot, you can both select Activity and GameActivity at the same time, this useful for testing purposes, since you don’t need to rebuild the application to run the application with Activity or GameActivity.

    Note: If there are two activities selected, you’ll see two applications icons on your android device.


    If you want to debug your application in AndroidStudio:
    • Export a Gradle project with Activity and GameActivity selected
    • Open the project in Android Studio
    • Under Run/Debug Configurations->General->Launch Activity->Launch Options pick Specified Activity
    • This way you can quickly switch between two application entry points and compare the behaviour of your application

    Note: When building a non development application, Unity will warn you if there are more than one application entry point selected, since it’s not suitable for uploading to the store. Selecting two application entry points is only suitable for development purposes.

    To switch your application to only use GameActivity application entry point, simply go to PlayerSettings (Android), locate Application Entry Point setting, deselect Activity and select GameActivity.


    A note about plugins & dependencies

    Plugin Creators

    We expect that most plugins should work the same for both application entry points - Activity and GameActivity. Known exceptions:
    • Your plugin explicitly references UnityPlayerActivity.
    If the app using your plugin targets only GameActivity, UnityPlayerActivity won’t exist. We advice not to use UnityPlayerActivity or UnityPlayerGameActivity classes directly in your plugin. It’s better to detect the current Activity with UnityPlayer.currentActivity .​


    If you target GameActivity, the main game looper runs on the native thread (created via pthread API) thus there’s no java Looper associated with that thread, calling that API will cause a null reference exception. You can use getMainLooper instead. Note: This looper runs on main/UI thread, if you have a long operation, it’s not recommended to use this looper, otherwise you’ll get ANR.

    You can also create Java thread manually and create a looper on this thread instead, but you’ll need to handle synchronisation between game looper thread and your manually created Java thread​


    Dependencies

    When targeting GameActivity, Unity adds the following dependencies into unityLibrary\build.gradle:
    • androidx.appcompat:appcompat
    • androidx.games:games-activity
    • androidx.core:core
    • androidx.constraintlayout:constraintlayout
    If you use auto-resolution tools like Google’s EDM4U, you need to create the following templates to avoid conflicts during the gradle.build:
    • Main Gradle Template
    • Gradle Properties Template
    • Gradle Settings Template
    We need your feedback!

    We can’t wait to see how you use GameActivity and the bridge layer in your projects, and if you observe lifecycle/ANR improvements. Your feedback is very important to us - please let us know if you encounter any issues or if you have suggestions to share.

    —-

    Known Issues
    • You cannot enter characters with physical keyboard while touchscreen keyboard is up, should be fixed in androidx.games:games-activity 2.0.0 version

    • Sometimes application crashes in GameActivityMotionEvent_getHistoricalAxisValue when introducing a lot of motion events, should be fixed in androidx.games:games-activity 2.0.0 version
     
    Last edited: Mar 8, 2023
    IndieFist, M_MG_S, ahal and 4 others like this.
  2. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    2,027
    While rest of the feature set is great, EDMU part is disappointing! If we need to force the plugin users to have the custom gradle templates on, it takes a lot of hit on learning curve and also tough to manage.

    Are there any alternatives for this or any specific reason there will be conflicts, if so what kind of conflicts?
     
  3. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
    We're in talks with Google trying to resolve this, but basically when not using templates, EDM4U is downloading packages as .aar files and puts them in Assets\Plugins\Android, those end up in the generated gradle project and in some cases they conflict with dependencies added for GameActivity:
    • androidx.appcompat:appcompat
    • androidx.games:games-activity
    • androidx.core:core
    • androidx.constraintlayout:constraintlayout
     
  4. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    2,027
    As you might be aware how much of a big problem(conflict resolution among different plugins) EDM4U is solving, making it compatible would be a great move. Else, it breaks lots of plugins.

    Coming to the solution, as you guys being creator and have more control, can this suggestion work?
    • Don't include any dependency aars/libraries (like Play Core unity plugin/Unity IAP does)
    • Have a hook where you can modify the dependencies in the gradle file once its created (in worst case you may need to end up creating a gradle file parser but it works for all of your plugins which makes it great!)
    This way you can actually avoid the conflicts and should be followed by all of your android plugins to make it compatible with existing plugins.

    To be honest, we get many complaints about Unity IAP which includes billing client library leading to conflicts with our billing feature (while we use EDM4U for all of our plugins as its a god sent to resolve conflicts). Unfortunately, I see Unity IAP is almost added by default leading to more support requests, but what we can do, it's Unity that is doing which keeps us quite :D
     
  5. ahal

    ahal

    Joined:
    Jun 6, 2014
    Posts:
    18
    @Tomas1856 Very exciting! Out of curiosity, is it possible to use this as a custom activity for previous versions of Unity with some extra effort? Or is it heavily reliant on 2023? Our team would love to try this out but are stuck on LTS versions for the foreseeable future.
     
  6. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
    Sadly its impossible with earlier Unity versions, since we had to refactor some code in core engine, additonally we exposed some hooks. So without those things, its not possible to connect GameActivity to Unity runtime
     
  7. ahal

    ahal

    Joined:
    Jun 6, 2014
    Posts:
    18
    Ah darn! Thank you for confirming.
     
  8. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    2,027
    @Tomas1856 Any thoughts on this?
     
  9. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
    Regarding Unity IAP, you would need to submit a feedback/bug for them, since there's a dedicated team working on this package.

    Starting Unity 2023.1, we'll provide API for managing gradle files - https://docs.unity3d.com/2023.1/Documentation/Manual/android-modify-gradle-project-files-agp.html, it might already provide the functionality you want, if not, we would love to get your feedback on this.
     
  10. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    2,027
    Wow! This will definitely help to automate as required! Thanks for sharing @Tomas1856
     
    pixelsprite_unity and Tomas1856 like this.
  11. cdr9042

    cdr9042

    Joined:
    Apr 22, 2018
    Posts:
    175
    anyone who used the string "UnityPlayerActivity" in their Android plug-in is gonna have a bad time
     
  12. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    2,027
    @Tomas1856 Any control exposed for UnityPlayer? For example for getting the surface view within it or changing with our own surface view?
     
  13. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
    Can you provide examples where you would use specifically UnityPlayerActivity in the plugins? Usually I think it's enough to use UnityPlayer.currentActivity which would return Activity instance in both cases (UnityPlayerActivity and UnityPlayerGameActivity)
     
  14. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
    Check UnityPlayerGameActivity.onCreateSurfaceView, there's a variable mSurfaceView, also UnityPlayer class has getView function, which also returns surface view instance.

    As for overriding surface view with your own, check https://android.googlesource.com/pl...m/google/androidgamesdk/GameActivity.java#251, I think you can override createSurfaceView and provide your own surface view, but it has to derive from InputEnabledSurfaceView. I haven't tried this myself, so not sure how fluent the process is
     
  15. JoJoJoX

    JoJoJoX

    Joined:
    Jun 23, 2022
    Posts:
    52
    We must config only one Entry activity to Meta(Facebook) app console, right?
     
  16. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
    Yes, I am actually not sure what would happen if you would submit an app with two activities enabled, would store deny such submission, since that would produce to application icons with the same name and icon, which obviously would be confusing.
     
  17. zirczirc

    zirczirc

    Joined:
    May 24, 2023
    Posts:
    1
    Can you please verify that your integration is not affected by issue #276316114

    Certainly don't want gamepad input to be dependent on touch events...
     
  18. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
    I don't think this is an issue in Unity, since Unity has code which handles key down/up events happening in the same frame. Though I see that this is incorrectly handled by input system package, but that would be a bug in input system package, so I think in this case Google is correct in saying, that they shouldn't introduce any artificial delays, it's up to game engine to handle this gracefully.

    In any case, thank you for highlighting this.
     
  19. jyrkive

    jyrkive

    Joined:
    Nov 14, 2016
    Posts:
    5
    I tried switching to GameActivity in a project of mine, but Unity Core Services logs an error as a result.

    Code (CSharp):
    1.  
    2. 2023.07.10 17.32.32.903 3237 3271 Error Unity JNI:GetInternetReachability:java.lang.RuntimeException: Can't create handler inside thread Thread[Thread-2,10,main] that has not called Looper.prepare()
    3. 2023.07.10 17.32.32.903 3237 3271 Error Unity Unity.Services.Core.Telemetry.Internal.DiagnosticsHandler:FetchSpecificCommonTags(ICloudProjectId, IEnvironments)
    4. 2023.07.10 17.32.32.903 3237 3271 Error Unity Unity.Services.Core.Telemetry.Internal.TelemetryHandler`2:Initialize(ICloudProjectId, IEnvironments)
    5. 2023.07.10 17.32.32.903 3237 3271 Error Unity Unity.Services.Core.Telemetry.Internal.TelemetryUtils:CreateDiagnosticsFactory(IActionScheduler, IProjectConfiguration, ICloudProjectId, IEnvironments)
    6. 2023.07.10 17.32.32.903 3237 3271 Error Unity Unity.Services.Core.Registration.CorePackageInitializer:InitializeDiagnostics(IActionScheduler, IProjectConfiguration, ICloudProjectId, IEnvironments)
    7. 2023.07.10 17.32.32.903 3237 3271 Error Unity Unity.Services.Core.Registration.<Initialize>d__42:MoveNext()
    8. 2023.07.10 17.32.32.903 3237 3271 Error Unity System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
    9. 2023.07.10 17.32.32.903 3237 3271 Error Unity System.Runtime.CompilerServices.MoveNextRunner:Run()
    10. 2023.07.10 17.32.32.903 3237 3271 Error Unity System.Threading.Tasks.AwaitTaskContinuation:RunCallback(ContextCallback, Object, Task&)
    11. 2023.07.10 17.32.32.903 3237 3271 Error Unity System.Threading.Tasks.Task:FinishContinuations()
    12.  
    Core Services initialization attempt is simple
    await UnityServices.InitializeAsync();
    in the main thread.

    Am I doing something wrong?
     
  20. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
    Thanks for reporting, it looks like a bug we missed. We'll try to fix it asap.
     
    trooper likes this.
  21. trooper

    trooper

    Joined:
    Aug 21, 2009
    Posts:
    750
    Will this be a quick 2023.1.4f1 release?
     
  22. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
    If you're asking if the fix will be in 2023.1.4f1, then no, the fix needs to first land into our main branch, and only then it will be backported to Unity versions like 2023.1.

    Currently the fix is being reviewed by our QA.
     
    pixelsprite_unity likes this.
  23. cyberdev3

    cyberdev3

    Joined:
    Dec 28, 2018
    Posts:
    52
    Hello. I tried to transfer my game project by creating a project with this template Mobile 3D Template. As a result, on the Canvas, all UI elements that have an anchor anchor at the bottom or at the top are moved up or down, respectively, the next time the scene is launched. I think that the template implies a vertical orientation of the screen. But my game is designed for horizontal screen orientation. How can I set up my project with this template so that the UI elements don't float up and down?
     
  24. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
    Just to clarify, your UI elements are with different layout when you launch with GameActivity?
     
  25. cyberdev3

    cyberdev3

    Joined:
    Dec 28, 2018
    Posts:
    52
    I don't know how to check. Maybe I posted in the wrong thread. But I was thrown to the section where this thread is located when I followed the link in the Readme of the template.

    Here is how I created the project.

    2023-07-14_175108.png

    2023-07-14_175205.png
    Packages in this template.

    2023-07-14_175244.png
    Perhaps the problem is that the project created with this template assumes a vertical screen orientation. But in my game it is horizontal. And the buttons with the rest of the elements, which have an anchor at the top or bottom, float up and down, respectively. I already wrote about this. How to fix this behavior?
     
    Last edited: Jul 14, 2023
  26. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
    Please create a separate thread in https://forum.unity.com/forums/android.30/, since you're problem is not GameActivity specific, and please attach some screenshots from Android device, since I am not exactly sure what you're talking about. Thank you.
     
  27. cyberdev3

    cyberdev3

    Joined:
    Dec 28, 2018
    Posts:
    52
    I think it would be nice for me to read about this template, what it does in the project, how to use it, and so on. Maybe someone will add a link to articles or lessons. I would be very grateful.

    Yesterday I hurried with my question. Because it turned out to be much easier. The problem was in the screen orientation. As I said above, the game thought that the screen was vertical and therefore it calculated the coordinates of the UI elements in this way. I realized that I need to change it in the Project Settings to horizontal (Landscape Left). And, lo and behold, all the elements of the UI remain in place. But I saw this only after restarting the system, since even restarting Unity did not give any results. It became interesting to me, because of what such behavior of Unity? I think it's because of the features of the dll...
     
  28. cyberdev3

    cyberdev3

    Joined:
    Dec 28, 2018
    Posts:
    52
    I was happy early on. Unfortunately, today the same result. The UI elements started to float again. Now I can't even imagine what it could be connected with...

    I'll look for a section or branch where Unity bugs are considered and write there ...
     
  29. trooper

    trooper

    Joined:
    Aug 21, 2009
    Posts:
    750
    When do we expect this fix to come?
     
  30. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
  31. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    5,202
    I have 2 questions.
    1. Does Unity/your game also benefit enabling this if you don't make any implementation for it yourself?
    2. Can this enable the use of all threads for Unity?
    Right now I can only use 5 threads (1 main thread and 4 worker threads) on an XR2 device, which has 8 cores total. Or is there another setup I've yet to find for this?
     
  32. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
    Ideally, you shouldn't need to do any custom implementation yourself if you switch to GameActivity, but there might be edge cases, we don't know about

    I don't think that's related to GameActivity, the logic which chooses how many worker threads to use is controlled by Unity's native engine part, which is independent from Application Entry Point option. Try asking XR forum section for more details regarding worker threads on XR.
     
  33. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    5,202
    So, does unity benefit from switching to game activity?

    And it's also on my SD 865 phone, so it's an android thing i think. I'll ask there
     
  34. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,137
    Hi. Can I expect performance improvement when switch to this new GameActivity?
     
    Ruslank100 and DevDunk like this.
  35. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
    I would say users benefit more from GameActivity than Unity due code being more transparent, the reason being - the whole lifecycle code area is managed now by GameActivity package which is provided by platform owner - Google.
    Also, the most important reason, in case of a bug, you no longer need to wait for Unity to provide the fix, you can either get the fix directly from Google, or apply a local patch, which is especially important in late development cycle.
     
    DevDunk likes this.
  36. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
    In some cases - for ex., input handling - yes, because input events will now come via game activity package.
     
  37. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,988
    I like how the biggest benefit is not having to rely on Unity for certain aspects of Android development, which is more or less admitting they have been dropping the ball.
     
  38. imran205

    imran205

    Joined:
    Aug 16, 2023
    Posts:
    1
    switching to Game Activity in your Android development with Unity offers benefits like improved threading, upgradability, enhanced bridge customization, and alignment with the future direction of Android app development in Unity. Make sure to test, provide feedback, and consider the potential impact on plugins and dependencies before fully adopting Game Activity as your application's entry point.
     
    Last edited: Sep 18, 2023
    manugil likes this.
  39. rmiha

    rmiha

    Joined:
    Sep 29, 2016
    Posts:
    10
    Is there any known issue with the TouchScreenKeyboard's input not showing up when using GameActivity? I made a build with both activities and the input above the keyboard gets shown only when using normal Activity.

    I've checked and TouchScreenKeyboard.hideInput property is set to false in both cases. The only change is the activity that I'm using.

    Edit: I'm using Unity 2023.1.9f1
     
  40. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
    GameActivity uses Google's https://developer.android.com/games/agdk/add-support-for-text-input to show TouchScreenKeyboard, GameTextInput implementation doesn't show native input field above touch screen keyboard. There should be also a message in logcat informing that.
     
  41. rmiha

    rmiha

    Joined:
    Sep 29, 2016
    Posts:
    10
    Tomas1856, thanks for the explanation.

    I found one bug however. When presenting the keyboard with
    TouchScreenKeyboard.Open("", TouchScreenKeyboardType.Default, false, false, false, false)
    , it will present the keyboard with Return button instead of Done button in the bottom right corner. When pressing Return button, the text will go in new line which should not happen since we passed
    false
    as
    multiline
    parameter into the
    TouchScreenKeyboard.Open
    method.

    When using normal Activity instead of GameActivity, Done button will be visible instead which prevents you to go into a new line (which is correct behaviour I believe)
     
    pixelsprite_unity likes this.
  42. pixelsprite_unity

    pixelsprite_unity

    Unity Technologies

    Joined:
    Sep 22, 2022
    Posts:
    22
    @rmiha good catch - I can confirm we are aware of this issue and waiting for a fix from Google's AGDK. We will rollout after this. Please let us know if you encounter anything else.
     
  43. rmiha

    rmiha

    Joined:
    Sep 29, 2016
    Posts:
    10
    Thanks, much appreciated!
     
  44. rmiha

    rmiha

    Joined:
    Sep 29, 2016
    Posts:
    10
    Is there any update regarding Done button display?
     
  45. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
  46. IndieFist

    IndieFist

    Joined:
    Jul 18, 2013
    Posts:
    521
    Ok, im testing but icannot make a build, should i edit gradle files and add the dependencies?
     
  47. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
    Can you give more information? What error are you getting, if you're building to GameActivity, yes - the above dependencies are needed.
     
    IndieFist likes this.
  48. IndieFist

    IndieFist

    Joined:
    Jul 18, 2013
    Posts:
    521
    My problem making a build was because play.services.review or common inside manifest.json, i delete them and installed using unity package and i was able now to do a build.
    But right now in dashboard of play console i see alot of anr instead of using old activity thread.
     
    Last edited: Jan 1, 2024
  49. senkoi

    senkoi

    Joined:
    Mar 4, 2019
    Posts:
    4
    This is a anr issue reported by google play console


    Stack trace
    1
    Sample attributes:
    motorola denver (moto g stylus 5G)
    Android 12 (SDK 31)
    Version: 69 (4.4.1)Occurred: 2 hours ago
    Game engine build fingerprint:
    2023.2.7f1;IL2CPP;Release;StripEngineCode:1;OptimizedFramePacing:0;AppEntry:2
    Thread 1
    "main" tid=1 Native
    Main thread
    Blocked
    #00 pc 0x000000000004dab0 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32)
    #01 pc 0x0000000000052710 /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex+148)
    This native synchronization routine is blocking the main thread, causing an ANR

    #02 pc 0x00000000000b5ba0 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+84)
    #03 pc 0x000000000001a8f4 /data/app/~~sy9SnTr97eyhUn42KE88vQ==/app-GX0nwqXa-eSt91SajZnFTw==/split_config.arm64_v8a.apk (onPause+144) (BuildId: 14805c37ed50874fbf95c8045452800a20b75bbd)
    #04 pc 0x0000000000355830 /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+144)
    #05 pc 0x00000000005bad10 /apex/com.android.art/lib64/libart.so (nterp_helper+5648)
    #06 pc 0x0000000001169bb6 /data/app/~~sy9SnTr97eyhUn42KE88vQ==/app-GX0nwqXa-eSt91SajZnFTw==/oat/arm64/base.vdex (com.google.androidgamesdk.GameActivity.onPause+10)
    #07 pc 0x00000000005ba654 /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
    at com.google.androidgamesdk.GameActivity.onPauseNative (GameActivity.java)
    at com.google.androidgamesdk.GameActivity.onPause (GameActivity.java:358)
     
  50. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,948
    In ANR case, there should be multiple threads reported