Introducing Universal Windows Applications in Unity
What is it all about?
With the help of Universal Windows Applications, you can now build your Unity game once and target all Windows devices – desktops, laptops, tablets and phones running Windows/Windows Phone 8.1 or higher. On Windows devices, Universal Apps behave identically to Windows 8.1 apps, which Unity has supported since 4.3. On Windows Phone devices, Universal Apps run as Windows Phone 8.1 apps, which is a new feature of Unity 4.5.3.
What does Windows Phone 8.1 bring to table?
If you worked on Windows Phone 8 and Windows Store games in the past, you know that even though the two platforms are similar, they still have their differences. With Windows Phone 8.1, that changes. There are no longer two separate platforms; they have converged to a single one. To reflect that, building for Windows Phone 8.1 is located under Windows Store platform in our Editor.
Other features of Windows Phone 8.1 player include:
- Access the full power of .NET 4.5.1 in your C# scripts (Windows Runtime APIs, async/await, etc.);
- Efficient multithreaded renderer – up to 33% less time per frame (measured on Angry Bots on Nokia Lumia 520 running Windows Phone build 8.10.12359.845);
- GPU profiling is now available thanks to a new graphics driver for Windows Phone 8.1 (On devices which received the driver update).
How do Universal applications work?
So what does the name “Universal” mean? When you press build, Unity will generate a Universal app Visual Studio solution, which will contain 3 projects: ProjectName.Windows, ProjectName.WindowsPhone and ProjectName.Shared (as illustrated in Figure 3).
The shared project, as its name implies, contains all the shared elements: XAML layout, Unity data and asset files.
Target specific projects (ProjectName.Windows and ProjectName.WindowsPhone) contain platform specific files: application manifests, icons, splash screen and tile images. Since Windows 8.1 and Windows Phone 8.1 aren’t binary compatible, each project will also contain their own set of DLLs. Fear not – Unity will automatically make your managed plugins compatible with either target.
When you press the deploy button in Visual Studio, only the necessary files will get copied to the target device (or local machine, if you prefer), thus minimizing the application size which the user would have to download from the Windows Store.
Great, what do I need to get started?
You will need:
- Unity 4.5.3 or later;
- Windows 8.1 (any edition);
- Visual Studio 2013 with Update 2 installed (Express for Windows, Professional, Premium or Ultimate edition).
If you want to test your application on Windows Phone 8.1 emulator (rather than a physical phone), you’ll also need:
- Windows 8.1 Pro;
- At least 4 GB RAM;
- CPU that supports Second Level Address Translation (SLAT) and Data Execution Prevention (DEP).
As always, before updating Unity, backup your project and don’t forget to read the docs: