How to Package Plugins Using UE4 Marketplace C++ Coding Standard
Dear Community,
Here is the process you can use to package your plugin using Epic’s Clang compiling process that will automatically generate the binaries for you!
** is the process that UE4 Marketplace engineers use to prepare C++ plugins for world distribution!**
Again, the output of automation process is every packaged binary for every platform you have whitelisted (see below). It is an extremely handy tool!
Please note you should be sure to** specify your whitelist** to avoid having the automation tool trying to compile for platforms you dont/can’t support, especially true if you dont have the runtime installed on your computer.
is the same process I used in tandem with UE4 Marketplace engineers to get my Melee Plugin on the Marketplace. The CLang compiler is more rigorous than Visual Studio and so if process works for you, you are set!
**.Uplugin White List**
Here is my Victory Plugin .uplugin descriptor file:
```
{
"FileVersion" : 3,
"Version" : 1,
"VersionName" : "1.0",
"FriendlyName" : "Victory Plugin",
"Description" : "120+ Custom Blueprint Nodes For You! <3",
"Category" : "",
"CreatedBy" : "",
"CreatedByURL" : "http://www.",
"DocsURL" : "http://www.",
"MarketplaceURL" : "http://www.",
"SupportURL" : "http://www.",
"EnabledByDefault" : true,
"CanContainContent" : false,
"IsBetaVersion" : false,
"Installed" : true,
"RequiresBuildPlatform" : false,
"Modules" :
{
"Name" : "VictoryBPLibrary",
"Type" : "Runtime",
"LoadingPhase" : "PreDefault",
**"WhitelistPlatforms" :**
"Win64",
"Win32",
"HTML5"
]
}
]
}
```
The above is how you avoid getting errors when you are not trying to support android.
You could also specify Mac, Linux, or IOS or PS4 or XboxOne if you support those :)
The Batch File
JoyCompilePlugin.bat
@echo ~~~ Dont run in your project dir, IT DELETES EVERYTHING IN ITS PATH ~~~
@echo ~~~ Also make sure you are using the correct Engine version for RunUAT for your project ~~~
@echo ~~~ Enjoy! - ~~~
"C:\Program Files (x86)\Epic Games\**4.12**\Engine\Build\BatchFiles\RunUAT.bat" BuildPlugin -Plugin="C:\Users\\Documents\Unreal Projects\Sun\Plugins\VictoryPlugin\VictoryBPLibrary.uplugin" -Package="%CD%\PluginPackaged" -Rocket
You can create a text file and rename it to .bat, if windows doesnt complain about extension change and it stays as text make sure you have enabled showing of file extensions in windows. (google “windows show file extensions”)
**Extremely Important Major Look At First Please**
**Recommended Work Flow**
First I used tool it nuked my entire project because I specified output directory to be same place where my .uproject was located!
I recommend you do the following
1. Put my batch file above in its own subdirectory of your project, or somewhere completely different
2. Even then, specify a subdirectory of new directory, just to avoid your .bat file getting nuked.
3. Subdirectory can be specified as %CD%/subdir for ease of use.
****!!! Warning !!!****
I hope I have made it clear, do NOT run .bat file in the same directory as your .uproject, **your entire project will get nuked with no recycle bin hope of recovery! ( I know from experience ;) )**
So to be safe, simply dont ever run .bat file anywhere near your actual project!
**Safe Use Case**
Put my .bat file above here:
```
C:/NiceIsolatedUnusedDirectoryThatCanGetNuked
```
and then specify output directory:
```
C:/NiceIsolatedUnusedDirectoryThatCanGetNuked/output
```
Now when you run the .bat file you will get to keep the bat file, and your project!
:)
PS: I have to say loudly since is a public document and can be read/translated in many languages.
What is %CD% ?
will be translated as the current directory that you launched the .bat file from.
So if you store my batchfile here:
C:/MyStagingDir/JoyCompilePlugin.bat
then
%CD%/output
will turn into
C:/MyStagingDir/output
**How to see the output? The screen disappears?**
Dont run the .bat file from within windows explorer, instead
1. right click on the folder where you put the .bat file
2. hold down left shift
3. right click with shift held down
4. now you will see an additional option "Open Command Prompt here"
5. now run the bat file, type Joy and then press tab and it will auto complete
Now if you get any errors, the errors will stay visible to you!
Victory!
Now you can compile your plugin using the UE4 Marketplace C++ coding standard too!
Enjoy!
[FONT=Comic Sans MS]