Add a quick "custom" build command by krisrok · Pull Request #199 · unitycoder/UnityLauncherPro · GitHub
Skip to content

Add a quick "custom" build command - #199

Merged
unitycoder merged 1 commit into
unitycoder:masterfrom
krisrok:feature/build_custom
Aug 30, 2025
Merged

Add a quick "custom" build command#199
unitycoder merged 1 commit into
unitycoder:masterfrom
krisrok:feature/build_custom

Conversation

@krisrok

@krisrok krisrok commented Aug 8, 2025

Copy link
Copy Markdown
Contributor

Expects a editor script with in the format of:

UnityLauncherProToolsCustom.BuildCustom, e.g.:

using System.Diagnostics;
using System.IO;
using System.Linq;
using UnityEditor;
using UnityEngine;
public static class UnityLauncherProToolsCustom
{
    [MenuItem("Tools/Build custom")]
    public static void BuildCustom()
    {
        var settings = new BuildPlayerOptions();
        settings.scenes = GetScenes();
        settings.locationPathName = Path.GetFullPath(Path.Combine(Application.dataPath, "..", "..", "..", "Build", PlayerSettings.productName + ".exe"));
        settings.target = EditorUserBuildSettings.activeBuildTarget;
        var report = BuildPipeline.BuildPlayer(settings);
        if (report.summary.result == UnityEditor.Build.Reporting.BuildResult.Succeeded)
            Process.Start(Path.GetDirectoryName(settings.locationPathName));
    }

    static string[] GetScenes()
    {
        return EditorBuildSettings.scenes.Where(scene => scene.enabled).Select(scene => scene.path).ToArray();
    }
}

Expects a editor script with in the format of:

```cs
using System.Diagnostics;
using System.IO;
using System.Linq;
using UnityEditor;
using UnityEngine;
public static class UnityLauncherProToolsCustom
{
    [MenuItem("Tools/Build custom")]
    public static void BuildCustom()
    {
        var settings = new BuildPlayerOptions();
        settings.scenes = GetScenes();
        settings.locationPathName = Path.GetFullPath(Path.Combine(Application.dataPath, "..", "..", "..", "Build", PlayerSettings.productName + ".exe"));
        settings.target = EditorUserBuildSettings.activeBuildTarget;
        var report = BuildPipeline.BuildPlayer(settings);
        if (report.summary.result == UnityEditor.Build.Reporting.BuildResult.Succeeded)
            Process.Start(Path.GetDirectoryName(settings.locationPathName));
    }

    static string[] GetScenes()
    {
        return EditorBuildSettings.scenes.Where(scene => scene.enabled).Select(scene => scene.path).ToArray();
    }
}
```
@unitycoder

Copy link
Copy Markdown
Owner

@unitycoder

unitycoder commented Aug 24, 2025

Copy link
Copy Markdown
Owner

@unitycoder
unitycoder merged commit f90e8ac into unitycoder:master Aug 30, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants