|
@@ -1,205 +0,0 @@
|
|
|
-.. _doc_uploading_to_assetlib:
|
|
|
-
|
|
|
-Submitting to the Asset Library
|
|
|
-===============================
|
|
|
-
|
|
|
-Introduction
|
|
|
-------------
|
|
|
-
|
|
|
-This tutorial aims to serve as a guide on how you can submit your own assets
|
|
|
-to the Godot Asset Library and share them with the Godot community.
|
|
|
-
|
|
|
-As mentioned in the :ref:`doc_using_assetlib` document, in order to be able to
|
|
|
-submit assets to the AssetLib, you need to have a registered account, and be
|
|
|
-logged in.
|
|
|
-
|
|
|
-Submission guidelines
|
|
|
----------------------
|
|
|
-
|
|
|
-Before submitting your asset, please ensure it follows all of the
|
|
|
-requirements, and also consider following the recommendations.
|
|
|
-
|
|
|
-Requirements
|
|
|
-~~~~~~~~~~~~
|
|
|
-
|
|
|
-Generally speaking, most assets people submit to the asset library
|
|
|
-are accepted. However, in order for your asset to be accepted, there
|
|
|
-are a few requirements your asset needs to meet to be approved.
|
|
|
-
|
|
|
-* The asset must **work**. If the asset doesn't run or otherwise doesn't
|
|
|
- work in the specified Godot version, then it will be rejected.
|
|
|
-
|
|
|
-* The asset must have a proper **.gitignore** file. It's important to
|
|
|
- keep redundant data out of the repository.
|
|
|
- `Here's a template. <https://raw.githubusercontent.com/aaronfranke/gitignore/godot/Godot.gitignore>`_
|
|
|
-
|
|
|
-* No **submodules**, or any submodules must be non-essential. GitHub
|
|
|
- does not include submodules in the downloaded ZIP file, so if the
|
|
|
- asset needs the contents of the submodule, your asset won't work.
|
|
|
-
|
|
|
-* The **license** needs to be correct. The license listed on the asset
|
|
|
- library must match the license in the repository. The repo MUST
|
|
|
- have a license file, called either "LICENSE" or "LICENSE.md".
|
|
|
- This file must contain the license text itself and a copyright
|
|
|
- statement that includes the year(s) and copyright holder.
|
|
|
-
|
|
|
-* Use proper **English** for the name and description of your asset.
|
|
|
- This includes using correct capitalization, and using full
|
|
|
- sentences in the description. You can also include other languages,
|
|
|
- but there should at least be an English version.
|
|
|
-
|
|
|
-* The icon link must be a **direct link**. For icons hosted on GitHub, the
|
|
|
- link must start with "raw.githubusercontent.com", not "github.com".
|
|
|
-
|
|
|
-Recommendations
|
|
|
-~~~~~~~~~~~~~~~
|
|
|
-
|
|
|
-These things are not required for your asset to be approved, but
|
|
|
-if you follow these recommendations, you can help make the asset
|
|
|
-library a better place for all users.
|
|
|
-
|
|
|
-* Fix or suppress all script **warnings**. The warning system is there to
|
|
|
- help identify issues with your code, but people using your asset
|
|
|
- don't need to see them.
|
|
|
-
|
|
|
-* Make your code conform to the official **style guides**. Having a
|
|
|
- consistent style helps other people read your code, and it also helps
|
|
|
- if other people wish to contribute to your asset. See: the
|
|
|
- :ref:`doc_gdscript_styleguide` or the :ref:`doc_c_sharp_styleguide`.
|
|
|
-
|
|
|
-* If you have screenshots in your repo, place them in their own subfolder
|
|
|
- and add an empty **.gdignore** file in the same folder (note: **gd**, not **git**).
|
|
|
- This prevents Godot from importing your screenshots.
|
|
|
- On Windows, open a command prompt in the project folder and run
|
|
|
- ``type nul > .gdignore`` to create a file whose name starts with a period.
|
|
|
-
|
|
|
-* If your asset is a library for working with other files,
|
|
|
- consider including **example files** in the asset.
|
|
|
-
|
|
|
-* Consider adding a **.gitattributes** file to your repo. This file allows
|
|
|
- giving extra instructions to Git, such as specifying line endings and listing
|
|
|
- files not required for your asset to function with the ``export-ignore``
|
|
|
- directive. This directive removes such files from the resulting ZIP file
|
|
|
- and prevents them from being downloaded by the asset library users.
|
|
|
- For a typical plugin **.gitattributes** may look like this:
|
|
|
-
|
|
|
- .. code-block:: none
|
|
|
-
|
|
|
- # Normalize EOL for all files that Git considers text files.
|
|
|
- * text=auto eol=lf
|
|
|
-
|
|
|
- # Ignore some files when exporting to a ZIP.
|
|
|
- /.gitattributes export-ignore
|
|
|
- /.gitignore export-ignore
|
|
|
- /LICENSE export-ignore
|
|
|
- /LICENSE.md export-ignore
|
|
|
- /README.md export-ignore
|
|
|
- /project.godot export-ignore
|
|
|
- /icon.png export-ignore
|
|
|
- /icon.svg export-ignore
|
|
|
-
|
|
|
- Other types of assets may require a different configuration (e.g.
|
|
|
- a project template requires **project.godot**).
|
|
|
-
|
|
|
-* If you are submitting a plugin, add a **copy** of your license and readme
|
|
|
- to the plugin folder itself. This is the folder that users are guaranteed to
|
|
|
- keep with their project, so a copy ensures they always have those files handy
|
|
|
- (and helps them fulfill your licensing terms).
|
|
|
-
|
|
|
-* The **icon** should be a square, its aspect ratio should be 1:1. It should
|
|
|
- also ideally have a minimum resolution of 64x64 pixels.
|
|
|
-
|
|
|
-* While the asset library allows more than just GitHub, consider
|
|
|
- hosting your asset's source code on **GitHub**. Other services may not
|
|
|
- work reliably, and a lack of familiarity can be a barrier to contributors.
|
|
|
-
|
|
|
-Submitting
|
|
|
-----------
|
|
|
-
|
|
|
-Once you are logged in, you will be able to head over to the "Submit Assets" page
|
|
|
-of the AssetLib, which will look like this:
|
|
|
-
|
|
|
-|image0|
|
|
|
-
|
|
|
-While it may look like a lot (and there is more as you scroll down), each field is
|
|
|
-described in terms of what you should put in. We will nonetheless go over what
|
|
|
-is required in the submission form here as well.
|
|
|
-
|
|
|
-* **Asset Name**:
|
|
|
- The name of your asset. Should be a unique, descriptive title of
|
|
|
- what your asset is.
|
|
|
-* **Category**:
|
|
|
- The category that your asset belongs to, and will be shown in
|
|
|
- search results. The category is split into **Addons** and **Projects**.
|
|
|
- In-editor, assets of the Project type (Templates, Demos, Projects) only show
|
|
|
- up when viewing the AssetLib from the Project Manager, while assets of the
|
|
|
- Addon type will only be visible from inside a project.
|
|
|
-* **Godot version**:
|
|
|
- The version of the engine that the asset works with.
|
|
|
- Currently, it's not possible to have a single asset entry contain downloads for
|
|
|
- multiple engine versions, so you may need to re-submit the asset multiple times,
|
|
|
- with an entry for each Godot version it supports. This is particularly important
|
|
|
- when dealing with major versions of the engine, such as Godot 2.x and Godot 3.x.
|
|
|
-* **Version**:
|
|
|
- The version number of the asset. While you are free to choose
|
|
|
- and use any versioning scheme that you like, you may want to look into
|
|
|
- something such as `SemVer <https://semver.org>`_ if you want your asset's
|
|
|
- versioning scheme to be clear and consistent. Note that there is also an
|
|
|
- internal version number, incremented every time the asset download URL is
|
|
|
- changed or updated.
|
|
|
-* **Repository host**:
|
|
|
- Assets uploaded to the AssetLib are not hosted on it
|
|
|
- directly. Instead, they point to repositories hosted on third-party Git providers,
|
|
|
- such as GitHub, GitLab or Bitbucket. This is where you choose which provider
|
|
|
- your asset uses, so the site can compute the final download link.
|
|
|
-* **Repository URL**:
|
|
|
- The URL to your asset's files/webpage. This will vary
|
|
|
- based on your choice of provider, but it should look similar to `https://github.com/<user>/<project>`.
|
|
|
-* **Issues URL**:
|
|
|
- The URL to your asset's issue tracker. Again, this will differ
|
|
|
- from repository host to repository host, but will likely look similar to
|
|
|
- `https://github.com/<user>/<project>/issues`. You may leave this field empty
|
|
|
- if you use your provider's issue tracker, and it's part of the same repository.
|
|
|
-* **Download Commit**:
|
|
|
- The commit of the asset. For example,
|
|
|
- `b1d3172f89b86e52465a74f63a74ac84c491d3e1`. The site computes
|
|
|
- the actual download URL from this.
|
|
|
-* **Icon URL**:
|
|
|
- The URL to your asset's icon (which will be used as a thumbnail
|
|
|
- in the AssetLib search results and on the asset's page). Should be an image
|
|
|
- in either the PNG or JPG format.
|
|
|
-* **License**:
|
|
|
- The license under which you are distributing the asset. The list
|
|
|
- includes a variety of free and open-source software licenses, such as GPL
|
|
|
- (v2 and v3), MIT, BSD and Boost Software License. You can visit `OpenSource.org <https://opensource.org>`_
|
|
|
- for a detailed description of each of the listed licenses.
|
|
|
-* **Description**:
|
|
|
- Finally, you can use the Description field for a textual
|
|
|
- overview of your asset, its features and behavior, a changelog, et cetera. In the
|
|
|
- future, formatting with Markdown will be supported, but currently, your only
|
|
|
- option is plain text.
|
|
|
-
|
|
|
-You may also include up to three video and/or image previews, which will be shown
|
|
|
-at the bottom of the asset page. Use the "Enable" checkbox on each of the preview
|
|
|
-submission boxes to enable them.
|
|
|
-
|
|
|
-* **Type**:
|
|
|
- Either an image, or a video.
|
|
|
-* **Image/YouTube URL**:
|
|
|
- Either a link to the image, or to a video, hosted on YouTube.
|
|
|
-* **Thumbnail URL**:
|
|
|
- A URL to an image that will be used as a thumbnail for the
|
|
|
- preview. This option will be removed eventually, and thumbnails will be automatically
|
|
|
- computed instead.
|
|
|
-
|
|
|
-Once you are done, hit Submit. Your asset will be entered into the pending queue,
|
|
|
-which you can visit on the AssetLib `here <https://godotengine.org/asset-library/asset/edit?&asset=-1>`_ . The approval process is manual and may
|
|
|
-take up to a few days for your addon to be accepted (or rejected), so please
|
|
|
-be patient! You will be informed when your asset is reviewed. If it was rejected,
|
|
|
-you will be told why that may have been, and you will be able to submit it again
|
|
|
-with the appropriate changes.
|
|
|
-You may have some luck accelerating the approval process by messaging the
|
|
|
-moderators/assetlib reviewers on the `Godot Contributors Chat <https://chat.godotengine.org/>`_'s
|
|
|
-``#general`` channel or the official Discord server.
|
|
|
-
|
|
|
-.. |image0| image:: img/assetlib_submit.png
|