Linux Publishing in Unity 4.0

November 22, 2012 in Technology

It’s Na’Tosha from Team Penguin Pushers here, and in case you missed the news, Unity 4.0 has been released — with a publishing option for Linux! For those of us who have been working on this port, this time couldn’t be more exciting — this project is very near and dear to our hearts, and we’re thrilled to be able to share our love for Linux with you by helping you to bring games to such an open, exciting platform.

With the debut of the publishing option, it seems like a good time to answer some frequently asked questions . . .

So, does it work?

Yes! Two well-known commercial games have been shipped for Linux and are currently available in the Ubuntu Software Center — our Linux launch title Rochard and tower defense game Cubemen, which is also one of the launch titles for the Steam Linux beta.  More and more games (like Splice, one of the titles in the Humble Android Bundle 4) are coming in on a regular basis.

What distributions do you support?

We currently only offer official support for Ubuntu Linux, version 10.10 or later. However, users are happily running games on a very wide range of linux distributions, including Arch Linux, Gentoo, Debian, and others.

What hardware do you support?

We support both 32-bit and 64-bit systems, and even provide an export option for a “Universal” build, which includes everything needed to run out-of-the box on both 32-bit and 64-bit systems. We provide official support for machines with graphics cards and graphics drivers that support hardware acceleration.

What are the caveats?

Aah, yes. You didn’t assume it would all be rainbows and unicorns, now did you? There are a couple of caveats with the initial version:

1) There is no screen selector, so you need to use your own input manager if you want to allow users to set their own keybindings — they won’t get a chance to reset them before launching the game. If you just want to set screensize, see the docs for command-line options to the player to set default screen width/height and fullscreen options

2) Although the player runs in batchmode, it still requires a running X session.

Rest assured, however, these are issues we plan to address in later 4.x releases.

What about the Web Player?

We don’t currently have any plans to ship a web player for Linux, but we encourage you to export your game to Native Client, which Linux users can take full advantage of.

What about the Editor? I want to make my games on Linux!

As a long-time Linux user (I’m writing this post from my desktop running Ubuntu), I can certainly feel your pain. Deciding what to do as a company and as a team is hard. We make our decisions based on a lot of things — what you guys ask us for and how the decision will affect our own sustainability are two of these things. Will we support the editor on Linux? We honestly don’t know. We have no official plans to support the editor on Linux, but of course the future is always unwritten. If the publishing option for Linux turns out to be very successful, who knows what the future holds?

How do I publish my games for Linux?

Check out the Ubuntu MyApps Developer Portal to get in the Ubuntu Software Center, Desura, or if you think you can make the cut, contact the Humble Indie Bundle team.

Did I forget any questions? Ask them below! If you don’t have any questions, then go make some games and publish them for Linux.

Much love from the Unity Linux Team,
Na’Tosha

Comments (28)

Subscribe to comments
  1. King_Hermy

    February 17, 2013 at 8:03 pm / 

    Excellent news.

  2. Martin Lindelöf

    February 4, 2013 at 3:22 pm / 

    has anyone tried to run the editor under playonlinux?

  3. John Pugh

    December 11, 2012 at 4:52 pm / 

    @VLADIMIR If you upload a zip/tarball of your game to the Ubuntu Software Center, we’ll package it for you (and if you ask I send you the packaging source for you to review for reference, too!).

    If you really need a control file example…I can help. Hit me up as zoopster on twitter.

  4. Na'Tosha Bard

    December 3, 2012 at 6:31 am / 

    @KRIS, the Unity player does not require hardware acceleration in order to run (we even have some virtual machines in-house without hardware acceleration), so the segmentation fault you get must be related to something else. Reporting a proper bug report with as much information you have about the target environment, and a project that, when built, reproduces the problem, is your best chance of getting the issue looked into.

  5. Nicolas M

    December 3, 2012 at 2:24 am / 

    @JASON I think this is the same as with Windows standalones. The gamefile is just a loader and the actual game files (levels, resources) are inside the Data/ folder.

  6. Jason

    December 2, 2012 at 2:30 pm / 

    When building a linux game Unity creates a game file and a Data folder. When uploading to the Linux stores do I need to upload the data folder as well as the game file or just the game file?

  7. Kris

    December 2, 2012 at 2:35 am / 

    @Na’Tosha Bards Thanks for your answer. In fact we had installed and running X session there. We connected using VNC and was able to launch X applications like GIMP or even Blender. What we didn’t have was GPU acceleration. Fact that Unity requires X is not a problem, fact that it requires graphic card with 3D acceleration is. Thanks in advance for your support!

  8. Vladimir

    November 30, 2012 at 11:21 am / 

    @Na’Tosha Bard Thanks for links. But could you publish controls files? They all just the same for all your users.

  9. Kevin

    November 28, 2012 at 6:22 pm / 

    Dang it! I had been waiting so long for Unity 4 just to find out no editor is available on Linux.

  10. Cliff Blezinsky

    November 28, 2012 at 6:48 am / 

    Congrats to the Unity team.
    Hats of to you guys and keep up the good work.

  11. Na'Tosha Bard

    November 28, 2012 at 6:17 am / 

    @Vladimir – There is a brief overview of how to build your own .deb package in our Unite 2012 talk (http://video.unity3d.com/v.ihtml?token=d2b087693b2186ed92f6004ce404211a&photo_id=6958381&browseMode=0&autoPlay=1). There are also details on Canonical’s website – http://developer.ubuntu.com/2012/02/how-to-prepare-a-compiled-application-for-ubuntu-software-center/

    @KRIS – Unfortunately the player simply won’t run on a machine without a running X session; this is known and expected behavior. We are planning to implement support for purely headless servers later in the 4.x cycle.

  12. Kris

    November 28, 2012 at 3:44 am / 

    We were trying to run server of our Unity application on Amazon EC2. These machines don’t has direct access to GPU (which is required by Unity), so on Windows only way to make these running is to add -batchmode parametr. Unfortunately on Linux it results in “Aborted (core dumped)” error message.
    I am talking about Ubuntu with X session running (we’ve connected through VNC). On PC with same system it works, but we want it on Amazon. Please help. If someone would have any ideas, please mail (kris at krej don net)

  13. Vladimir

    November 27, 2012 at 8:43 pm / 

    Help me please to create package for unity game in ubuntu.
    I need some example of control files.

  14. tgraupmann

    November 27, 2012 at 10:22 am / 

    The Unity editor has worked on Ubuntu for a while. The file and folder dialogs could use some polish from the codeweavers folks. http://www.youtube.com/watch?v=jxgdrwWBPm0

  15. Mold

    November 26, 2012 at 7:56 pm / 

    Now we want the editor to work on Ubuntu, great work guys!!!

  16. Ashkan

    November 26, 2012 at 6:07 am / 

    great work guys!
    I think many people will use it for onine servers for games, I think that X dependency will be removed soon in next release and most cloud based Linux servers will be available to devs.

  17. Mohican

    November 24, 2012 at 10:28 pm / 

    Really nice to see that you gave Linux a shot.
    I hope you will soon support -batchmode without X, as it will be the key to running Dedicated servers on linux VMs.
    Keep up the good work guys!

  18. Danni Coy

    November 24, 2012 at 9:18 pm / 

    I will definately take a serious look at unity if the editor is ported to linux (even if that is just making sure it doesn’t crash under wine). In the mean time I have access to engines that do have native linux editor support.

  19. jackson

    November 24, 2012 at 1:39 pm / 

    Hello, I was just wondering how i could download this if it is out currently. if i can, please give me a link.

  20. Martin Owens

    November 23, 2012 at 5:39 pm / 

    It would be really great to see a base-line set of tools (command line etc) be made open source and even if you just throw them over the wall (i.e. no support or builds) the community where interested could take up the baton for the last mile. Please use the developers who can aid you where needed to fill in any economic uncertainties.

  21. Rikard

    November 23, 2012 at 4:57 pm / 

    Great news! Would like to try out this Unity3D as it seems nice, won’t install Windows for that though, so I’ll wait and see if the editor will be ported. ;) Now we will hopefully see a lot more Unity3D games in the USC in the future.

  22. Na'Tosha Bard

    November 22, 2012 at 3:01 pm / 

    @Nathan, It’s intersting to hear your clever solution to allow you to do most of your work in Linux. As for why no one asked during our Unite talk about an Editor for Linux, I think it is because most people came to the hands-on labs and asked us directly ;-)

  23. Na'Tosha Bard

    November 22, 2012 at 2:54 pm / 

    @GFX47, there are sometimes some performance differences between the players for Windows and Linux, but they depend on the game, the graphics card, and version of drivers in use. Most of these differences we have seen in testing are actually a difference between driver support for DirectX vs. OpenGL rendering for a particular card/driver combination. Hardware and driver support are much bigger factors in terms of performance than OS will be. It’s important to note, however, that, if any performance difference exists at all for a particular game on a specific target machine, it is generally minimal — in some cases a release build of the 64-bit Linux player actually outperforms builds for other operating systems.

  24. Nathan Warden

    November 22, 2012 at 11:44 am / 

    1) Thanks Na’Tosha and Levi for making this available! :)

    2) I was wondering why nobody asked about a Linux Editor at Unite during your guys’ session, that would have been my first question, haha

    3) I’ve made an external assembly loader in my Unity build so that I can write my code almost 100% in Ubuntu, run the built app and get all my code updates… I jump into Unity only when I need to rebuild because I updated some assets such as textures, GUISkin, shaders, materials, etc… And I do that in a Virtual machine, of course :) Maybe I’ll write an article so that other coders (probably Indie) can spend all their time in Linux too

  25. GFX47

    November 22, 2012 at 8:12 am / 

    Is there any difference in performances between windows and linux builds with current version anyway?

  26. Na'Tosha Bard

    November 22, 2012 at 5:57 am / 

    @GFX47, you can host a server-based game on Linux fine, but as mentioned in the article, even batchmode still requires a running X session right now, so you can’t host on a “purely” headless server. We plan to implement support for purely headless servers later in the 4.X cycle.

  27. GFX47

    November 22, 2012 at 5:03 am / 

    Any particular informations about hosting Unity3D based game servers on Linux?

  28. Martijn Zandvliet

    November 22, 2012 at 4:44 am / 

    Great work guys!

Comments are closed.