虚幻商城发布插件指南
前段时间本人尝试发布自己写的插件到Market Place,因为每次审核会需要1~3天时间不等,所以在这里分享一下我的经验。
添加插件描述
- CreatedByURL:一般填写作者介绍的网址,github仓库与主页、blog、小蓝鸟都可以的。
- Description:对插件的简单描述。
- DocsURL:文档网址,这里我链接到自己的blog里的文章。也可以使用Github建的主页。
- MarketplaceURL:在点击Add Product后就会生成一个产品ID,之后将ID替换下面的URL即可。(比如我的产品地址为:https://publish.unrealengine.com/v3/edit-product/657c763ab2e244edbcca955eb81d8377)
- SupportURL:支持网址,一般会使用discord。
额外需要注意的就是模块白名单(黑名单),这个需要与发布页面的Supported Target Platforms对应。EPIC会在审查时进行构建测试,所以最好是对应平台编译测试通过添加此平台。
以下是我的插件描述仅供参考:
"CreatedByURL": "http://www.blueroses.top/",
"Description": "This plugin uses UnrealEngine's MeshDraw framework to achieve a multi-Pass effect looks like Unity's, with no post-processing required to achieve strokes and cutoff.",
"DocsURL": "http://www.blueroses.top/2022/05/02/multidraw-document/",
"MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/657c763ab2e244edbcca955eb81d8377",
"SupportURL": "https://discord.gg/y4fWqYsf4U",
"Modules": [
{
"Name": "MultiDraw",
"Type": "Runtime",
"LoadingPhase": "Default",
"WhitelistPlatforms": [ "Win64" ]
}
]
Code
给所有的代码文件都加上版权声明(模块cs、h、cpp文件都需要),例如我这里填写了:
// Copyright 2022 BlueRose, Inc. All Rights Reserved.
有一个技巧:在项目创建时,可以在Project-Description-Legal-CopyrightNotice里填写,之后创建新类都会自动加上版权信息。
Content
所有会被引用的二进制Asset都必须放置到插件的Content里,最后还需要使用Fix Up Redirectors In Folder对Redirector进行清理。
如果你有使用UE的ContentExample项目中的DemoRoom或者其他EPIC项目的资源,那就需要注意排查,将带有UnrealEngine、EPIC、UE4等Logo(标志、符号)的Texture与Materials都删除,不然系统检查会无法通过。
案例关卡的可以放在插件的Content里,但建议还是将其分离,前期可能会修改2~3次,再加上还需要构建其他版本的插件,如果将案例关卡内容放在插件里就会占用可观的网盘空间。
打包与构建测试
使用构建Bat来快速构建多个版本的插件压缩包文件。
“D:\UnrealEngine\UE_5.0\Engine\Build\BatchFiles\RunUAT.bat” BuildPlugin -Plugin=”D:\UnrealEngine\Project\MarketPlaceProject\Plugins\MultiDraw\MultiDraw.uplugin” -Package=”D:\UnrealEngine\Project\Plugins\MultiDraw\” -Rocket -VS2019
为了能看到Log我们可以使用:
cmd /k “xxxx.bat”
打包插件完成之后,上传之前把Binaries与Intermediate删除,压缩成zip格式上传到google或者onedriver之类的就可以了。
商城审核
商城审核失败后,会给你发送邮件,其附带的附件会显示失败的内容与原因:
本人因为没有经验修改了4次才搞定,一般审核时间在1~3天左右,所以建议在发布前对照一下这个表,再发布。
截图
画廊一般会放置截图,而且这些图片必须为1080p分辨率,所以本人这里使用了UE内置的截图功能:
https://docs.unrealengine.com/4.27/zh-CN/WorkingWithMedia/CapturingMedia/TakingScreenshots/
HighResShot filename=PATH (XxY OR Multiplier) CaptureX CaptureY CaptureW CaptureH bMaskUsingCustomDepth bDumpBufferVisualizationTargets bCaptureHDR bDateTimeAsFilename
- XxY:指定截图的尺寸(宽度x高度)。
- 乘数(Multiplier):根据指定的值放大截图尺寸。
- CaptureX CaptureY CaptureW CaptureH:用整数定义视口中要用于截图的区域。
- bMaskUsingCustomDepth:用一个布尔值(0或1)来控制是否要用自定义深度(Custom Depth)缓冲作为捕获的遮罩。详情请参见自定义深度遮罩。
- bDumpBufferVisualizationTargets:用一个布尔值(0或1)来控制是否要将GBuffer中的每一个通道都捕获为一张图片并将其导出。
- bCaptureHDR:用一个布尔值(0或1)来控制是否要使用.EXR文件格式来捕获HDR图片。
- bDateTimeAsFilename:用一个布尔值(0或1)来控制是否要在生成的文件名中加入时间戳。
因为展示需要1080p,所以我们只需要使用这个命令即可。
HighResShot 1920x1080
视频推荐
我推荐查看以下这3个视频:
Unreal Engine How To Sell Plugins #1: “Create Plugin”
https://www.youtube.com/watch?v=v3_HkAU_rls
Unreal Engine How To Sell Plugins #3: “PackagePlugin”
https://www.youtube.com/watch?v=SKArLiShb9c
Unreal Engine How To Sell Plugins #4: “Submitting Plugin for Approval”
https://www.youtube.com/watch?v=-6QYlGVRIkI
本人插件
想制作backface outline、Fur(没在插件中实现)等需要多Pass的功能的效果可以考虑使用我的插件:
https://www.unrealengine.com/marketplace/en-US/product/multidraw