Preparing Add-Ons for PublishingOn Add-On Store, you can only upload UPACKAGE files created using UNIGINE Editor.
The add-on package you are going to add should comply with the requirements listed below, otherwise it will be declined by UNIGINE moderators. Naming ConventionPackage NameThe package file is named automatically based on the data you enter when creating the add-on. Therefore you can upload a UPACKAGE file with any name. Binary NameBinary name should contain the <DeveloperName><PluginName> line and the following indications:
Binaries for Linux also have the lib prefix. Thus, the general name structure is as follows: Windows: <DeveloperName><PluginName>_plugin_double_x64d.dll Linux: lib<DeveloperName><PluginName>_plugin_double_x64d.so Sample on either OS: <AddonName>_double_x64d.exe Here are some examples: For Windows
For Linux
Samples
Folder StructureThe add-on can contain binaries, source files, content files, or their combination. Therefore, files inside the package should be located in the following folders depending on their type:
This would help customers easily find the added package assets inside their project. The above folder structure represents an exhaustive set of folders. Add only the folders that are necessary for your package.
The best practice is to create the corresponding folder at the development stage and collect all required files there. Plugin Compilation Recommendations
On Windows:
On Linux:
Preparing ContentIf your add-on only contains 3D models, textures, materials, nodes, C# components or anything else that refers to assets, these files should be located in the project data/<DeveloperNameAddonName>/ folder. The content used by the plugin should be located in the project data/plugins/<DeveloperName>/<PluginName>/ folder. The UPACKAGE file to be uploaded as an add-on is created from this folder as described here. Preparing Binaries
Preparing Source CodeC# components are stored in the data/ folder.
Source code files should be located in the corresponding folders. For example, the plugin-related files should be in the following folders:
The sample-related files should be stored in the corresponding <DeveloperNameAddonName>/ folders:
Other files (if any) are located similarly in the corresponding folders. Preparing a complex package (contains code, binaries, and content)The complex package containing various types of files must follow the folder layout.
Creating the PackageThe add-on is provided as a *.upackage file created via UNIGINE Editor as follows.
Content Requirements
FAQQuestion: What can be uploaded to the Add-On Store?
Answer: In short, anything that can help users make their project on UNIGINE. More specifically:
Question: Can I make a 3D model on 2.17 and specify that it is compatible with 2.18 ?
Answer: Content can be automatically migrated in UnigineEditor, but we recommend updating the content packages for every major SDK version. This will allow improving the add-on appearance using the new engine functionality. Question: Can I make an add-on on 2.17 and specify that it is compatible with 2.16 ?
Answer: There is no backward migration. You can only upgrade an add-on to a higher SDK version. Question: Which SDK version should I use to create the graphic content that is compatible with all possible versions?
Answer: It is impossible to have an add-on compatible with all versions. The add-on should have at least the same major version. Question: How should I add an engine plugin or an editor plugin with different precisions?
Answer: A common practice in UNIGINE is to use the corresponding postfix in the name of the executable file. The name can be set at the build stage, for example DeveloperNamePluginName.dll for float precision and DeveloperNamePluginName_double.dll for double precision. Question: I am an artist. How should I prepare the art content add-on?
Answer: Check this section. Question: Can I create an add-on that contains a plugin and art content?
Answer: Yes, the creation process is described here. Question: I have a library/framework for game logic/physics. Do I have to make an engine plugin to use this library in the user app?
Answer: This is up to you to decide how you are going to provide your add-on to users. Question: How long will my add-on versions be stored on the Add-On Store?
Answer: At the moment this period is not limited, any changes will be delivered as a part of changes in the User Agreement. Question: Where should I add legal information (3-party libraries, disclaimers, etc.)?
Answer: In the add-on description and/or in the docs/plugins/DeveloperName/PluginName/ folder inside the package. Question: Can I upload sources of the engine plugin or editor plugin?
Answer: Yes, if there is no copyright infringement. Question: How can I provide a demo/trial version of the add-on to the end user?
Answer: At the moment there is no built-in function. As a workaround, you can publish two different add-ons: one is a free demo version and another is a paid full-functioning add-on (for example “Add-On Name (Demo)” and “Add-On Name”). Question: How can I receive the user feedback?
Answer: Currently the feedback option is unavailable, but we are working on it. Question: Can I create an add-on from a free third-party item and sell it?
Answer: Yes, if there is no license violation. If a third-party license does not allow selling but allows distributing it for free, then you can upload the add-on to the Add-On Store for free with examples of integration into a custom application. Question: Is there any charge for the storage of uploaded add-ons?
Answer: At the moment there's no charging. Any changes will be delivered as a part of changes in the User Agreement. |
What's on This Page:
|