This book utilizes Unity 2020.1.0f1 and Unity Hub 2.3.1, but the steps should work with minimal changes in future versions of the editor. If you would like to download the exact version used in this book, and there is a new version out, you can visit Unity's download archive at https://unity3d.com/get-unity/download/archive. You can also find the system requirements for Unity at https://docs.unity3d.com/2020.1/Documentation/Manual/system-requirements.html in the Unity Editor system requirements section.
If you wish to deploy to an Android device, you can use Mac, Linux, or Windows, and depending on the features you wish to use, it is possible to export your game in such a way to run apps on Android 4.4 KitKat and above.
To develop for an iOS device, in addition to the device itself, you'll also need to do some work on a Mac computer that runs OS X 10.11 or a later version. I'll be using 10.14.5 macOS Mojave. If you do not have one, it is possible to develop your game using Windows and, when you want to publish the game, bring your project to a Mac to do the final export.
Another potential option would be to rent a Mac via the cloud to do the building yourself. For more information on that and other potential options, check out https://mindster.com/how-develop-ios-apps-windows/.
You can find the code files present in this chapter on GitHub at https://github.com/PacktPublishing/Unity-2020-Mobile-Game-Development-Second-Edition/tree/master/Chapter%2002/Export.