Version: Unity 6.0 (6000.0)
言語 : 日本語
埋め込み Linux ビルドプロファイルリファレンス
埋め込み Linux プロジェクトを展開する

埋め込み Linux 用にコマンドラインでビルドする

コマンドラインインターフェース (CLI) で埋め込み Linux システム用の Unity プロジェクトをビルドするには、Unity エディターをビルドホストにインストールする必要があります。ビルドホストは、Linux、Windows、または macOS マシンにすることができます。

以下の例では、Linux バリアントの実行ファイル (Unity) を使用していますが、好みのビルドホストの OS 用の同等の実行ファイルに置き換えることができます。

コマンドライン引数

Unity に、CLI モードで開始し、<path-to-unity-project-root> に埋め込み Linux 用のプロジェクトをビルドするように指示するには、以下のコマンドを実行します。

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

ビルドプロセスは、Builder.Build 関数も呼び出してビルド設定プロセスを続行します。

ビルドスクリプト

コマンドラインから、ビルドするプロジェクトにサンプルビルドスクリプト Assets/Editor/ を追加できます。-executeMethod オプションを使用して、このクラスの Build() メソッドを呼び出します。これにより、ビルドオプションが設定され、ビルドがトリガーされます。

詳細については、BuildPipeline.BuildPlayer API のドキュメント を参照してください。

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);
    }
}

その他の参考資料

埋め込み Linux ビルドプロファイルリファレンス
埋め込み Linux プロジェクトを展開する