public override void PerBuildExecute(BuildReleaseType releaseType, BuildPlatform platform, BuildArchitecture architecture, BuildDistribution distribution, System.DateTime buildTime, ref BuildOptions options, string configKey, string buildPath) { string preBuildDefines = PlayerSettings.GetScriptingDefineSymbolsForGroup(platform.targetGroup); string defaultDefines = BuildProject.GenerateDefaultDefines(releaseType, platform, architecture, distribution); StringBuilder mergedDefines = new StringBuilder(BuildProject.MergeDefines(preBuildDefines, defaultDefines)); if (!string.IsNullOrEmpty(removeDefines)) { string resolvedRemove = BuildProject.ResolvePath(removeDefines, releaseType, platform, architecture, distribution, buildTime); string[] splitRemove = resolvedRemove.Split(';'); for (int i = 0; i < splitRemove.Length; i++) { mergedDefines.Replace(splitRemove[i] + ";", ""); mergedDefines.Replace(splitRemove[i], ""); } } if (!string.IsNullOrEmpty(addDefines)) { string resolvedAdd = BuildProject.ResolvePath(addDefines, releaseType, platform, architecture, distribution, buildTime); if (mergedDefines.Length > 0) { mergedDefines.Append(";"); } mergedDefines.Append(resolvedAdd); } PlayerSettings.SetScriptingDefineSymbolsForGroup(platform.targetGroup, mergedDefines.ToString()); }