Skip to content

Commit

Permalink
Fix getting and settings defines in Unity 2023+
Browse files Browse the repository at this point in the history
  • Loading branch information
arimger committed Dec 28, 2023
1 parent 193cfac commit 3106329
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions Assets/Editor Toolbox/Editor/Utilities/ScriptingUtility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,32 @@
using System.Linq;

using UnityEditor;
using UnityEditor.Build;

namespace Toolbox.Editor
{
public static class ScriptingUtility
{
public static List<string> GetDefines()
{
#if UNITY_2023_1_OR_NEWER
var target = NamedBuildTarget.FromBuildTargetGroup(EditorUserBuildSettings.selectedBuildTargetGroup);
var defines = PlayerSettings.GetScriptingDefineSymbols(target);
#else
var defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup);
#endif
return defines.Split(';').ToList();
}

public static void SetDefines(List<string> definesList)
{
var defines = string.Join(";", definesList.ToArray());
#if UNITY_2023_1_OR_NEWER
var target = NamedBuildTarget.FromBuildTargetGroup(EditorUserBuildSettings.selectedBuildTargetGroup);
PlayerSettings.SetScriptingDefineSymbols(target, defines);
#else
PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, defines);
#endif
}

public static void AppendDefine(string define)
Expand Down

0 comments on commit 3106329

Please sign in to comment.