Set up your environment to develop with Embedded Linux.
To create a Unity application for Embedded Linux, you first need to set up your Unity project to support Embedded Linux. To support Embedded Linux, a Unity project requires certain packages and dependencies.
Note: You must install the Embedded Linux platform package before you can set up your environment. For more information, refer to Install the platform package for Embedded Linux.
After you create a new project with Unity, you must install the following toolchain and SDK packages for your operating system and target architecture. To install a Unity package for Embedded Linux toolchain and SDK, refer to Install a UPM package by name.
Toolchain packages:
Operating system | Package |
---|---|
Windows | com.unity.toolchain.win-x86_64-embeddedlinux |
MacOS | com.unity.toolchain.macos-x86_64-embeddedlinux |
Linux | com.unity.toolchain.linux-x86_64-embeddedlinux |
SDK packages:
Target architecture | Package |
---|---|
aarch64 | com.unity.sdk.embeddedlinux-aarch64 |
x86_64 | com.unity.sdk.embeddedlinux-x86_64 |
arm32 | com.unity.sdk.embeddedlinux-arm32 |
x86 | com.unity.sdk.embeddedlinux-x86 |
After you’ve installed the packages, the Package Manager window displays the toolchain and SDK packages that are installed for Embedded Linux.
You can also install the required Embedded Linux packages automatically from the Build Settings window.
To initiate the automatic installation of packages:
If the Unity Editor has the Install toolchain packages automatically option enabled by default, then the required packages such as the toolchain and SDKs for installed architectures are installed automatically. After the package installation process is complete, you can check which packages are installed in the Toolchain Management (Embedded Linux) tab in Project SettingsA broad collection of settings which allow you to configure how Physics, Audio, Networking, Graphics, Input and many other areas of your project behave. More info
See in Glossary.
If the option to automatically install packages is disabled, you can switch to the Toolchain Management (Embedded Linux) tab and click Install sdk and toolchain packages.
After you’ve installed the packages, the Package Manager window displays the list of all the toolchain packages that are installed for Embedded Linux.
Embedded Linux must provide direct and indirect dependenciesAn indirect, or transitive dependency occurs when your project requests a package which itself “depends on” another package. For example, if your project depends on the alembic@1.0.7
package which in turn depends on the timeline@1.0.0
package, then your project has an direct dependency on Alembic and an indirect dependency on Timeline. More info
See in Glossary so Unity can run correctly.
Direct dependencies load at the application startup.
libm.so.6
libgcc_s.so.1
libpthread.so.0
libc.so.6
libdl.so.2
librt.so.1
Indirect dependencies load when needed during the application runtime as a shared library.
Type | Dependencies |
---|---|
Audio |
libpulse-simple.so.0 libpulse.so.0 libesd.so.0 libasound.so or libasound.so.2
|
Wayland |
libwayland-client.so.0 libwayland-egl.so.1 libwayland-cursor.so.0 libxkbcommon.so.0
|
X11 |
libX11.so.6 libXext.so.6 libXcursor.so.1 libXinerama.so.1 libXi.so.6 libXrandr.so.2 libXss.so.1 libXxf86vm.so.1
|
OpenGL ES |
libEGL.so.1 libGLESv2.so.2
|
Vulkan | libvulkan.so.1 |
Devices | libudev.so.1 |
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.