From 7418d60f24a605dabdb64418c140f8a2350f5b1c Mon Sep 17 00:00:00 2001 From: Chandler Cox Date: Sat, 5 Jul 2025 18:09:30 -0500 Subject: [PATCH] Add editor option for build configuration when using cook and run. --- Source/Editor/Options/GeneralOptions.cs | 6 ++++++ Source/Editor/Windows/GameCookerWindow.cs | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Source/Editor/Options/GeneralOptions.cs b/Source/Editor/Options/GeneralOptions.cs index 59fac7a63..23dc17733 100644 --- a/Source/Editor/Options/GeneralOptions.cs +++ b/Source/Editor/Options/GeneralOptions.cs @@ -127,6 +127,12 @@ namespace FlaxEditor.Options BuildAction.NavMesh, }; + /// + /// Gets or sets the build configuration to use when using Cook and Run option in the editor. + /// + [EditorDisplay("General"), EditorOrder(201), ExpandGroups, Tooltip("The build configuration to use when using Cook and Run option in the editor.")] + public BuildConfiguration CookAndRunBuildConfiguration { get; set; } = BuildConfiguration.Development; + /// /// Gets or sets a value indicating whether perform automatic scripts reload on main window focus. /// diff --git a/Source/Editor/Windows/GameCookerWindow.cs b/Source/Editor/Windows/GameCookerWindow.cs index 54aec19ab..cb0ab4c7a 100644 --- a/Source/Editor/Windows/GameCookerWindow.cs +++ b/Source/Editor/Windows/GameCookerWindow.cs @@ -976,6 +976,7 @@ namespace FlaxEditor.Windows Editor.Log("Building and running"); GameCooker.GetCurrentPlatform(out var platform, out var buildPlatform, out var buildConfiguration); var numberOfClients = Editor.Options.Options.Interface.NumberOfGameClientsToLaunch; + var buildConfig = Editor.Options.Options.General.CookAndRunBuildConfiguration; for (int i = 0; i < numberOfClients; i++) { var buildOptions = BuildOptions.AutoRun; @@ -988,7 +989,7 @@ namespace FlaxEditor.Windows { Output = _buildTabProxy.PerPlatformOptions[platform].Output, Platform = buildPlatform, - Mode = buildConfiguration, + Mode = buildConfig, }, Options = buildOptions, }); @@ -1003,6 +1004,7 @@ namespace FlaxEditor.Windows Editor.Log("Running cooked build"); GameCooker.GetCurrentPlatform(out var platform, out var buildPlatform, out var buildConfiguration); var numberOfClients = Editor.Options.Options.Interface.NumberOfGameClientsToLaunch; + var buildConfig = Editor.Options.Options.General.CookAndRunBuildConfiguration; for (int i = 0; i < numberOfClients; i++) { _buildingQueue.Enqueue(new QueueItem @@ -1011,7 +1013,7 @@ namespace FlaxEditor.Windows { Output = _buildTabProxy.PerPlatformOptions[platform].Output, Platform = buildPlatform, - Mode = buildConfiguration, + Mode = buildConfig, }, Options = BuildOptions.AutoRun | BuildOptions.NoCook, });