Version: Unity 6.1 Alpha (6000.1)
Language : English
Embedded Linux Build Profiles reference
Deploy an Embedded Linux project

Build for Embedded Linux from the command line

To build a Unity project for the Embedded Linux system on the command line interface (CLI), you must have the Unity Editor installed on the build host. The build host can be a Linux, Windows, or macOS machine.

The following example uses the Linux variant of the executable (Unity), but you can replace it with an equivalent executable for your preferred build host’s operating system.

Command line arguments

To instruct Unity to start in CLI mode and build the project at <path-to-unity-project-root> for Embedded Linux, run the following command:

Unity -quit -batchmode -nographics -buildTarget EmbeddedLinux -executeMethod Builder.Build -projectPath <path-to-unity-project-root>

The build process also calls the function Builder.Build to continue with the build setup process.

Build script

You can put the example build script Assets/Editor/ for the project to be built from the command line. Use the -executeMethod option to call the Build() method of this class, which sets up the build options and triggers the build.

For more information, refer to the BuildPipeline.BuildPlayer API documentation.

using UnityEditor;
using UnityEditor.Build.Reporting;
using UnityEngine;

public class Builder
{
    private static void BuildEmbeddedLinux(EmbeddedLinuxArchitecture architecture)
    {
        // Set architecture in BuildSettings
        EditorUserBuildSettings.selectedEmbeddedLinuxArchitecture = architecture;

        // Setup build options (e.g. scenes, build output location)
        var options = new BuildPlayerOptions
        {
            // Change to scenes from your project
            scenes = new[]
            {
                "Assets/Scenes/SampleScene.unity",
            },
            // Change to location the output should go
            locationPathName = "../EmbeddedLinuxPlayer/",
            options =  BuildOptions.CleanBuildCache | BuildOptions.StrictMode,
            target = BuildTarget.EmbeddedLinux
        };

        var report = BuildPipeline.BuildPlayer(options);

        if (report.summary.result == BuildResult.Succeeded)
        {
            Debug.Log($"Build successful - Build written to {options.locationPathName}");
        }
        else if (report.summary.result == BuildResult.Failed)
        {
            Debug.LogError($"Build failed");
        }
    }

    // This function will be called from the build process
    public static void Build()
    {
        // Build EmbeddedLinux ARM64 Unity player
        BuildEmbeddedLinux(EmbeddedLinuxArchitecture.Arm64);
    }
}

Additional resources:


对文档有任何疑问,请移步至开发者社区提问,我们将尽快为您解答
Embedded Linux Build Profiles reference
Deploy an Embedded Linux project
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961