How to make Unity work better on Maverik

Maverick performance issue was opened just after Maverick release and now is the most voted on Unity bug tracker. Unfortunately or not, Apple has made a new version of their Mac OS free and big part of users updated to the latest version without doubts, and all of them got affected by this issue.

But today we’ll talk not about how “bad” or “good” Apple is, but how to improve Unity editor performance on Maverick.

This instruction won’t fix the issue completely, but at least make editor performance suitable to work with.

So let’s start:

Enable “Prevent App Nap” for Unity and MonoDevelop. Locate Unity.app and MonoDevelop.app → right click → Get info → Prevent App Nap. This setting helps with app freezes when switching between applications. Btw App Nap don’t play well also with other applications.

Turn off “Displays have separate spaces” in Mission Control settings. Go System Preferences → Mission Control → Displays have separate spaces.

Disable “Automatic graphics switching” in Power Saver settings. Go System Preferences → Do one of the following: if you see Graphics options, select Higher Performance. You need to log out and then login again for the change to take effect. If you see the “Automatic graphics switching” option, deselect it. Your Mac will always use high-performance graphics.

Early this week Thomas Petersen, QA Director in Unity Technologies wrote that they found the problem, let’s hope they’ll release a fix for it soon:

We have identified this as a leak in Maverick’s OpenGL ARB VBO implementation which is causing these issues. A build with a workaround has proven to work, but it is not the best solution. We have notified Apple about the problem. What exactly will happen has not yet been decided, so until there is a solution to the problem, it is best to not run on Mavericks.

Update (29.01.14): Unity releases version 4.3.4, where issue should be fixed. Download it here.

About

Hi, my name is Vitaliy. My background includes mobile application and game development, tech leadership and conference organization. Nowadays, I'm leading development of the next generation in-app marketing tools at the Dutch startup GetSocial. I'm a frequent speaker at conferences, an active member of various technical communities and a founder of the Google Developers Group Lviv.