Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEditor;
- using UnityEngine;
- using UnityEditor.Build.Reporting;
- using UnityEditor.AddressableAssets.Settings;
- // Output the build size or a failure depending on BuildPlayer.
- public class ShivaBuild : MonoBehaviour {
- [MenuItem("Build/Increment Build Numbers")]
- public static void IncrementNumbers(){
- if (!int.TryParse(PlayerSettings.iOS.buildNumber, out var x))
- x = 0;
- x = System.Math.Max(x,PlayerSettings.Android.bundleVersionCode);
- x++;
- Debug.Log($"New Build Number: {x}");
- PlayerSettings.Android.bundleVersionCode = x;
- PlayerSettings.iOS.buildNumber = x.ToString();
- }
- #if UNITY_ANDROID
- public static void PreBuild(){
- Ludiq.AotPreBuilder.PreCloudBuild();
- AddressableAssetSettings.CleanPlayerContent();
- AddressableAssetSettings.BuildPlayerContent();
- }
- public static void PostBuild (string path)
- {
- }
- [MenuItem("Build/Build Android")]
- public static void MyBuild() {
- PreBuild();
- BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions();
- buildPlayerOptions.scenes = new[] { "Assets/Prism/Scenes/Landing.unity", "Assets/Prism/Scenes/Menu.unity", "Assets/Prism/Scenes/ARCAM.unity" };
- buildPlayerOptions.locationPathName = $"Builds/Android/Shiva/{Application.productName} {Application.version} ({PlayerSettings.Android.bundleVersionCode})" ;
- buildPlayerOptions.target = BuildTarget.Android;
- buildPlayerOptions.options = BuildOptions.None;
- BuildReport report = BuildPipeline.BuildPlayer(buildPlayerOptions);
- BuildSummary summary = report.summary;
- if (summary.result == BuildResult.Succeeded) {
- BuildSucceeded(summary);
- }
- if (summary.result == BuildResult.Failed) {
- BuildFailed(summary);
- }
- PostBuild(summary.outputPath);
- }
- public static void BuildSucceeded(BuildSummary summary) {
- Debug.Log("Build succeeded: " + summary.totalSize + " bytes");
- }
- public static void BuildFailed(BuildSummary summary) {
- Debug.LogError("Build failed");
- }
- #endif
- #if UNITY_IOS
- public static void PreBuild(){
- Ludiq.AotPreBuilder.PreCloudBuild();
- AddressableAssetSettings.CleanPlayerContent();
- AddressableAssetSettings.BuildPlayerContent();
- PlayerSettings.muteOtherAudioSources = true;
- }
- public static void PostBuild (string path)
- {
- }
- [MenuItem("Build/Build iOS")]
- public static void MyBuild() {
- PreBuild();
- BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions();
- buildPlayerOptions.scenes = new[] { "Assets/Prism/Scenes/Landing.unity", "Assets/Prism/Scenes/Menu.unity", "Assets/Prism/Scenes/ARCAM.unity" };
- buildPlayerOptions.locationPathName = $"Builds/iOS/Shiva/{Application.productName} {Application.version} ({PlayerSettings.Android.bundleVersionCode})" ;
- buildPlayerOptions.target = BuildTarget.iOS;
- buildPlayerOptions.options = BuildOptions.None;
- BuildReport report = BuildPipeline.BuildPlayer(buildPlayerOptions);
- BuildSummary summary = report.summary;
- if (summary.result == BuildResult.Succeeded) {
- BuildSucceeded(summary);
- }
- if (summary.result == BuildResult.Failed) {
- BuildFailed(summary);
- }
- PostBuild(summary.outputPath);
- }
- public static void BuildSucceeded(BuildSummary summary) {
- Debug.Log("Build succeeded: " + summary.totalSize + " bytes");
- }
- public static void BuildFailed(BuildSummary summary) {
- Debug.LogError("Build failed");
- }
- #endif
- }
Advertisement
Add Comment
Please, Sign In to add comment