Last week, I uploaded a plugin I had previously written, ExortNavigation, to the Unreal Marketplace. I familiarized myself with the submission process for UE code plugins and would like to document it here.
First, log in to the UE4 Marketplace, and navigate to Personal-Marketplace Seller. You will see the following content:
Click GET STARTED
to access Epic’s Marketplace Publisher Portal.
After clicking the ADD PRODUCT
button in the upper right corner, you will need to fill out the information required for your product listing.
You will be asked to provide images in several sizes for resource display:
- GALLERY: Images displayed on the resource homepage, required size is
1920x1080
, 1–25 images; - THUMBNAIL: Resource thumbnail displayed on the navigation page, required size is
284x284
; - FEATURED IMAGE: Image displayed on the homepage, required size is
894x488
;
Next is the PRODUCT INFORMATION section, which contains information about the resource being listed, such as name, price, type, and so on.
- PRODUCT TITLE: The name of the resource;
- PRICE: The price, with no option to enter manually; a list of prices from Free to $699.99 is provided.
- CATEGORY: The type of resource being listed, with supported options in the list below. Since I am listing a CodePlugin, the subsequent content might be a bit different.
- THIRD PARTY SOFTWARE USAGE: After selecting CodePlugin, this option appears. Depending on your resource’s situation, choose whether there are third-party dependencies. It is important to note: any third-party dependencies under GPL/LGPL/EPL/MSPL License are not allowed in the marketplace.
- TAGS: Keywords for resource description; these keywords will match during searches in the marketplace.
- SHORT DESCRIPTION: A brief description of the resource on the marketplace page.
The SHORT DESCRIPTION for the plugin I uploaded is: Export Recast navigation data from UE4.
- LONG DESCRIPTION: The content under the
Description
on the marketplace resource page.
The LONG DESCRIPTION for my plugin is:
This is a Unreal Engine 4 Plugin that exports ue4 navigation mesh data (recast mesh) to outside.
With this plugin, you can export recast Navigation data directly from the UE without going through RecastDemo. Of course, I also kept the export recast navmesh.
- TECHNICAL INFORMATION: A description of the technologies used in the plugin, requiring you to list the resource features and module information, as well as supported platforms.
Note that after I submit the CodePlugin, Epic will review it and request documentation and sample projects for the plugin. Both of these parts need to be provided under TECHNICAL INFORMATION.
- PROJECT VERSIONS: The version of the submitted resource, including each resource version and supported engine versions. The resource submission method is to package the resource into a zip file and create an external link (you can use OneDrive or Dropbox).
It is important to note that the supported platforms selected in PROJECT VERSIONS must match what is written in TECHNICAL INFORMATION, or you will be required to modify it.
You can then save and preview your submission. The SUBMIT FOR APPROVAL button in the lower right corner allows you to submit for review.
The above outlines the steps for submitting resources to the Unreal Marketplace. Now I will discuss some content requirements for listing on the marketplace. This section is roughly described in the Marketplace Guidelines. Below are some issues I encountered when submitting the CodePlugin.
Requirements for CodePlugin:
- The uplugin must include the engine version;
- The
WhitelistPlatforms
for the module in the uplugin must be consistent with what was previously filled out on the website; - The
MarketplaceURL
information must be filled out in the uplugin, and they will send an email during the review to indicate what needs to be filled; - CodePlugin must provide documentation, with a download link included in TECHNICAL INFORMATION;
- Dependencies in the plugin must be explicitly included in
build.cs
(in usage projects, dependencies of Public modules are recursive, but this is not the case during review); - All code header files must include copyright information;
- All unnecessary code files must be deleted;
- Potentially malicious code will be detected; I used Hack code written to access private class members, which failed the review;
- The header files included in the code must specify the full relative path (whether from the engine or the plugin itself);
- Blueprint-accessible functions must specify a
Category
; - Unused files (such as exe) must be deleted;
If there are content modifications required, Epic will send an email similar to the one below:
The attachment describes what needs to be modified:
After making the indicated modifications, you can resubmit for review. Due to time differences, you might receive emails late at night.
Once all the issues raised during their review have been resolved, you will receive an email informing you that your submission has been approved, and you can publish the testing download.
In the Marketplace Publisher Portal, you can choose to hide the release; it will not be visible externally, but the publishing account can test the download via EpicGamesLauncher.
Open EpicGamesLauncher, and you can find the plugin downloaded:
Once you install it to the engine and confirm that there are no issues with testing functionality, you can officially publish it. Resources published afterward will be displayed in the Unreal Marketplace’s NEW RELEASES.
Conclusion: The review process for UE’s code plugins is quite strict. Often, even if it compiles locally, submission will prompt modifications. It’s important to develop good coding habits regularly.