# Build a Linux application

> Build a Unity application on Linux platform.

To build your Unity application on the Linux platform, use the following steps:

1. Open the **Build Profiles** window (menu: **File** > **Build Profiles**).
2. From the list of platforms in the **Platforms** panel, select **Linux** or [create a build profile](/engine/6000.0/manual/building-and-publishing/build-settings/create-build-profile.md) for the **Linux** platform.
3. Select **Switch Profile** to set the new build profile as the active profile.
4. Select **Build** or **Build And Run**. For more information on these options, refer to [Build your application](/engine/6000.0/manual/building-and-publishing/build-settings/build-profiles-reference.md#build-options).
5. In the Linux file chooser window, select the destination for Unity to place the build.
6. In the **Name** field, enter an appropriate name for the build.
7. 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 Build in the **Platform Settings** section of the [Build Profiles](/engine/6000.0/manual/platform-specific/linux/buildsettings.md) 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 **Platform Settings** section of the [Build Profiles](/engine/6000.0/manual/platform-specific/linux/buildsettings.md) window.
* `ProjectName_Data` folder: This folder contains all the data needed to run your application.
* `libdecor-0.so.0`: This `.so` file is a Linux shared library used by Wayland clients to manage client-side window decorations. It ensures consistent window behavior and appearance across various compositors.
* `libdecor-cairo.so`: This `.so` file is a Linux shared library that integrates Cairo graphics with `libdecor`. It renders client-side decorations in Wayland to enhance visual consistency and performance.

If you're using the IL2CPP scripting backend, your application Player build also includes the following file and folder:

* `GameAssembly.so`: This `.so` file contains all managed (C#) game logic and scripts 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 reference](/engine/6000.0/manual/platform-specific/linux/buildsettings.md)
