Few days back we reported that Unity3D demo AngryBots is already working in Linux via Google's new native client technology. The demo ran at full speed taking advantage of 3D hardware acceleration via OpenGL ES.
Now, Unity3D 3.5 open beta and developer preview has been released couple of days back. This release sees addition of two new features that could finally bring Unity3D games to Linux after all.
Starting with Unity3D 3.5, developers would be able to export their games to Native Client (NaCl) and Adobe Flash (via its new Stage3D API). While NaCl is Chrome exclusive at the moment, Flash works with almost all web browsers available for Linux.
Why Flash? Its dying already.
While HTML5 will be in the future no doubt the most preferred way of delivering rich native content in web browsers, Flash isn't going out anytime soon. In fact, the kind of existing user base that Flash have is too large to ignore.
Coming back, as far as Linux users are concerned, they have been waiting for ever to see native Unity3D support. From time to time there has been some speculation about Unity3D team working on bringing native support to Linux but to be honest I don't see it coming anytime soon specially when these games will be playable on Linux via NaCl and Flash.
To try AngryBots in Flash, you need to download Unity3D 3.5 Preview, install it on Windows/Mac and then export AngryBots source code to Flash. However, you can directly play AngryBots in Flash from here as the needed work has already been done by cddin (many thanks!!).
I ran both Flash and NaCl versions of AngryBots on Linux and the performance of Flash version is poor at the moment. NaCl version seems to be 10x faster than Flash build. Also many Unity3D engine features like deferred rendering and vertexlit shaders are currently not supported by Flash. You can read more about supported and unsupported features form here. But since it is an early developer preview, I am sure the list of unsupported features will get shorter overtime.
Thus it seems that the current situation is: Native Unity3D Support (Windows, Mac) > NaCl (windows, Mac and Linux) > Flash (Windows, Mac and Linux).
While, its definitely great news that Unity3D games will be available on Linux via Flash, the performance of Flash itself is not optimal on Linux. No doubt Adobe has been doing great work improving Flash support on Linux but severe issues like overheating and CPU hogging still persist over the years.
Though I know the answer already, let me ask the question - 'Given a choice of playing a Unity3D game on Linux, what would you prefer, Native Client or Flash?