Virtual-environments: Add Unity

Created on 22 Nov 2019  路  8Comments  路  Source: actions/virtual-environments

Tool information

  • Tool name: Unity
  • Add or update? Add
  • Desired version: Latest patch for each supported stable version; as of this writing 2019.2.13f1, 2018.4.13f1, and whenever 2020 comes out
  • Approximate size: Upper bound of 240 GB, see below
  • If this is an add request:

    • Brief description of tool: Unity is a cross-platform game engine

    • URL for tool's homepage: https://unity.com

Size
The size of a Unity installation heavily varies depending on which modules are installed and on which platform. The worst case is 20 GB per version per platform. 3 versions * 4 platforms * 20 GB = 60 GB per platform * 4 platforms = 240 GB upper bound. Some of this bulk includes the Android and iOS SDKs; Unity can be configured to use these existing installations on virtual environments.

Virtual environments affected

  • [x] macOS 10.15
  • [x] Ubuntu 16.04 LTS
  • [x] Ubuntu 18.04 LTS
  • [ ] Windows Server 2016 R2
  • [x] Windows Server 2019

Can this tool be installed during the build?

Yes, but it takes a long time and is too large to cache.

It can be installed on the command line with these instructions. There are other ways, too.

Are you willing to submit a PR?

Yes. Unity 2017 is still supported, but not for much longer, so I will not add it. 2020 is not yet stable, but I'd like it to be added when the time comes.

However, I don't know how to actually set up the Azure environment and ensure my implementation is correct. Where can I find guidance on this?

Common Tools Ubuntu Windows macOS enhancement wontfix

Most helpful comment

Thanks for the suggestion! We've heard a lot of interest in adding Unity. The biggest challenge we need to be able to address is the size. Installing Unity will require us to up-size the VM's we use and would be quite expensive. We're currently investigating using nested virtualization which would relieve some of the size concerns.

All 8 comments

I strongly second this. Installing Unity at build time is too slow to be a viable option, so my team would love to see it pre-installed, especially on the cheaper Ubuntu VMs. This would be a nice alternative to Unity Cloud Build, which is more expensive and less flexible.

It would have to be available on all VMs, because not all targets can be compiled on all platforms.

  • Game console targets can only be built on Windows
  • iOS and tvOS targets can only be built on macOS
  • UWP targets can only be built on Windows 10
  • IL2CPP-based target can only be built on the same editor platform
  • Burst makes things even more complicated

Thanks for the suggestion! We've heard a lot of interest in adding Unity. The biggest challenge we need to be able to address is the size. Installing Unity will require us to up-size the VM's we use and would be quite expensive. We're currently investigating using nested virtualization which would relieve some of the size concerns.

@webbertakken is working on a bunch of actions for Unity development. May be a good thing to know.

In the mean time, what can we do to help? If you can get Unity set up on all the VMs, that will eliminate the need to install and license it, which will massively simplify CI pipelines.

This issue has not had any activity for 45 days and will be closed in 45 days if there continues to be no activity.

Thanks for the suggestion! We've heard a lot of interest in adding Unity. The biggest challenge we need to be able to address is the size. Installing Unity will require us to up-size the VM's we use and would be quite expensive. We're currently investigating using nested virtualization which would relieve some of the size concerns.

Would that be something like a nested image per unity version, or a nested image for all versions of unity?

I suggest looking at Unity Builder as a possible solution

HI @JesseTG , I agree with @maxim-lobanov above, Unity Builder looks like a good option. We have maintenance concerns over the size of Unity and can't add it to the environment by default right now.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

dcermak picture dcermak  路  34Comments

frankzo picture frankzo  路  26Comments

MarcDenman picture MarcDenman  路  32Comments

philipengberg picture philipengberg  路  37Comments

ralucapredacegeka picture ralucapredacegeka  路  30Comments