diff --git a/community/asset_store/faq.rst b/community/asset_store/faq.rst new file mode 100644 index 000000000..d206f4838 --- /dev/null +++ b/community/asset_store/faq.rst @@ -0,0 +1,86 @@ +.. _doc_submitting_to_assetstore_faq: + +Frequently asked questions +========================== + +General store questions +----------------------- + +I found a bug in the store website, where do I report it? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Please report it in the `asset store tracker repository `_. + +Is there anywhere I can suggest new features or improvements to the store itself? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Yes! Please open an issue in the `asset store tracker repository `_. + +How do I report an asset for theft/copyright infringement/malicious code? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +At the bottom of the assets page, below the panel on the right, there is a +"Flag This Asset" button. You **must** be logged in to use it. + +I can't find an addon I download before when this was the Asset Library, was everything old removed? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +While the Asset Store is the successor to the Asset Library, assets from there were +not moved over automatically. If you don't see it, the author didn't re-upload it. +For now, the `Asset Library website `_ +is still online, and you can download it there. + +Asset submission questions +-------------------------- + +Can I charge money for my assets? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Not currently, however that is planned and on the `roadmap `_. + +I consider my addon in the early alpha or beta stage of development, can I upload it? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Yes. You are allowed to upload your addon even if you feel it hasn't reached 1.0 +functionality. However we do ask that whatever releases you put on the store are +functional. For example, say you've only implemented 4 of your 10 features but those +4 do work (doesn't have to be bug free), that is functional. In comparison, an addon +that adds numerous buttons to the editor that don't do anything if you click on them +is non-functional. + +Can I link to a Patreon, Ko-Fi, or other 3rd party site to support development? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Yes. During the submission process you can set up a donate button to link to a +donation site. If you have multiple then you can link the others in the description. + +Can I submit an addon that only works in Godot 3? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Yes. + +I have an addon with a Godot 3 and Godot 4 version, do I submit it twice? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +That is what we recommend. Alternatively, you can submit it as a second version for +a single asset, however be aware that may cause confusion among users. + +Is there a size limit? +~~~~~~~~~~~~~~~~~~~~~~ + +Yes, a single version of an asset has a maximum size of 1GB. + +Can I upload AI generated assets or code? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Yes, however you must disclose what is AI generated, and how AI was used during the +creation process when submitting the asset. + +"AI" refers to any LLM/generative AI model like ChatGPT, Claude, Grok, etc., or any +other models that fulfill the same role. + +If you're altering something AI generated, or using something AI generated inside of +something created manually, that still counts and you must disclose it. For example, +if you AI generate an image, and then tweak it manually afterwards. Or if you AI +generate an image and put it inside a human created image, for example an AI +painting in a drawing of a room. diff --git a/community/asset_store/img/asset_store_asset.webp b/community/asset_store/img/asset_store_asset.webp new file mode 100644 index 000000000..c595f8d69 Binary files /dev/null and b/community/asset_store/img/asset_store_asset.webp differ diff --git a/community/asset_store/img/asset_store_editor.webp b/community/asset_store/img/asset_store_editor.webp new file mode 100644 index 000000000..f839c55a5 Binary files /dev/null and b/community/asset_store/img/asset_store_editor.webp differ diff --git a/community/asset_store/img/asset_store_editor_asset.webp b/community/asset_store/img/asset_store_editor_asset.webp new file mode 100644 index 000000000..90346534b Binary files /dev/null and b/community/asset_store/img/asset_store_editor_asset.webp differ diff --git a/community/asset_store/img/asset_store_editor_configure.webp b/community/asset_store/img/asset_store_editor_configure.webp new file mode 100644 index 000000000..6b5c35327 Binary files /dev/null and b/community/asset_store/img/asset_store_editor_configure.webp differ diff --git a/community/asset_store/img/asset_store_editor_installer_error.webp b/community/asset_store/img/asset_store_editor_installer_error.webp new file mode 100644 index 000000000..7d0b53d53 Binary files /dev/null and b/community/asset_store/img/asset_store_editor_installer_error.webp differ diff --git a/community/asset_store/img/asset_store_editor_installer_success.webp b/community/asset_store/img/asset_store_editor_installer_success.webp new file mode 100644 index 000000000..0f81361b1 Binary files /dev/null and b/community/asset_store/img/asset_store_editor_installer_success.webp differ diff --git a/community/asset_store/img/asset_store_editor_projects.webp b/community/asset_store/img/asset_store_editor_projects.webp new file mode 100644 index 000000000..63bf648b0 Binary files /dev/null and b/community/asset_store/img/asset_store_editor_projects.webp differ diff --git a/community/asset_store/img/asset_store_editor_workspace.webp b/community/asset_store/img/asset_store_editor_workspace.webp new file mode 100644 index 000000000..5175a7e21 Binary files /dev/null and b/community/asset_store/img/asset_store_editor_workspace.webp differ diff --git a/community/asset_store/img/asset_store_management.webp b/community/asset_store/img/asset_store_management.webp new file mode 100644 index 000000000..241f2a1cb Binary files /dev/null and b/community/asset_store/img/asset_store_management.webp differ diff --git a/community/asset_store/img/asset_store_search.webp b/community/asset_store/img/asset_store_search.webp new file mode 100644 index 000000000..7ece8e4eb Binary files /dev/null and b/community/asset_store/img/asset_store_search.webp differ diff --git a/community/asset_store/img/asset_store_submit.webp b/community/asset_store/img/asset_store_submit.webp new file mode 100644 index 000000000..a08368b53 Binary files /dev/null and b/community/asset_store/img/asset_store_submit.webp differ diff --git a/community/asset_store/img/asset_store_website.webp b/community/asset_store/img/asset_store_website.webp new file mode 100644 index 000000000..b9e080f97 Binary files /dev/null and b/community/asset_store/img/asset_store_website.webp differ diff --git a/community/asset_store/img/go_online.webp b/community/asset_store/img/go_online.webp new file mode 100644 index 000000000..f9570a150 Binary files /dev/null and b/community/asset_store/img/go_online.webp differ diff --git a/community/asset_store/img/login_button.webp b/community/asset_store/img/login_button.webp new file mode 100644 index 000000000..9e4ec4466 Binary files /dev/null and b/community/asset_store/img/login_button.webp differ diff --git a/community/asset_store/img/login_options.webp b/community/asset_store/img/login_options.webp new file mode 100644 index 000000000..9fcb68a6b Binary files /dev/null and b/community/asset_store/img/login_options.webp differ diff --git a/community/asset_store/index.rst b/community/asset_store/index.rst new file mode 100644 index 000000000..2b116ea2e --- /dev/null +++ b/community/asset_store/index.rst @@ -0,0 +1,14 @@ +:allow_comments: False + +Asset Store +=========== + +.. toctree:: + :maxdepth: 1 + :name: toc-learn-features-assetstore + + what_is_asset_store + using_asset_store_website + using_in_editor + submitting_to_asset_store + faq diff --git a/community/asset_store/submitting_to_asset_store.rst b/community/asset_store/submitting_to_asset_store.rst new file mode 100644 index 000000000..9e2ec29e1 --- /dev/null +++ b/community/asset_store/submitting_to_asset_store.rst @@ -0,0 +1,212 @@ +.. _doc_submitting_to_asset_store: + +Submitting to the Asset Store +============================= + +Introduction +------------ + +This tutorial aims to serve as a guide on how you can submit your own assets +to the `Godot Asset Store `_ +and share them with the Godot community. + +As mentioned in the :ref:`doc_using_asset_store_website` page, in order to be able to +submit assets to the Asset Store, 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 Store +are accepted. However, in order for your asset to be accepted, there +are a few requirements it 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. `_ + +* 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 + Store 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 +store a better place for all users. + +* When creating non-project assets, it is common practice to place your files + inside of an **addons/asset_name/** folder. Do this to avoid having your files + clash with other assets, or with the files of users installing your asset. + This folder will **not** be automatically generated when a user installs your asset. + +* 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, + preventing them from being downloaded by Asset Store users. + These are common examples of **.gitattributes**: + + .. tabs:: + + .. tab:: Projects / Templates + + .. code-block:: shell + + # Normalize line endings for all files that Git considers text files. + * text=auto eol=lf + + .. tab:: Addons / Asset Packs + + .. code-block:: shell + + # Normalize line endings for all files that Git considers text files. + * text=auto eol=lf + + # Only include the addons folder when downloading from the Asset Store. + /** export-ignore + /addons !export-ignore + /addons/** !export-ignore + +* 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). + +* While the Asset Store 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, click on **Upload Asset** on the top right of the website. +It will take you to the following page: + +.. image:: img/asset_store_submit.webp + +Here is a breakdown of each field: + +* **Publisher**: This is the public name associated with the asset. For example, the + XR Tools asset has the publisher "Godot XR". + +* **Publisher Name**: The name of the new publisher you are creating. + +* **Publisher URL Slug**: how the publisher will appear in its link. For example, + the XR Tools asset has the following URL: ``https://store.godotengine.org/asset/godot-xr/godot-xr-tools/`` + + The publisher URL Slug in that is "godot-xr". + +* **Asset Name**: The name of your asset. Should be a unique, descriptive title of + what your asset is. + +* **Asset URL**: How the asset will be named in its link. For example, + the XR Tools asset has the following URL: ``https://store.godotengine.org/asset/godot-xr/godot-xr-tools/`` + + The asset URL for that link is "godot-xr-tools". + +After filling out those fields, agree to the terms of service after reading them, +and click "Continue". You will be brought to the asset's management page, where +you can edit almost everything about how it will appear on the store, as well as +upload different versions. + +.. image:: img/asset_store_management.webp + +Management pages +---------------- + +Overview +~~~~~~~~ + +The overview tab lets you submit your asset for review. You can also view +analytics including how many times it's been downloaded, page visits, and the number +of people who have added it to their library. + +You can also delete the asset at the bottom of the page from this tab. + +Settings +~~~~~~~~ + +This tab is where you set up the following general information about your asset: + +* Asset Summary +* Detailed description +* Tags +* Asset type (Full Project or Addon) +* License +* Link to source code +* AI usage disclosure (This is **mandatory** if you use AI) + +Media +~~~~~ + +The media tab is where you upload your thumbnail, screenshots, an image for +the featured page if you want, and link to a YouTube video if you have one. + +Versions +~~~~~~~~ + +This is where you upload the actual asset files. For each version you upload you can +give it a name, write a changelog, and specify the minimum Godot version (and +maximum if applicable). There is also an additional information field for anything +miscellaneous. + +Each individual version has a maximum file size of 1GB. + +Pricing +~~~~~~~ + +While paid assets can't be uploaded yet, there are some settings relevant to free +assets. You can link to another website where you accept donations, such as Patreon +or Ko-Fi. You can also disable reviews if you want (in the future paid assets will +**not** have this option). + +Submitting for review +--------------------- + +Once you are done, press "Submit". Your asset will be entered into the review queue. +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. diff --git a/community/asset_store/using_asset_store_website.rst b/community/asset_store/using_asset_store_website.rst new file mode 100644 index 000000000..4db74d6ae --- /dev/null +++ b/community/asset_store/using_asset_store_website.rst @@ -0,0 +1,64 @@ +.. _doc_using_asset_store_website: + +Using the Asset Store Website +============================= + +Overview +~~~~~~~~ + +As mentioned before, you can access the web frontend of the Asset Store on +`Godot's official website `_. +This is what it looks like when you first visit it: + +.. image:: img/asset_store_website.webp + +Searching +~~~~~~~~~ + +The search bar at the top of the page can be used to find assets. You can either +type in the name of something specific you're looking for, or a tag such as ``2D``. + +.. image:: img/asset_store_search.webp + +Note that the search results are not updated in real-time, so you will have to +re-submit the search query each time you change the query settings. + +You can also click on any tag a project has to pull up a search of other assets with +that tag. + +Breakdown of an asset +~~~~~~~~~~~~~~~~~~~~~ + +Now let's take a look at what an asset's page looks like and what it contains. + +.. image:: img/asset_store_asset.webp + +You'll immediately notice media showing off the asset in the center of the screen. +Below that are 3 tabs, the description, changelog, and reviews. + +The panel on the left is where you'll find the asset author, tags, license, source +code link if applicable, download button, and the option to add it to your library +if you're logged in. + +If you are logged in, there will be a "Flag this Asset" button below this panel. Use +this to report the asset if there's an issue that may warrant removal, such as +copyright infringement, theft, or impersonation. This is **not** for bug reports +for the asset itself. + +Registering and logging in +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In order to upload assets to the Asset Store, leave reviews on assets, and report +assets, you need to login. You do **not** need to be logged in to browse and +download the assets. + +The login/registration page can be accessed from any page, just click the button on +the top right of the website, next to the "upload asset" button. + +.. image:: img/login_button.webp + +There are several options for logging in using other accounts you may already have, +such as GitHub and GitLab, or you can create a new account specifically for the +Asset Store. + +.. image:: img/login_options.webp diff --git a/community/asset_store/using_in_editor.rst b/community/asset_store/using_in_editor.rst new file mode 100644 index 000000000..7ad5ecd67 --- /dev/null +++ b/community/asset_store/using_in_editor.rst @@ -0,0 +1,73 @@ +.. _doc_using_asset_store_editor: + +Using the Asset Store in the Engine +=================================== + +Accessing it +------------ + +The Asset Store can be accessed from within Godot from the project manager. + +.. image:: img/asset_store_editor_projects.webp + +As well as within the editor. + +.. image:: img/asset_store_editor_workspace.webp + +The Project Manager's :button:`Asset Store` tab will only display assets that are +standalone projects. This is denoted on the Asset Store with the *Template* tag. + +The editor's :button:`Asset Store` tab will only display assets that are *not* standalone +projects. In other words, it will display assets from all categories except *Templates*. + +If this is the first time you've ever needed the engine to access the internet, +you'll need to click the :button:`Go Online` button. + +.. image:: img/go_online.webp + +Downloading and installing assets +--------------------------------- + +Click on an asset, and Godot will fetch info about it from the Asset Store. Once +it's finished, you will see a window similar to what the Asset Store website looks +like, with some differences: + +.. image:: img/asset_store_editor.webp + +Similarly to the web version of the Asset Store, here you can search for assets by +category or name, and sort them by things such as name or edit date. Unlike when +using the web frontend, the search results are updated in real-time (you do not have +to press :button:`Search` after every change to your search query for the changes to +take effect). + +When you click on an asset, you will see more information about it. + +.. image:: img/asset_store_editor_asset.webp + +If you click on the :button:`Download` button, Godot will fetch an archive of the asset, +and will track download progress of it at the bottom of the editor window. If +the download fails, you can retry it using the :button:`Retry` button. + +When it finishes downloading, the Configure Asset window will open automatically. + +.. image:: img/asset_store_editor_configure.webp + +Here you can see a list of all the files that will be installed. If you click on the +arrow on the top left, it will open a window where you can tick off any of the files +that you do not wish to install. Any files that can't be installed will be shown in +red, and hovering over them will show you a message stating why it cannot be +installed. + +.. image:: img/asset_store_editor_installer_error.webp + +Once you are done, you can press the :button:`Install` button, which will unzip all the +files in the archive, and import any assets contained in it, such as images or +3D models. Once this is done, you should see a message stating that the package +installation is complete. + +.. image:: img/asset_store_editor_installer_success.webp + +You may also use the :button:`Import` button to import asset archives obtained +elsewhere (such as downloading them directly from the Asset Store web frontend), +which will take you through the same package installation procedure as with the +assets downloaded directly via Godot that we just covered. diff --git a/community/asset_store/what_is_asset_store.rst b/community/asset_store/what_is_asset_store.rst new file mode 100644 index 000000000..4066642bb --- /dev/null +++ b/community/asset_store/what_is_asset_store.rst @@ -0,0 +1,40 @@ +.. _doc_what_is_asset_store: + +About the Asset Store +======================= + +Overview +-------- + +The Godot Asset Store is a repository of user-submitted Godot addons, scripts, +tools, and other resources, collectively referred to as assets. They're available +for download to all Godot users directly from within the engine, but can also be +accessed at Godot's `official website `_. + +This set of pages will cover how to use the Asset Store (both from inside Godot, and +on the website), how you can submit your own assets, and what the guidelines for +submission are. + +Please note that the Asset Store is currently in beta. It may have various pain +points, bugs, and usability issues. The code for the store itself is currently +private, you can however submit bug reports and discuss new features `here `_. + +Types of assets +--------------- + +There are, broadly, two different types of assets you can post. + +* Assets labeled as "Templates" appear under the "Asset Store" tab in the Godot + Project Manager. These assets are standalone Godot projects that can run by + themselves. + +* Other assets show up inside the Godot editor under the "Asset Store" + main screen tab, next to "2D", "3D", and "Script". These assets are + meant to be downloaded and placed into an existing Godot project. + +The old Asset library +--------------------- + +The Asset Store is the successor to the Asset Library. For now the library remains +online and accessible. Assets have **not** been moved over to the new Asset Store +automatically. All authors must re-upload their assets to the new store. diff --git a/index.rst b/index.rst index f3e788552..0dd2ee7c8 100644 --- a/index.rst +++ b/index.rst @@ -224,6 +224,7 @@ the ``GodotEngine.epub`` file in an e-book reader application. :name: sec-community community/asset_library/index + community/asset_store/index community/channels community/tutorials