Document "WhitelistPlatforms"

This is a documentation bug, but I am using Unreal 4.18.0 on mac.

In the “uplugin” file, under “Modules”, a module entry may have a “WhitelistPlatforms” key. It is a list of strings.

If I search google for “Unreal WhitelistPlatforms”, I find

If I search the official Unreal documentation for “WhitelistPlatforms”, I find

Which lists “whitelistplatforms” and “blacklistplatforms”.

None of these documentation pages for WhitelistPlatforms or BlacklistPlatforms explains what the accepted strings are.

This can cause real difficulty. The consequence of this is I was blocked for several days on a plugin project because I had misguessed the string for Mac OS X. I had opened a uplugin whose WhitelistPlatforms was “Win64”, “Win32”. I could not find a list of accepted platforms so I experimentally tried “Darwin”. Adding “Darwin” had the effect of causing Unreal to compile but not load the plugin; because it was compiling, I assumed I had guessed “Darwin” right and the loading problem was somewhere else. Oops :frowning: I tried a lot of different things and filed an Unreal Answer and wasted a lot of time before I heard secondhand that the correct string was “Mac”. If the documentation simply explained the string was “Mac” I would not have wasted this time.

Expected behavior: All three of the above links as well as the BlacklistPlatforms equivalents here and here should either include the list of accepted platform strings, or link to a page which contains the list of accepted platform strings.

Unreal is designed to target just about any platform. The platforms you can target are dynamically added to your project. So the list of acceptable values is dependant on your project as well. If you are using visual studio, these are the targets you have available to you.

Win64
PS4
XBoxOne
HTML5
Mac
IOS
Android
Linux

The list can go on and on. And new targets are added all the time.

AS of 4.19.2 this is the current list of supported platforms, taken from …/UE4/Engine/Source/Programs/UnrealBuildTool/Configuration/UEBuildTarget.cs

public enum UnrealTargetPlatform
{
	/// <summary>
	/// Unknown target platform
	/// </summary>
	Unknown,

	/// <summary>
	/// 32-bit Windows
	/// </summary>
	Win32,

	/// <summary>
	/// 64-bit Windows
	/// </summary>
	Win64,

	/// <summary>
	/// Mac
	/// </summary>
	Mac,

	/// <summary>
	/// XboxOne
	/// </summary>
	XboxOne,

	/// <summary>
	/// Playstation 4
	/// </summary>
	PS4,

	/// <summary>
	/// iOS
	/// </summary>
	IOS,

	/// <summary>
	/// Android
	/// </summary>
	Android,

	/// <summary>
	/// HTML5
	/// </summary>
	HTML5,

	/// <summary>
	/// Linux
	/// </summary>
	Linux,

	/// <summary>
	/// All desktop platforms
	/// </summary>
	AllDesktop,

	/// <summary>
	/// TVOS
	/// </summary>
	TVOS,

	/// <summary>
	/// Nintendo Switch
	/// </summary>
	Switch,
}

Hope this helps. The string should match the enumeration type name.