Skip to content

Instantly share code, notes, and snippets.

@ShutovKS
Last active April 20, 2024 17:48
Show Gist options
  • Save ShutovKS/8c052bf4c7566bb87cfdd9ad5a0d0826 to your computer and use it in GitHub Desktop.
Save ShutovKS/8c052bf4c7566bb87cfdd9ad5a0d0826 to your computer and use it in GitHub Desktop.
Converter for Unity, BuildTargetGroup => BuildTarget & BuildTarget => BuildTargetGroup
using UnityEditor;
public static class BuildTargetConverter
{
public static BuildTarget ToBuildTarget(this BuildTargetGroup buildTargetGroup)
{
return buildTargetGroup switch
{
BuildTargetGroup.GameCoreXboxOne => BuildTarget.GameCoreXboxOne,
BuildTargetGroup.EmbeddedLinux => BuildTarget.EmbeddedLinux,
BuildTargetGroup.VisionOS => BuildTarget.VisionOS,
BuildTargetGroup.Android => BuildTarget.Android,
BuildTargetGroup.XboxOne => BuildTarget.XboxOne,
BuildTargetGroup.Switch => BuildTarget.Switch,
BuildTargetGroup.WSA => BuildTarget.WSAPlayer,
BuildTargetGroup.WebGL => BuildTarget.WebGL,
BuildTargetGroup.tvOS => BuildTarget.tvOS,
BuildTargetGroup.QNX => BuildTarget.QNX,
BuildTargetGroup.PS4 => BuildTarget.PS4,
BuildTargetGroup.PS5 => BuildTarget.PS5,
BuildTargetGroup.Unknown => BuildTarget.NoTarget,
BuildTargetGroup.Standalone => BuildTarget.NoTarget,
// Deprecated
BuildTargetGroup.PS3 => BuildTarget.PS3,
BuildTargetGroup.XBOX360 => BuildTarget.XBOX360,
BuildTargetGroup.WP8 => BuildTarget.WP8Player,
BuildTargetGroup.BlackBerry => BuildTarget.BlackBerry,
BuildTargetGroup.Tizen => BuildTarget.Tizen,
BuildTargetGroup.PSP2 => BuildTarget.PSP2,
BuildTargetGroup.PSM => BuildTarget.PSM,
BuildTargetGroup.SamsungTV => BuildTarget.SamsungTV,
BuildTargetGroup.N3DS => BuildTarget.N3DS,
BuildTargetGroup.WiiU => BuildTarget.WiiU,
BuildTargetGroup.Lumin => BuildTarget.Lumin,
BuildTargetGroup.Stadia => BuildTarget.Stadia,
BuildTargetGroup.CloudRendering => BuildTarget.CloudRendering,
BuildTargetGroup.GameCoreScarlett => BuildTarget.GameCoreScarlett,
BuildTargetGroup.Facebook => BuildTarget.NoTarget,
// Deprecated
// BuildTargetGroup.WebPlayer => BuildTarget.WebPlayer,
// BuildTargetGroup.iPhone => BuildTarget.iPhone,
_ => BuildTarget.NoTarget
};
}
}
using UnityEditor;
public static class BuildTargetGroupConverter
{
public static BuildTargetGroup ToBuildTargetGroup(this BuildTarget buildTarget)
{
return buildTarget switch
{
BuildTarget.StandaloneWindows64 => BuildTargetGroup.Standalone,
BuildTarget.StandaloneWindows => BuildTargetGroup.Standalone,
BuildTarget.StandaloneLinux64 => BuildTargetGroup.Standalone,
BuildTarget.StandaloneOSX => BuildTargetGroup.Standalone,
BuildTarget.Android => BuildTargetGroup.Android,
BuildTarget.iOS => BuildTargetGroup.iOS,
BuildTarget.WebGL => BuildTargetGroup.WebGL,
BuildTarget.PS5 => BuildTargetGroup.PS5,
BuildTarget.PS4 => BuildTargetGroup.PS4,
BuildTarget.GameCoreXboxOne => BuildTargetGroup.GameCoreXboxOne,
BuildTarget.XboxOne => BuildTargetGroup.XboxOne,
BuildTarget.tvOS => BuildTargetGroup.tvOS,
BuildTarget.Switch => BuildTargetGroup.Switch,
BuildTarget.EmbeddedLinux => BuildTargetGroup.EmbeddedLinux,
BuildTarget.VisionOS => BuildTargetGroup.VisionOS,
BuildTarget.WSAPlayer => BuildTargetGroup.WSA,
BuildTarget.QNX => BuildTargetGroup.QNX,
// Deprecated
BuildTarget.GameCoreScarlett => BuildTargetGroup.GameCoreScarlett,
BuildTarget.StandaloneLinuxUniversal => BuildTargetGroup.Standalone,
BuildTarget.StandaloneOSXIntel64 => BuildTargetGroup.Standalone,
BuildTarget.CloudRendering => BuildTargetGroup.CloudRendering,
BuildTarget.StandaloneOSXIntel => BuildTargetGroup.Standalone,
BuildTarget.StandaloneLinux => BuildTargetGroup.Standalone,
BuildTarget.BlackBerry => BuildTargetGroup.BlackBerry,
BuildTarget.SamsungTV => BuildTargetGroup.SamsungTV,
BuildTarget.XBOX360 => BuildTargetGroup.XBOX360,
BuildTarget.WP8Player => BuildTargetGroup.WP8,
BuildTarget.Stadia => BuildTargetGroup.Stadia,
BuildTarget.Lumin => BuildTargetGroup.Lumin,
BuildTarget.Tizen => BuildTargetGroup.Tizen,
BuildTarget.PSP2 => BuildTargetGroup.PSP2,
BuildTarget.N3DS => BuildTargetGroup.N3DS,
BuildTarget.WiiU => BuildTargetGroup.WiiU,
BuildTarget.PSM => BuildTargetGroup.PSM,
BuildTarget.PS3 => BuildTargetGroup.PS3,
// Deprecated
// BuildTarget.StandaloneOSXUniversal => BuildTargetGroup.Standalone,
// BuildTarget.WebPlayerStreamed => BuildTargetGroup.WebPlayer,
// BuildTarget.WebPlayer => BuildTargetGroup.WebPlayer,
// BuildTarget.iPhone => BuildTargetGroup.iOS,
BuildTarget.NoTarget => BuildTargetGroup.Unknown,
_ => BuildTargetGroup.Unknown
};
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment