Skip to content

Commit

Permalink
Adding build utils for quick building
Browse files Browse the repository at this point in the history
  • Loading branch information
ElasticSea committed Jun 2, 2021
1 parent ab3bbe0 commit 36f2dd1
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 0 deletions.
41 changes: 41 additions & 0 deletions Assets/_Project/Scripts/BuildUtils.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#if UNITY_EDITOR
using System.IO;
using System.Linq;
using UnityEditor;
using UnityEngine;

public static class BuildUtils
{
[MenuItem("Build/Windows64")]
public static void BuildWin64()
{
Build(BuildTargetGroup.Standalone, BuildTarget.StandaloneWindows64, $"{Application.productName}.exe");
}

private static void Build(BuildTargetGroup buildTargetGroup, BuildTarget buildTarget, string filename)
{
EditorUserBuildSettings.SwitchActiveBuildTarget(buildTargetGroup, buildTarget);

var scenes = from scene in EditorBuildSettings.scenes
where scene.enabled
select scene.path;

var directory = new DirectoryInfo($"Build/{buildTarget.ToString().ToLowerInvariant()}/{Application.productName}");
var buildPath = filename == null ? directory.FullName : Path.Combine(directory.FullName, filename);

BuildPipeline.BuildPlayer(scenes.ToArray(),buildPath, buildTarget, BuildOptions.None);

switch (buildTarget)
{
case BuildTarget.StandaloneWindows64:
var unityCrashHandlerFile = directory.EnumerateFiles("*.exe", SearchOption.AllDirectories)
.FirstOrDefault(f => f.FullName.ToLower().Contains("unitycrashhandler"));

unityCrashHandlerFile?.Delete();
break;
}

Application.OpenURL($"file://{directory.FullName}");
}
}
#endif
3 changes: 3 additions & 0 deletions Assets/_Project/Scripts/BuildUtils.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 36f2dd1

Please sign in to comment.