Search Unity

  1. Unity Asset Manager is now available in public beta. Try it out now and join the conversation here in the forums.
    Dismiss Notice
  2. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  3. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Official Google Chrome OS support is now available as of 2021.2.0a14

Discussion in 'Chrome OS' started by ChrisFoulds-Unity, Apr 21, 2021.

  1. ChrisFoulds-Unity

    ChrisFoulds-Unity

    Unity Technologies

    Joined:
    Mar 25, 2021
    Posts:
    2
    We’re excited to announce initial support for Chrome OS within the Android developer environment. Starting in Unity 2021.2.0a14 Alpha you’ll be able to add Chrome OS as a supported device alongside Android in the Unity Editor.

    Chrome OS has been growing rapidly - Chromebook shipments surpassed 30 million units in 2020. We believe that adding support for Chrome OS devices presents an interesting opportunity for Android developers to further extend their game’s reach.

    There are 2 new Target Architectures that have been added for Chrome OS, x86 and x86-64. Select these, in addition to the existing ARM options, to natively support the full spectrum of Chrome OS devices.

    We’re also working on bringing this functionality to 2020 LTS later in the year.

    You can find the all the details in the official documentation

    A couple things to keep in mind:

    Keyboard and mouse support:
    Best practice is to write your own input controls because your app will receive all mouse and touchpad events. By default, on Chrome OS, an app will miss mouse positional updates (when a button is not pressed) and both mouse or touchpad scrolling events and button presses. By writing your own input controls you create a better user experience and can take full advantage of touchpad events. You can write your own input controls by unchecking the Chrome OS Input Emulation box.
    Chrome OS also supports emulation for basic keyboard and mouse functionality. Depending on your title, the emulation functionality may be sufficient.

    Windowing:
    Currently, windowing will be full size only, with re-sizing to come in future releases and updates.

    Monetizing your app:
    Since any game on Chrome OS will go through the Play Store, monetization, including ads and in-app purchases work in the same way.

    Known issues:
    Considering this is launching in our 2021.2 Alpha there are a few known issues we think you should be aware of (please see the release notes and documentation for an exhaustive list).
    • x86 and x86_64 architectures are only supported for running on Chrome OS devices, not any other Android device with an Intel processor.
    • Script debugging and profiling is only supported over WiFi or Ethernet (where available).
    • Profiling and debugging in Android Studio will only work if your target device is in developer mode. See this document for more information. https://chromium.googlesource.com/chromiumos/docs/+/main/developer_mode.md

    We’d also like to get feedback from the community about bugs, and other concerns. Please feel free to start new discussions in our dedicated Chrome OS forum!
     
    Last edited: Apr 26, 2021
  2. NotaNaN

    NotaNaN

    Joined:
    Dec 14, 2018
    Posts:
    325
    Whoa... This is big news! This deserves a blog post! :eek:
     
  3. RichAllen2023

    RichAllen2023

    Joined:
    Jul 19, 2016
    Posts:
    1,026
    Woot! I'll be downloading this when I've done my training.
     
  4. dbirchinall_disced

    dbirchinall_disced

    Joined:
    Oct 13, 2015
    Posts:
    2
    Just seen the blog post, this is amazing news and perfect timing for us. Excited to get working with this.
     
    davidro_unity likes this.
  5. fastrageguy

    fastrageguy

    Joined:
    Apr 7, 2021
    Posts:
    2
    Suddenly, school chromebooks do not seem so bad
     
    M_MG_S and r31o like this.
  6. shochet

    shochet

    Joined:
    Dec 17, 2013
    Posts:
    30
  7. r31o

    r31o

    Joined:
    Jul 29, 2021
    Posts:
    460
    The editor will be supported in Chrome OS?
     
  8. davidro_unity

    davidro_unity

    Unity Technologies

    Joined:
    Apr 18, 2019
    Posts:
    22
    @shochet Support for 2019 was released in 2019.4.31f1 and 2020 in 2020.3.17f1.
    @r31o No there are no plans to support the editor natively on Chrome OS.
     
    Last edited: Oct 25, 2021
  9. SuperDuperPooperGames

    SuperDuperPooperGames

    Joined:
    Sep 28, 2017
    Posts:
    47
    - What's the difference between x86 and x86-64? Would the x86-64 chrome support both 32 and 64 bit and thus don't need the x86 version?
    - If one wants to reduce the file size, should the 2 arms be built together for android and the 2 chromes be built together? This is for sideloading not on the play store?
     
  10. davidro_unity

    davidro_unity

    Unity Technologies

    Joined:
    Apr 18, 2019
    Posts:
    22
    x86 is 32 bit Intel. x86-64 is 64 bit Intel.
    x86 will run on both but x86-64 will not run on a machine with a 32 bit only processor.

    All architectures are supported on Chrome OS devices while ARM is only supported on Android phones/tablets.

    In order to support the widest variety of hardware and platforms it is recommended to build for all architectures and select all devices for Target Devices in Player Settings.

    With App Bundle support the Play store will only deliver what is necessary for the users specific device. Google splits it up into smaller deliverables for you. I hope that answers your questions.
     
  11. SuperDuperPooperGames

    SuperDuperPooperGames

    Joined:
    Sep 28, 2017
    Posts:
    47
    Thanks
    - If one wants to reduce the file size, should the 2 arms be built together for android and the 2 chromes be built together? This is for sideloading not on the play store?

    So am asking NOT ON THE PLAY store I'd like to side load.
    Also, the x86_64 is just the 64 bit and not both 32 and 64?
     
  12. davidro_unity

    davidro_unity

    Unity Technologies

    Joined:
    Apr 18, 2019
    Posts:
    22
    We do not officially support side loading. However if you would like an APK for each architecture I would recommend enabling the Player Settings named Split APK's by Target Architecture to create one APK for each.

    Yes, x86_64 is the name for the 64 bit Intel architecture. Code compiled for x86-64 will not run on a 32 bit x86 processor.
     
  13. SuperDuperPooperGames

    SuperDuperPooperGames

    Joined:
    Sep 28, 2017
    Posts:
    47
  14. Foriero

    Foriero

    Joined:
    Jan 24, 2012
    Posts:
    584
    Hi, does Unity ChromeOS support current android plugins that are dropped in the Unity Project as s code? Thanks, Marek.
     
  15. davidro_unity

    davidro_unity

    Unity Technologies

    Joined:
    Apr 18, 2019
    Posts:
    22
    Yes and maybe. ;)

    If the plugins have precompiled native libraries then you may need an update from the plugin creator with support for Android x86 and x86_64.

    But otherwise plugins are expected to function normally on Chrome OS devices.
     
  16. graywaskpeck8

    graywaskpeck8

    Joined:
    Jul 1, 2022
    Posts:
    1
    Unity-ChromeOS-Feature-1200x900.jpg Well That Was Kinda Good:)
     
  17. Rick66

    Rick66

    Joined:
    Jul 19, 2013
    Posts:
    7
    No Chromebook models supported.

    My app was built with Unity 2020.3.36f1 LTS, including the settings for Chrome OS x86 and x86-64 architectures, following the official documentation.

    After uploading to the Google Play Console for Internal Testing, the Device catalog reports that there are 0 supported Chromebook models, but plenty of phone and tablets are supported. Testers have successfully installed the app on phones and tablets but get the message that it’s not compatible with their Chromebook.

    Can you point me to an information source that will help determine why there is no Chromebook support and what to do to remedy that?
     
    Last edited: Aug 3, 2022
  18. Rick66

    Rick66

    Joined:
    Jul 19, 2013
    Posts:
    7
    This is not sorted out yet.
    I eventually reported this to Unity as a Bug from my App. The Unity team investigating this had problems due to the large size of the App. I created a new, simple App that only displays the text, "Hello World!" This also supports no Chromebook models at Google Play Console. I uploaded this to the Unity team last Monday and haven't heard back yet. I'll post any news I get from them and if you find anything out, please let me know!
     
    Endahs likes this.
  19. Endahs

    Endahs

    Joined:
    Sep 16, 2014
    Posts:
    94
    Thank you @Rick66. Any chance you're changing PlayerSettings via code, or doing custom builds? Any custom build process, like using Unity Cloud Build?

    Apparently ChromeOS doesn't support Mono, so may want to check if your scripting backend is set to IL2CPP.

    You've probably already checked these but just in case :)
     
  20. Endahs

    Endahs

    Joined:
    Sep 16, 2014
    Posts:
    94
    Rick66 likes this.
  21. Rick66

    Rick66

    Joined:
    Jul 19, 2013
    Posts:
    7
    Hi Endahs, thanks for your replies! This is my first foray into the Android world and I appreciate your help.
    I used IL2CPP and am not changing Player Settings via code or doing a custom build. I included the two Android and ChromeOS devices as targets in Other Settings.
     
  22. VaidasM

    VaidasM

    Unity Technologies

    Joined:
    Jun 27, 2017
    Posts:
    41
    Hey @Rick66 , I'm not able to reproduce the issue. And the few times I did, it seemed like I checked the available devices the very moment after the upload is done, so it could have been Google taking few extra seconds to sort stuff out. Other than that, it seems like the devices are supported. Does everything in screenshots look similar to what you have?


    My environment:

    Editor:
    2021.3.3f1.180
    Revision: 2021.3/staging af2e63e8f9bd
    Built: Wed, 11 May 2022 01:32:10 GMT

    Scripting backend: IL2CPP
    Architectures included: x86, x86-64
    Target devices: all


    Could you link me the issue that you've submitted to Unity? You can also sent me a screnshots of your Player / Build settings (Other section) to make it easier to understand the environment you're in.

    upload_2022-9-29_17-29-38.png
    upload_2022-9-29_17-27-59.png upload_2022-9-29_17-28-32.png
     

    Attached Files:

  23. Rick66

    Rick66

    Joined:
    Jul 19, 2013
    Posts:
    7
    Hi VaidasM, I rechecked the simple app uploaded to Google Play Console on 8 September and there are still no Chromebook models supported.

    My Environment; Editor: 2020.3.38f1

    Scripting backend: IL2CPP
    Architectures included: ARMv7, ARM64, x86, x86-64
    Target devices: all

    I tried linking you to the Bug Report Portal by 'Sharing' your screen name, but that doesn't work. Here's the URL: https://unity3d.atlassian.net/servicedesk/customer/portal/2/IN-14301

    I will upload screen shots of the Player / Build settings (Other section). Let me know if you would like any other and thank you for your help!

    Player-Other #1.png Player-Other #2.png Player-Other #3.png
     
  24. VaidasM

    VaidasM

    Unity Technologies

    Joined:
    Jun 27, 2017
    Posts:
    41
    @Rick66 , Ah, I see the issue here. In Unity editor >.Player Settings > Other, you have your Minimum Target API set to 31, meaning, that only the devices with Android 12 and above will be able to use this application.

    Which also means, none of the ChromeOS devices qualify, as they support a maximum Android 11

    To make it accessible to more devices, do use a lower API level, such as API level 22, provided older devices' hardware are able to run your app.

    If that doesn't solve the issue, we can continue having the conversation!

    upload_2022-9-30_2-28-41.png
     
    Endahs likes this.
  25. Rick66

    Rick66

    Joined:
    Jul 19, 2013
    Posts:
    7
    Hi VaidasM, I believe that I tried a lower API level earlier and found the same lack of Chromebook support. I'll check that out again to be certain and report back soon.

    However, since 1 August 2022 the Google Play Store info states that it requires API 31 or higher for new apps: "New apps must target Android 12 (API level 31) or higher; except for Wear OS apps, which must target Android 11 (API level 30) or higher." (https://developer.android.com/google/play/requirements/target-sdk)

    How would one work around that requirement?
     
  26. VaidasM

    VaidasM

    Unity Technologies

    Joined:
    Jun 27, 2017
    Posts:
    41
    @Rick66 , the requirements are related to target API, not minimum API. These are two different settings. Setting target API does not limit the available device range, while minimum API does
    upload_2022-9-30_11-27-46.png
     
    Rick66 likes this.
  27. Rick66

    Rick66

    Joined:
    Jul 19, 2013
    Posts:
    7
    @VaidasM, that was easy; you are correct and a dope slap for me! Setting Minimum API Level to 22 (Lollipop) allows support of 43 Chromebook devices for my simple trial app. I'm coming from the iOS side where one only sets the Target minimum iOS Version.

    Thank you for your patience and help!
     
    Endahs likes this.
  28. Endahs

    Endahs

    Joined:
    Sep 16, 2014
    Posts:
    94
    Wasn't aware that the ChromeOS only supported up to Android 11. Very informative thread. Thank you Unity and Rick, learned a bunch here.
     
  29. VaidasM

    VaidasM

    Unity Technologies

    Joined:
    Jun 27, 2017
    Posts:
    41
    @Rick66 Glad that solved your issue! Happy development, all!
     
    Endahs likes this.
  30. zzzz789

    zzzz789

    Joined:
    Apr 11, 2022
    Posts:
    9
  31. VaidasM

    VaidasM

    Unity Technologies

    Joined:
    Jun 27, 2017
    Posts:
    41
  32. yeball

    yeball

    Joined:
    Sep 5, 2016
    Posts:
    6
    Hello guys,

    i have a question about input/control. So i need disable Chrome OS emulation so unity can update mouse position and i can implement hover function thats fine, but when i disable Chrome OS Input Emulation box i cant implement gestures on trackpad because i receive only mouse click and no touch(Input.touchCount is 0 etc. touches doesnt work so i cant implement gestures at all) input like if you enable emulation box.

    Any idea how can i implement hover functionality + gestures(pinch, reverse pinch etc. with touches) on trackpad? Any idea?

    Thank you for any feedback that can help me or direct me how to solve this
     
  33. RichAllen2023

    RichAllen2023

    Joined:
    Jul 19, 2016
    Posts:
    1,026
    Can someone post a recent download link for the 2021 version?
     
  34. hannagur

    hannagur

    Joined:
    Jan 22, 2020
    Posts:
    5
  35. FlyTrollStudio

    FlyTrollStudio

    Joined:
    Mar 5, 2017
    Posts:
    4
    Any ideas on how to implement right-click and other functions on Сhromebook using the old input system ? And it's all based on WebGL