Legacy Notice This page relates to a deprecated feature or obsolete aspect of Unity which is no longer applicable to more recent versions. |
- Mac Play Unity Games On Wine Opener
- Mac Play Unity Games On Wine Glasses
- Mac Play Unity Games On Wine Glass
- Mac Play Unity Games On Wine Bar
Notice: The Unity editor is now available on Linux and can be downloaded through the Unity Hub
To find out if the game you want to try to install on your Mac via Wine will work, head over to the Wine HQ website, where they have an entire database full of the games and applications that will. HTML5 is the latest web technology that allows rich interactive games to be played directly for a web browser. With HTML5 your players can start playing your poker game straight away. There's no need to install software or download an app, you just play directly in your web browser.
For information on running the Unity Web Player in Linux native browsers see the Running Unity Web Player on Linux using Pipelight page.
Officially Unity Technologies only support creating executable standalone games/3D applications which can then be run on Linux, specifically Ubuntu 10.04 or newer(Source). This is done by using the Unity Editor in Microsoft Windows and OS X operating systems. Unity Technologies do not provide a Linux version of the Unity Editor. Unity Editor can still be launched on Linux by using the Windows version of the editor with mimicked Windows libraries provided by the Wine software. Stability of the editor depends on particular Linux distributions and the video/graphics cards.
|
Prerequisites
- An operating system/distribution that is able to run Wine, also see 'Tested successfully on distributions' section within this wiki page.
- Newest stable drivers for your graphics card
If you plan to use the lengthy PlayOnLinux method of installing Unity you will also need:
- PlayOnLinux - Software that is able to manage multiple versions of Wine.
- Most recent Wine on PlayOnLinux - This is installed from within PlayOnLinux, a native installation of Wine is not required.
- Official Windows installer file for Unity (Versions of 4.X.X and 5.X.X are the ones tested )
Tested successfully on following distributions
Users from the community have reported of getting Unity working on the following operating systems/distributions:
- openSUSE 13.1 (reported to be most stable at running the Unity editor)
- Ubuntu 12.10/13.10/14.04/15.04, Lubuntu 13.10/14.04/14.10/15.04 and Xubuntu 14.04 (for now the only distros that receive Unity Technologies support for Linux Standalone Unity applications and Valve Software's support for running Steam)
- Fedora 19/20
- RedHat 7 Beta
- Debian Jessie
Installing Unity using the terminal with a winetricks script (Experimental, yet quicker)
User 'Doctor Jellyface' saw the use of PlayOnLinux as unnecessary way to install Unity, even with the better graphics interface that PlayOnLinux offers. So he created a winetricks script that installs Unity and all the necessary libraries to make Unity work on a native Wine.
1. Install Wine, by following instructions from its official website for your Linux distribution.
2. Download the newest Unity installation script from github.
3. If you have a 64 bit operating system, then it best to set the default Arch to 32 bit for new Wineprefixes as winetricks does not have much support for 64bit wineprefixes. So before proceeding with the next step, set the environment variable through your terminal:
$ export WINEARCH=win32
(Example given for Ubuntu Linux, this environment variable will only last in that terminal session, which is enough while installing Unity)
4. Open up a terminal, move to the location of the downloaded '.verb' script and run the script using winetricks(installed by default with some 'Wine' distro packages, if not see winetricks install page):
$ winetricks -q './unity3d.verb'
If this does not fully complete, remove the '-q' argument to debug.
5. A 'Unity' shortcut should be on your desktop. Wine should be launching it. If it does not then the Unity prefix should be located under '~/.local/share/wineprefixes/unity3d'.
Installation with PlayOnLinux
PlayOnLinux is a program that is able to manages different wine versions for cases when a Windows application works on one wine version but not on another and so it allows easy switching between them without breaking another Windows application.
Most of these numbered steps come from a user called 'Tomza', you can read his blog post on this issue for reference.
Install PlayOnLinux
Follow the installation instructions provided by PlayOnLinux for your distribution.
Download the Windows Unity Installer
Download the Windows installer of Unity from the official site. Do not run/execute the file.
PlayOnLinux first launch
When you run PlayOnLinux for the first time, you will see the PlayOnLinux Wizard:
- Possible first warning
- The reason for this warning is that PlayOnLinux wanted add the natively installed Wine as one of available Wine versions, which sometimes might not be present.
- Click OK.
- Possible second warning
- 7zip is an archive creator, extractor. We don't need this now.
- Click OK.
- Possible third warning
- Linux does not come with Windows fonts. This is solved by the script, no need to worry about it.
- Click Next.
When all is over, you should see Enjoy using PlayOnLinux.
Managing wine versions
- From PlayOnLinux's window header choose 'Tools' -> 'Manage Wine Versions'.
- Choose a recent Wine version, 32 bit if you're on a 32 bit system or you're going to install the 32 bit editor, 64 bit otherwise.
Warning: Remember that the newest Wine can be unstable (Wine 1.6.2 is stable), but, at the same time, some bugs can be fixed in the recent version, and that’s why it can be the best way to go for you; fortunately, you can choose the Wine version in PlayOnLinux you like even after installing an application; the recent version is recommended for running Unity3D because of 3D driver improvements. - Click the arrow to install your version of Wine.
Getting the script
A PlayOnLinux script has been created by the Unity Community to easily install Unity. Save the following script to your disk in plain text. You can call it as you want, but the .pol extension should be kept so that PlayOnLinux can recognize it as its script.
You can find the script on GitHub.
- Warning for Ubuntu users
- This script will fail with an due to system wide parameter called 'ptrace_scope'. See Regarding ptrace_scope fatal error for a fix.
Adjusting the wine version
Depending on your installed wine versions you may want to change the Wine version before running the script.
Just change this line accordingly:
Installing Unity
- From PlayOnLinux, go to Tools→Run a local script.
- Choose the script and click Next.
- You will see the warning that the signature of the script isn’t valid. It is an unofficial script, so you can safely ignore it. Click Next.
- You will be able to review the script. If it's fine, check I agree and click Next.
- Then you will see the installation wizard, click Next, the following should appear:
When you run PlayOnLinux for the first time, some extra software may be installed.
PlayOnLinux should now be installing the components it needs for Unity3D and MonoDevelop to work on Wine. The list of their names is included in the script you are using. They are really important, so wait patiently.
- When the script installs up the components, find the Unity setup executable on your disk through the PlayOnLinux window.
- Install Unity3D just like in Windows. Follow the instructions during the installation. You may want to install the AngryBots project to test your installation of Unity. If errors appear, don't worry about them too much – they probably aren't show-stoppers.
- Click Finish in the Unity installation wizard and the PlayOnLinux installation wizard.You will see the Unity icon in the main PlayOnLinux window – you can start Unity from here if you want.
- You can see two Unity icons on your desktop. Delete the one called simply 'Unity', which is created by the Unity installer and might not work. 'Unity3D' is the one created by the script.
- If you haven't launched Unity yet, do it.
- Do everything Unity wants you to do (Activate your Unity License – free or pro, log in to your Unity account). Click Start using Unity to start using Unity, obviously.
- When you see the Project Wizard dialog, you may want to open the AngryBots project (if you chose to install it) for testing purposes. It is located under 'C:usersPublicDocumentsUnity Project'. Disk Z: is your Linux disk.
- If everything is working fine, celebrate.
Editing image assets with a native Linux Image Manipulation Program
By default Unity will open image files with Internet Explorer. While it is possible to set a Linux executable to be run by Unity in its preferences, the file path that Unity will provide is a Windows styled one '/PlayOnLinux Drive/C:UnityProjectAssets' which the image manipulation program will probably not recognize.
Wine has a tool that can translate Windows styled paths to Unix styled paths. A shell script can be used as the target to translate the path before giving it to the desired program, in this case GIMP:
Save it to a file that Unity can see and set it as an executable(like 'chmod 755' through the terminal), then set the shell script as the Image Manipulation program in Unity Preferences.
NOTE: A native 'Wine' version needs to be installed for this script to work.TODO: Make the script use PlayOnLinux's installed Wine to translate file paths.
Editing scripts with a native Linux script editor
Depending if you installed Unity with MonoDevelop, then Unity will open script files with either Notepad or MonoDevelop by default. Same when double-clicking on script errors and warnings. While it is possible to set a Linux executable to be run by Unity in its preferences, the file path that Unity will provide is a Windows styled one '/PlayOnLinux Drive/C:UnityProjectAssets' which the editor will probably not recognize.
Wine has a tool that can translate Windows styled paths to Unix styled paths. A shell script can be used as the target to translate the path before giving it to the desired program and also providing the line of code to jump to.
Sublime Text
Kate
Save it to a file that Unity can see and set it as an executable(chmod 755), then set the shell script as the External Script Editor program in Unity Preferences with correct format in its arguments, for this shell script it's '$(File)' $(Line)' (without the ').
NOTE: A native 'Wine' version needs to be installed for this script to work.TODO: Make the script use PlayOnLinux's installed Wine to translate file paths.
MonoDevelop (Native)
Installing a Compatible Version (Fedora)
At the time of this writing, Unity uses Monodevelop 4.0.1 internally. However, Fedora 22- uses 2.8.8.4 and the Official monodevelop packages are version 5.9. The latest stable version should work fine. The Unity monodevelop Add-ins do install but may be missing some functionality (Ctrl+' at least functions correctly.)You can install the latest Monodevelop from the project's website: http://www.mono-project.com/docs/getting-started/install/linux/#centos-fedora-and-derivatives
Installing Unity Add-ins (Ctrl+' Support)
- Open the native Monodevelop through Unity or directly.
- Menu Bar: Tools->Add-in Manager
- Click the Gallery Tab and search for 'Unity'
- Install 'Utilities for use with Unity' and other Add-ins you may find useful.
If you installed the latest Monodevelop you may see multiple warning messages, If you are just interested in the Ctrl+' shortcut, then these warning messages don't matter. Good luck finding out what doesn't work.
Example Warning Message
Opening from Unity
User Radivarig created a script to use a native (Linux) version of MonoDevelop as the editor. It handles pretty much everything, and the functionality shouldn't be different than on Windows.
You can find the script on GitHub.
Usage:
1. Download the script and give it execution rights like so (assuming you installed Unity into the default wine prefix):
2. Set the script as the editor in Unity: navigate to Edit->Preferences->External Tools and set the script as the editor, with argumentsCustom editor
You can use this script as a base to make your own editor launcher.
Troubleshooting
First see if your issue hasn't already been resolved by someone in GitHub Closed/Resolved Issues.
If it is not, raise your issue there in GitHub Open Issues.
The following may not be up to date.
Unity Asset store does not work in Unity 4 and down (has a workaround)
The Asset store window/tab shows up gray, but some elements on the window are picked up judging from that the mouse cursor changes. Some believe it is a WebKit issue.
However, user dialytica found a neat workaround: you can search on the Asset Store, login, download and import assets simply by searching in the Project View, ticking 'Asset Store', and clicking on the search results.
WineHQ bug report: http://bugs.winehq.org/show_bug.cgi?id=34039
Issue on GitHub: https://github.com/Unity3D-Wine-Support/Unity3D-on-Wine/issues/5
Project Creation: 'Specified path is not valid...' error message
While it might seem strange, this is an Internet Explorer issue. It is fixed by installing Internet Explorer 8. Preferably using winetricks 'ie8' or in PlayOnLinux case, 'Internet Explorer 8' component.
'-force-opengl' option crashing Unity (Experimental fix)
By default Unity Editor for Windows uses Direct3D to render graphics and Wine redirects Direct3D calls to OpenGL calls, which has compatibility and performance issues. Unity Technologies have included '-force-opengl' argument to force Unity to use OpenGL.
The reason for the crash is supposedly 'because Unity 3/4 does something with OpenGL contexts that is acceptable for WGL, but not for the Linux equivalent layer called GLX.'. But there exists a patch for Wine that allows Unity to run in OpenGL mode, but, to add the patch, Wine has to be compiled with it included.
Performance gains are reported to be between 10% to 400%.
How to fix:If you have a 32bit Linux distribution, follow instructions in this script(note that it is for Ubuntu), you may skip the following numbered steps.
1. If you have a 64bit Linux distribution, then it should be noted that winetricks does not have full support for 64bit Wine as of yet. Follow the instructions on how to compile a 32bit Wine on a 64bit OS here, only up to the point of getting the source code.
2. Before compiling Wine, add the patch to the source code folder through the terminal:
- > wget https://raw.githubusercontent.com/Unity3D-Wine-Support/Unity3D-on-Wine/master/Compile-Wine/WGL-ShareList-Hack.patch
- > cat ./WGL-ShareList-Hack.patch | patch -p1
3. Compile Wine.
4. Run Unity with the new Wine using something like
- > env WINEPREFIX='~/.local/share/wineprefixes/unity3d' ~/wine32/wine ~/.local/share/wineprefixes/unity3d/drive_c/Program Files/Unity/Editor/Unity.exe -force-opengl
Results: Screenshot of a empty scene with a cube
Ubuntu: Windows cannot be fully maximized
This might actually be an issue for all Wine applications contained within a window. See the following answered question for the way in fixing this issue:http://askubuntu.com/questions/267843/how-can-i-fully-maximize-wine-applications
Unity dashboard is all grayed out
This bug may appear when the Linux system's timezone is set as a 'named' timezone (like 'America/Sao Paulo'). Switch the timezone to another, which is not named and has only the GMT code, like 'GMT+3'.
To do this, open up a terminal.
For Ubuntu/Debian type:sudo dpkg-reconfigure tzdata
In the menu that opens up, go down and choose 'etc' and set right timezone code according to your location in GMT.
NVIDIA: Unity does not refresh windows often enough
When selecting a game object, the inspector might not refresh at the right time, showing the previous game object. Same thing may happen when writing text in a text input and seeing the previous state.
Steps to reproduce:
- Click on a GameObject.
- In inspector click on show/hide Transform tag multiple times until the line is turns up gray as if it is opened, but doesn't seem like it.
- When this happens, click the inspector tab(to refresh the window) and then on a parameter. When writing you should see only the previous state of the text.
Reported on:
- Ubuntu 13.10/14.04
- Wine 1.7.15/.16/.17/.18
- Graphics card: NVIDIA Geforce 9600GT/GT320M
- NVIDIA driver (proprietary) 319/331.38
- NVIDIA driver (open-source) 331.67/334.21/337.12/337.25 (These are made available when adding ppa:xorg-edgers/ppa repository)
Most likely culprit:
NVIDIA graphics drivers, although in -force-opengl mode other vendor graphics cards also experience this bug.
How to solve:
- Enable 'Strict Draw Ordering'. You have to add a key to the registry, see [UsefulRegistryKeys]. For PlayOnLinux installation of Unity, there is an option in its configuration. This might impact performance.
Or
- Use the Nouveau graphics driver, which does not have up to date 3D acceleration.
Built-in MonoDevelop doesn't launch
This sometimes happens because Wine launches MonoDevelop in a new wineprefix. Luckily, Radivarig created a script to fix this. Simply download the script, give it execution rights and set it as the editor in Unity.
You can find the script on Github.
Community Support
Github repository for Wine related scripts and issues
If you have a Github account, it is recommended to set this repository as 'Watch' in order to be notified of enhancements and bugfixes.
Github Unity3D-on-Wine Issues page
First see if your issue hasn't already been resolved by someone in Closed/Resolved Issues.
If it is not, raise your issue there in Open Issues.
Unity Forum Thread
Visit and contribute in the forum thread created on the Official Unity Forum.
Wine Application Database (AppDB)
Unity Editor page - https://appdb.winehq.org/objectManager.php?sClass=application&iId=11075
If you have used the Unity Editor for notable amount of time, then it would be helpful to vote for the closest compatible test done within AppDB or make your own test.
IRC channels
Unofficial IRC channel on freenode is #unity3d-wine, since it is unofficial few to none users may be on it, don't leave it because of that.
You may also try raising your issue on official Wine related IRC channels #playonlinux or #winehq.
The aim for this page is to be a community driven project that is work in progress and hopefully should show a list of games that will and will not work on Linux from porting it manually.
Mac Play Unity Games On Wine Opener
Warning: Some games may end up not working in future, so buy with care!
From Unity 4, Linux is supported target platform for Unity games. Since Unity is based on Mono, only appropriate Linux executables are needed, so it is possible to manually 'port' a Unity game made for another platform, that does not ship with Linux executables by locating and placing appropriate executable, as long as the game have OpenGL, OpenGLES or Vulkan renderer enabled, uses GLSL or SPIR-V shaders and doesn't use plugins that are impossible to obtain for Linux.
For older Unity 5+ games before Metal, porting from Mac version can alleviate the problems with pink shaders, since instead of DirectX/Direct3D HLSL shaders common OpenGL GLSL shaders were used.
- 1Porting a Windows or Mac game
- 1.3Obtaining Unity files
Porting a Windows or Mac game
Obtaining game files
First, files for the game to port needs to be obtained. Unless trying to fix a broken Linux game or add support for 32-bit or 64-bit for games shipping with only 32-bit or 64-bit executable in Linux (which should be possible by adding the respective files), files for the Windows or Mac version of the game need to be obtained. If the game is installed on Windows, Mac or Wine/Proton, these files can be used. If not, it is usually possible to download (and extract if they are archived) the files under Linux natively:
- For Steam, use Proton (macos-depot-download for Mac), SteamCMD or Steam console to download a Windows or Mac depot (search SteamDB for the actual depot numbers of the game). It is also possible to download an old version of the game that way.
- For GOG.com, download a Windows installer and extract its files using
innoextract --gog setup_whatever_game.exe
[1]. For Mac, most (if not all) installers come as .pkg files, which are in fact xar archives. After extracting its contents, the next step is to find a file called 'Scripts' in a subdirectory (cannot remember its exact name right now), which is actually a gzipped cpio archive. After renaming it to Scripts.gz, gunzipping it, and extracting the resulting cpio archive, it is possible to finally get to the game content [2]. - For itch.io, download and extract a Windows version with
7z x Game.exe
. For Mac, simply extract the .zip file, ex.unzip Game.zip
. - For Mac's .dmg files, mount them with
sudo mount -o loop,ro -t hfsplus image.dmg mountpoint
. - For other sources, extract Windows installers with innoextract, 7za or similar tools.
For Windows games, obtained folder structure with GameName.exe
and GameName_Data
is the same as Linux.
For Mac games, the file structure is different and it is needed to move and rename some files around [3]:
The executable is stored in GameName.app/Contents/MacOS/GameName
, but it will not be used. The rest of the files are not needed, as they will be replaced with contents from the Linux Unity player later on.
GameName
is the Unity project game name. Renaming Linux executables to it will be needed later on.
Checking Unity version of the game
Secondly, a version of the Unity the game is using needs to be checked. Probably the easiest way is to use find-engine.py
Python script from https://github.com/vetleledaal/game-engine-finder but it can also be done without it by at least two ways:
- Navigate to the
GameName_Data
folder of the game to be checked. Inside this folder there should be multiple of files, most of which contain the string for the Unity version. Executingstrings
command on one of them can help getting the exact version. Majority of games include level0 file in them, so navigating to the folder and executing this command should print the actual Unity version on the terminal:If nothing is returned, it's a very old Unity engine version, which has the version information towards the end of the file, but for which no Linux support exists anyway. - If any Linux Unity Player executable is available, it is possible to put this executable in the same level as
GameName.exe
andGameName_Data
and launch the game from terminal or with-logfile /location/to/file.txt
command line parameter to force the game write a log to/location/to/file.txt
and inspect the output. A similar to this should be looked for in log:Expected version is the version of the executable, in that case Unity Patch Release 5.6.3p3.
Actual version is the version of the executable needed, in that case Unity Patch Release 5.6.4p1. - Also, PCGamingWiki keeps track of Unity games engine build versions via Property:Unity engine build – it is possible to look at which games have the specific version there. To see the list of games along their Unity engine version, this query can be used. Keep in mind that the data there is contributed by users, so it can be out of date and not all the games may have it filled properly! The date of last version check can often be found noted as a reference on actual pages.
Obtaining Unity files
Knowing the exact game version, Unity Linux Playback Engine files needs to be obtained. These can either be taken from another Linux Unity game of the same version, or can be extracted from official Unity Linux Build Support ~100 MB exectuable (Unity 5+) or ~1.5 GB Unity Editor (Unity 4).
The files that are essential to work are:
For 32-bit version:
GameName.x86
(.x86
part is sometimes omitted in newer Unity versions, leaving onlyGameName
in some games)GameName_Data/Mono/x86/libmono.so
GameName_Data/Mono/x86/libMonoPosixHelper.so
(since Unity 5.5)GameName_Data/Plugins/x86/ScreenSelector.so
(since Unity 4.3)
For 64-bit version:
GameName.x86_64
(.x86_64
part is sometimes omitted in newer Unity versions, leaving onlyGameName
in some games)GameName_Data/Mono/x86_64/libmono.so
GameName_Data/Mono/x86_64/libMonoPosixHelper.so
(since Unity 5.5)GameName_Data/Plugins/x86_64/ScreenSelector.so
(since Unity 4.3)
Sometimes additional .so plugin files need to be put in either the GameName_Data/Plugins/x86
directory for 32-bit version or GameName_Data/Plugins/x86_64
for 64-versions. It's not needed in most cases, but if the game needs them, the names can be deducted from .dll files stored in GameName_Data/Plugins
directory for Windows, or from .bundle directories in GameName.app/Contents/Plugins
for Mac.
Some common plugins include [4]:
AkSoundEngine.dll
–???.so
. There's a lot of versions of precompiled plugins available, but it's difficult to find out which one might be needed. Part of Audiokinetic.CSteamworks.dll
–libCSteamworks.so
. Available from GitHub - rlabrecque/Steamworks.NET: Steamworks wrapper for Unity / C#.fmod.dll
–???.so
. There's no source, only precompiled plugins for 32 and 64-bit. Difficult to find the one needed. Available from FMOD Download - FMOD for registered users.FMODUnity.dll
–???.so
. Source is available from FMODUnity .NET Plugin at SquareTangle (archived by Wayback Machine).steam_api.dll
–libsteam_api.so
. Access to the Steam API by itself. It is only needed to find this precompiled file.SteamworksManaged.dll
???.so
(32-bit only). Available from GitHub - reallyjoel/Ludosity-s-Steamworks-Wrapper: Fully managed .NET wrapper for Steamworks API.SteamworksNative.dll
???.so
(32-bit only). Available from GitHub - reallyjoel/Ludosity-s-Steamworks-Wrapper: Fully managed .NET wrapper for Steamworks API.UWKPlugin.dll
–???.so
. Source is available, but no precompiled Linux plugins. Used to be available from uWebKit/uWebKit · GitHub (archived by Wayback Machine).XInputInterface.dll
–???.so
. Apparently comes from speps/XInputDotNet: C# wrapper around XInput, works with any Mono or .NET application (eg. Unity3D).
File archives
Some people already extracted the appropriate files. It is possible to either look for the pre-made versions posted on the game forums if someone already did the job (see the table below), but there are also some mirrors of the extracted Unity files, which saves the trouble downloading and extracting the Linux Playback Engine or Unity Editor files or rummaging through the collection of Linux Unity games:
- Builds / Облако Mail.Ru – original file repository, includes some precompiled plugins.
- ! Builds / Облако Mail.Ru – another file repository.
Manually extracting files
It is also possible to also manually extract the files needed. For that, appropriate version of UnitySetup-Linux-Support-for-Editor-X.Y.Z.ab.exe
needs to be downloaded (for Unity 5+) or either UnitySetup-4.Y.Z.exe
for full releases or UnitySetup_update-4.Y.Zab.exe
for patch/beta releases, where X.Y.Zab
and similar is the Unity version detected.
First, the appropriate version of Unity from one of those locations needs to be obtained:
- Full Releases (X.Y.Zf1*—∞)
- Patch Releases (X.Y.Zp1—∞)
- Beta Releases** (X.Y.Zb1—∞ for Beta versions and X.Y.Zf1—∞ for Release Candidate versions)
- Linux Releases (X.Y.Zx***f/p/b1—∞)
*Some full releases start with with number higher than 1, that means that the previous versions were release candidates, obtainable from beta archive.
**Only the current beta releases are available for download, so if an old beta executables is needed, then unless it is 5.4.0b10, 5.4.0b13, 5.4.0b15, 5.4.0b16, 5.4.0b18, 5.4.0b21, 5.4.0b23, 5.5.0b1, 5.5.0b2, 5.5.0b5, 2017.2.0b11, 2017.3.0b1, 2018.1.0b8, 2018.1.0b13, 2018.2.0b2, 2018.2.0b5 or 2018.2.0b7 available from Linux Releases, archived release somewhere else or another game using it needs to found (see Finding files in own game library section).
***The xb/xf/xp notation was only used for the Linux Editor builds of Unity 5.5.0p1—2017.1.1f1 (inclusive) and 2017.2.0b6 – i.e. the builds published between 2016-12-13 and 2017-09-05.
- For Unity 5 and above, Unity Setup for Linux weighting around 100 MB needs to be downloaded. To do so, the version needed needs to be located on the links above, then URL to any component download link (except the Unity Installer for full releases, as it uses a different download scheme link) contains 12-character hexadecimal build ID, for example d597d0924185 for Unity 2017.1.2p4. Knowing the build ID, it is possible to download
UnitySetup-Linux-Support-for-Editor-X.Y.Zab.exe
from the following link:orxxxxxxxxxxxx
is the build ID andX.Y.Zab
is a detected Unity version. Generally, regular link works for full releases while beta and patches releases use the latter link, but sometimes the files are even available in both locations.
Relative location of files Unity downloader downloads is also stored inunity-win.ini
file which can be acccssed inor
Alternatively, is is also possible to access the links in a more human-readable format (only in beta.unity3d.com) inHere are examples for Unity 2017.1.2p4:- UnitySetup-Linux-Support-for-Editor-2017.1.2p4.exe (download.unity3d.com))
- UnitySetup-Linux-Support-for-Editor-2017.1.2p4.exe (beta.unity3d.com))
- For Unity 4, a full executable needs to be downloaded, weighting around 1.5 GB.
After obtaining the installers, files from them needs to be extracted. The archives are an NSIS installers and can be extracted with p7zip. Navigate to the location of the downloaded file for example using cd
in terminal and extract the files with e.g. 7z x UnitySetup-version.exe
, where version
is either the respective version of Linux Support for Editor for Unity 5+ or the full installer for Unity 4 downloaded. For Unity 5+, the files needed will be located in $INSTDIR$_XX_/Variations/
folder, where XX
is a random number, and for Unity 4 in Data/PlaybackEngines/linuxstandalonesupport/Variations/
folder. The variations needed are most likely the linux64_withgfx_nondevelopment_mono
and/or linux32_withgfx_nondevelopment_mono
, but feel free to experiment.
There is a bash script to automatically handle downloading and extracting the required files by passing only the Unity version. It repeats the procedures explained above and was posted on the original Russian forums, but it is largely untested: [5] (click 'скрытый текст' to show it). Dependencies include: p7zip-full
(p7zip
in Arch), curl
, grep
, cut
, tr
.
Only the files mentioned in Obtaining Unity files section are needed, so feel free to remove the rest – replacing the files that ship with Windows game may result in game not starting otherwise!
Renaming LinuxPlayer
to GameName
and Data
directory to GameName_Data
is also needed, where GameName
is the game name (see Obtaining game files section.)
Finding files in own game library
An alternative route is to search through own installed game library, looking for the executables needed. When looking for a specific executablea following command can be typed in terminal, where .
indicates the current directory and can be changed to a different one and X.Y.Zab
is the executable searched for:
This command will only scan the directory in which it is invoked (or passed instead of .
) and all its sub-directories, so it's a good idea to run it where all the games are installed (e.g. ~/games
).[6][7]
Mac Play Unity Games On Wine Glasses
Porting from other platforms
It could also be possible to port games from other platforms, including Android, iOS, tvOS, Samsung Smart TV, Tizen, WebGL, Facebook Gameroom and historically Unity Web Player – possibly even consoles if one could get hands on the files. It may also be possible to port to non-Linux platforms that way, however it all mostly remains to be tested.
The Russian Mac porting guide did not succeed porting an Android game to a x86 system due to a different CPU architecture, so an ARM Linux distro (for example on Raspberry Pi) may be needed [8].
Testing
TODO - write about -logfile
and possibly other command line parameters. [9][10], [11]
Cosmetics
TODO - Write about converting images, icons and making desktop shortcuts. [12], [13], [14]
Games tested
Here are all the games tested for working on Linux. For now, the table only includes one entry per game, sorted alphabetically by game name – in case of new tests, update the existing entry with up to date info. Link the game name to the source you obtained the game from. Alternatively, if you feel the results are vastly different, feel free to add a new entry below the old test and discuss it in the talk page!
Feel free to add pre-Unity 4 games to the list as well and mark them appropriately – it will let other tester know why this Unity game does not work and in case of engine upgrade, could be easily retested.
For Platform column, state the platform you used the files from, most commonly Windows or Mac but other options are possible as well – see Porting from other platforms section.
Only use Yes in the Works column if the game is actually playable as if it were native. If you encounter any game-breaking issues such as game not starting or pink shader textures, mark it as a firm 'No' and state the reason in Description column – try to be as descriptive as possible, in case that will help someone else to get the game working by finding the issue.
For tester name, type the last tester name. If you are the one doing tests, you can use your wiki name, e.g. User:Faalagorn.
For the last tested date use YYYY-MM-DD format.
Mac Play Unity Games On Wine Glass
Games with the shader problems would basically require to decompile Managed/Assembly-CSharp.dll
and replace the shaders to use there, or to extract the .asset
files and create them anew. Some of these games are playable as they are, but certain things will show up pink. [15]
Game | Unity version | Platform | Works | Description | Tester name | Last tested | Guide/files used |
---|---|---|---|---|---|---|---|
1954 Alcatraz | 4.0.1f2 | Windows | Yes | Seegras | 2016-01-13 | Blog post | |
Air Buccaneer | 4.2.0f4 | Windows | No | Can't connect to network? | Seegras | 2016-01-13 | Blog post |
Albedo: Eyes from Outer Space | 4.3.4f1 | Windows | Yes | Apparently perfect (only played for 10 minutes). | muntdefems | 2017-11-28 | GOG.com forums, GOGmix |
Astral Terra | 5.1.2f1 | Windows | No | Shader problems. | Seegras | 2016-01-13 | Blog post |
Avenging Angel | 5.1.0f3 | Windows | No | Shader problems. | Seegras | 2016-01-13 | Blog post |
Blackguards | 3.5.6f4 | Windows | No | Unsupported (pre-Unity 4). | Seegras | 2016-01-13 | Blog post |
Blackguards 2 | ? | Windows | No | Refuses to start a new game (probably a video plugin it uses; it was not looked for). | darktjm | 2017-09-17 | GOG.com forums |
Block Story™ | 4.6.8f1 | Windows | No | 'Not available on your current platform' Steam error. | Seegras | 2016-01-13 | Blog post |
Bob Came in Pieces | 2.6.1f3 | Windows | No | Unsupported (pre-Unity 4). | User:Faalagorn | 2017-12-21 | |
Bridge Project | 4.5.3f3 | Windows | No | x86 crashes, x86_64 does not accept input | Seegras | 2016-01-13 | Blog post |
Clone Drone in the Danger Zone | 5.4.1f1 | Windows | No | Pink shaders | User:Interknet | 2018-07-20 | |
Cognition: An Erica Reed Thriller | 3.5.7f6 | Windows | No | Unsupported (pre-Unity 4). | Seegras | 2016-01-13 | Blog post |
Coldfire Keep | 4.3.4f1 | Windows | Yes | Seegras | 2016-01-13 | Blog post | |
Commando Jack | 3.5.7f6 | Windows | No | Unsupported (pre-Unity 4). | Seegras | 2016-01-13 | Blog post |
Contract Wars Client | 4.1.5f1 | Windows | No | Game launches fine, but after logging in, the game fails to load with the 'PROFILE LOAD FAILED Check your Internet connection (proxy, ports, antivirus/firewall) or reload page with the game' error. Could be due anticheat. | User:Faalagorn | 2017-11-25 | Облако Mail.Ru |
CreaVures | 3.4.2f2 | Windows | No | Unsupported (pre-Unity 4). | Seegras | 2016-01-13 | Blog post |
Dead Bits | 4.1.3f3 | Windows | Yes | Seegras | 2016-01-13 | Blog post | |
Dead Effect | 4.6.0f3 | Windows | Yes | Seegras | 2016-01-13 | Blog post | |
Dead Frontier | 3.5.7f6 | Windows | No | Unsupported (pre-Unity 4). | User:Faalagorn | 2018-01-02 | |
Dead Island Epidemic (delisted) | 4.6.1f1 | Windows | No | Libs missing, among them FMODUnity .NET Plugin. | Seegras | 2016-01-13 | Blog post |
Dementium II HD | 3.5.7f6 | Windows | No | Unsupported (pre-Unity 4). | Seegras | 2016-01-13 | Blog post |
Depths of Fear :: Knossos | 4.6.1f1 | Windows | Yes | Seegras | 2016-01-13 | Blog post | |
Deus Ex: The Fall | 4.3.4f1 | Windows | No | Needs LD_LIBRARY_PATH for libsteam.api.so ; Wwise sound engine wrong version, playable. | Seegras | 2016-01-13 | Blog post |
Dungeonland | 3.5.6f4 | Windows | No | Unsupported (pre-Unity 4). | Seegras | 2016-01-13 | Blog post |
Dysan the Shapeshifter | 3.4.2f2 | Windows | No | Unsupported (pre-Unity 4). | Seegras | 2016-01-13 | Blog post |
Empress Of The Deep 2: Song Of The Blue Whale | 3.3.0f1 | Windows | No | Unsupported (pre-Unity 4). | User:Faalagorn | 2017-12-21 | |
Empyrion – Galactic Survival | 5.2.3f1 | Windows | No | Hanging? | Seegras | 2016-01-13 | Blog post |
Escape from Tarkov | 5.6.5p3 | Windows | No | Version 0.2.45.214 worked, later versions removed Vulkan renderer, leaving only D3D11, making the game not launching. | User:Faalagorn | 2018-07-02 | Official forums |
Expeditions: Conquistador | 4.? | Windows | Yes | Seems to work fine. | darktjm | 2017-09-17 | GOG.com forums |
Fallout Shelter | 5.4.4f1 | Windows | No | Purple screen, closes after awhile. | User:Interknet | 2018-08-21 | |
Final Dusk | 4.6.1f1 | Windows | Yes | Seegras | 2016-01-13 | Blog post | |
First Person Lover | 4.6.1f1 | Windows | Yes | Completable – for some reasons I couldn't see names on credits and had performance/minor flickering issues, but that may be my side. Leaderboards and some links do not work, as the main site do not work anymore. | User:Faalagorn | 2017-12-20 | Google Drive |
Gabriel Knight: Sins of the Fathers – 20th Anniversary Edition | 5.3.4f1 | Windows | No | Shader problems, shows unusable menu. | darktjm | 2017-09-17 | GOG.com forums |
Godus Wars | 5.2.2f1 | Windows | No | Shader problems. | Seegras | 2016-01-13 | Blog post |
Gravi | 4.5.5f1 | Windows | Yes | Seegras | 2016-01-13 | Blog post | |
Guns n Zombies | 5.2.2f1 | Windows | No | Shader problems, crashes. | Seegras | 2016-01-13 | Blog post |
Her Story | 5.0.1f1 | Windows | No | Uses AVPro Windows Media Plugin for videos. | User:Yepoleb | 2017-09-17 | GOG.com forums |
Hired Ops | 5.3.6p1 | Windows | No | Requires libsteam_api.so and ScreenSelector.so ; pink screen when launching. | User:Faalagorn | 2017-11-26 | |
Huntsman: The Orphanage (Halloween Edition) | 4.2.2f1 | Windows | Yes | Needs LD_LIBRARY_PATH for libsteam.api.so . | Seegras | 2016-01-13 | Blog post |
Jalopy | 4.5.3f3 | Windows | Yes | User:Interknet | 2017-05-31 | Steam forums, GitHub Gist | |
Joe Dever's Lone Wolf HD Remastered | 4.5.4f1 | Windows | No | Self-written plugins. | Seegras | 2016-01-13 | Blog post |
Kyn | 4.6.6f2 | Windows | Yes | Apparently perfect (only played for 10 minutes). May have to be restarted a couple of times for it to work in fullscreen. | muntdefems | 2017-09-12 | GOG.com forums, GOGmix |
Last Inua | 4.2.2f1 | Windows | Yes | Seegras | 2016-01-13 | Blog post | |
Last Tinker™: City of Colors, The | 4.3.4f1 | Windows | Yes | Apparently perfect (only played for 10 minutes). Linux version is available on Steam. | muntdefems | 2017-09-12 | GOG.com forums, GOGmix |
Magnetic: Cage Closed | 4.3.4f1 | Windows | No | 'Not available on your current platform' Steam error. | Seegras | 2016-01-13 | Blog post |
Melissa K. and the Heart of Gold Collector's Edition | 4.5.3f3 | Windows | No | Hanging? | Seegras | 2016-01-13 | Blog post |
Might & Magic X - Legacy | 4.2.2f1 | Windows | No | Hanging? | Seegras | 2016-01-13 | Blog post |
My Summer Car | 5.0.0f4 | Windows | Yes | User:Interknet | 2017-05-31 | Steam forums | |
My Time at Portia | 2017.4.1f1 | Windows | No | Lack of OpenGL support. | User:Interknet | 2018-07-20 | |
Once Bitten, Twice Dead! | 4.6.1f1 | Windows | Yes | Seegras | 2016-01-13 | Blog post | |
Overcast - Walden and the Werewolf | 4.1.3f3 | Windows | Yes | Seegras | 2016-01-13 | Blog post | |
Paper Sorcerer | 4.1.5f1 | Windows | Yes | Seegras | 2016-01-13 | Blog post | |
Pid | 3.5.3f3 | Windows | No | Unsupported (pre-Unity 4). | muntdefems | 2017-09-14 | GOG.com forums |
Randal's Monday | 4.1.5f1 | Windows | Yes | Perfect. I've completed it without a crash or glitch. | muntdefems | 2017-09-12 | GOG.com forums, GOGmix |
realMyst: Masterpiece Edition | 4.5.5p4 | Windows | No | Broken menu, needs uWebKit. | Seegras | 2016-01-13 | Blog post |
Red Lake | 4.3.4f1 | Windows | Yes | Seegras | 2016-01-13 | Blog post | |
Reign Of Kings | 5.1.1p2 | Windows | No | Shader problems, needs LD_LIBRARY_PATH for libsteam.api.so . | Seegras | 2016-01-13 | Blog post |
Republique | 5.2.2p4? | Windows | No | Pink shaders. | muntdefems | 2017-09-14 | GOG.com forums |
Republique | 5.2.2p4 | Windows | No | 'Not available on your current platform' Steam error. | Seegras | 2016-01-13 | Blog post |
Reservoir Dogs - Bloody Days (delisted) | 5.6.1p1 | Windows | No | Crashes at startup. | Huinehtar | 2017-12-20 | GOG.com forums |
Seamulator 2009 | 2.1.0f5 | Windows | No | Unsupported (pre-Unity 4). | Seegras | 2016-01-13 | Blog post |
Shad'O | 3.5.2f2 | Windows | No | Unsupported (pre-Unity 4). | Seegras | 2016-01-13 | Blog post |
Shelter | 3.5.7f6 | Windows | No | Unsupported (pre-Unity 4). | Seegras | 2016-01-13 | Blog post |
Slender: The Arrival | 4.5.1p3 | Windows | No | Texture problems, playable. | Seegras | 2016-01-13 | Blog post |
SMILE GUIDE: the apple escape | 5.3.2f1 | Windows | No | Flickering – shaders problems? | User:Faalagorn | 2017-12-20 | |
StarForge (delisted) | 4.5.5f1 | Windows | No | Shader problems, needs LD_LIBRARY_PATH for libsteam.api.so . | Seegras | 2016-01-13 | Blog post |
Stick it to The Man! | 4.3.2f1 | Windows | Yes | Seegras | 2016-01-13 | Blog post | |
Stranded Deep | 5.2.2f1 | Windows | No | 'Not available on your current platform' Steam error. | Seegras | 2016-01-13 | Blog post |
Subject 13 | 4.6.4f1 | Windows | Yes | Nearly perfect. I've completed it without a crash, but I did encounter a couple of minor texture glitches. | muntdefems | 2017-09-12 | GOG.com forums, GOGMix |
Subnautica | 5.2.3f1 | Windows | No | 'Not available on your current platform' Steam error. | Seegras | 2016-01-13 | Blog post |
Tappy Plane | 5.3.4f1 | Mac | Yes | MyKubik | 2016-04-11 | Blog post | |
Tharsis | ? | Windows | No | Pink shaders. | muntdefems | 2017-09-14 | GOG.com forums |
The Dead Linger (delisted) | 4.6.0b20 | Windows | Yes | Old version – game switched to Unreal Engine later. Some black textures. | Seegras | 2016-01-13 | Blog post |
The Forest | 5.1.5f1 | Windows | No | Doesn't let you launch into a new game. | User:Interknet | 2017-05-31 | |
The Hat Man: Shadow Ward | 4.3.4f1 | Windows | Yes | Seegras | 2016-01-13 | Blog post | |
The Sexy Brutale | 5.3.6p5 | Windows | No | User:Hummer010 | 2017-10-01 | GOG.com forums, Google Sheets | |
The Swindle | 4.6.3f1 | Windows | Yes | Needs Steamworks libraries in the runtime for it to work. Apparently perfect (only played for 10 minutes). | muntdefems | 2017-12-15 | GOG.com forums, GOGMix |
The Tower | 5.1.2f1 | Windows | No | Shader problems. | Seegras | 2016-01-13 | Blog post |
Theatre Of The Absurd | 3.5.0f5 | Windows | No | Unsupported (pre-Unity 4). | Seegras | 2016-01-13 | Blog post |
Them - The Summoning | 3.4.2f2 | Windows | No | Unsupported (pre-Unity 4). | Seegras | 2016-01-13 | Blog post |
Train Town | 4.5.0f6 | Windows | Yes | Seegras | 2016-01-13 | Blog post | |
Toren | 4.3.4f1 | Windows | Yes | Apparently perfect (only played for 10 minutes). | muntdefems | 2017-12-15 | GOG.com forums, GOGmix |
Toren Deluxe Edition | 4.3.4f1 | Windows | Yes | Apparently perfect (only played for 10 minutes). | muntdefems | 2017-12-15 | GOG.com forums, GOGmix |
Treeker: The Lost Glasses | 5.1.2f1 | Windows | No | Shader problems, playable. | Seegras | 2016-01-13 | Blog post |
Truffle Saga | 3.5.7f6 | Windows | No | Unsupported (pre-Unity 4). | Seegras | 2016-01-13 | Blog post |
Unearthed: Trail of Ibn Battuta - Episode 1 - Gold Edition | 3.5.7b1 | Windows | No | Unsupported (pre-Unity 4). | Seegras | 2016-01-13 | Blog post |
Urja | 4.5.4f1 | Windows | Yes | Seegras | 2016-01-13 | Blog post | |
Year Walk | 4.5.5f1 | Windows | Yes | Seegras | 2016-01-13 | Blog post | |
Human Fall Flat | 2017.4.13f1 | Mac | Yes | Download via depot | User:Interknet | 2019-10-08 | |
Clone Drone in the Danger Zone | 2018.3.11f1 | Mac | Yes | Download via depot | User:Interknet | 2019-10-13 |
Mac Play Unity Games On Wine Bar
External links
- Engine:Unity/Porting - PCGamingWiki PCGW - bugs, fixes, crashes, mods, guides and improvements for every PC game – the same guide posted on PCGamingWiki
- Инструкция по 'портированию' игр на движке Unity3D :: RuTracker.org – the original guide, explaining how to port Linux games (in Russian).
- Windows Unity-Games on Linux – the original English guide, based on the above.
- MyKubik: Портируем игры Unity 3D для Linux – guide explaining how to port macOS/OS X games under Arch (in Russian).
- Running non-Linux Unity3D games on Linux (and natively) – GOG.com forums write-up.
- - Unity3D games that can be run natively on Linux - GOG.com (archived by Wayback Machine).
- Engine:Unity – engine overview and a dynamic list of games using Unity based on PCGamingWiki pages.