Version: 2021.3
Language : English
Linux Build settings
Troubleshooting the Linux Editor issues

Build a Linux application

To build your Linux application, use the following steps:

  1. Configure the required build settings and select one of the following options:

    • Build: Compile a Player. The default build is incremental, except for the first build, which is always a full non-incremental (clean) build. To force a clean build instead of an incremental build, select Clean Build from the dropdown menu.
    • Build and run: Compile a Player and open it on your device. This option always uses the incremental build.
  2. In the Linux file chooser window, select the destination for Unity to place the build.

  3. In the Name field, enter an appropriate name for the build.

  4. Select Save. This starts the build process.

Linux Player build binaries

When you build a Unity application on the Linux platform, Unity produces the following files, where ProjectName is the name of your application:

  • ProjectName.x86_64: This is the project executable file for your application. It contains the program entry point that initiates the Unity engine when launched.
  • UnityPlayer.so: This .so file contains all the native Unity engine code. It’s signed with the Unity Technologies certificate allowing you to verify that no malicious entities have tampered with your engine code.
  • *.pdb files: These are symbol files you can use to debug managed (C#) code. Unity copies these files to the build directory if you enable Development BuildA development build includes debug symbols and enables the Profiler. More info
    See in Glossary
    in the Build Settings window.
  • *_s.debug files: These are symbol files you can use to debug native (C/C++) code. Unity copies these files to the build directory if you enable Development Build in the Build Settings window.
  • ProjectName_Data folder: This folder contains all the data needed to run your application.

If you’re using the IL2CPPA Unity-developed scripting back-end which you can use as an alternative to Mono when building projects for some platforms. More info
See in Glossary
scripting backendA framework that powers scripting in Unity. Unity supports three different scripting backends depending on target platform: Mono, .NET and IL2CPP. Universal Windows Platform, however, supports only two: .NET and IL2CPP. More info
See in Glossary
, your application Player build also includes the following file and folder:

  • GameAssembly.so: This .so file contains all managed (C#) game logic and scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
    See in Glossary
    converted into native code (C/C++) for enhanced performance.
  • ProjectName_BackUpThisFolder_ButDontShipItWithYourGame folder: This folder contains intermediate files generated during IL2CPP builds that are useful for debugging rather than distribution.

Additional resources

Linux Build settings
Troubleshooting the Linux Editor issues