mirror of
https://github.com/stan220/godot-docs.git
synced 2026-09-08 19:29:06 +00:00
Merge pull request #6103 from Calinou/making-plugins-register-autoload
Document registering an autoload when an editor plugin is enabled
This commit is contained in:
@@ -399,3 +399,35 @@ C++ modules.
|
||||
You can make your own plugins to help yourself and share them in the
|
||||
`Asset Library <https://godotengine.org/asset-library/>`_ so that people
|
||||
can benefit from your work.
|
||||
|
||||
.. _doc_making_plugins_autoload:
|
||||
|
||||
Registering autoloads/singletons in plugins
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
It is possible for editor plugins to automatically register
|
||||
:ref:`autoloads <doc_singletons_autoload>` when the plugin is enabled.
|
||||
This also includes unregistering the autoload when the plugin is disabled.
|
||||
|
||||
This makes setting up plugins faster for users, as they no longer have to manually
|
||||
add autoloads to their project settings if your editor plugin requires the use of
|
||||
an autoload.
|
||||
|
||||
Use the following code to register a singleton from an editor plugin:
|
||||
|
||||
::
|
||||
|
||||
@tool
|
||||
extends EditorPlugin
|
||||
|
||||
# Replace this value with a PascalCase autoload name, as per the GDScript style guide.
|
||||
const AUTOLOAD_NAME = "SomeAutoload"
|
||||
|
||||
|
||||
func _enter_tree():
|
||||
# The autoload can be a scene or script file.
|
||||
add_autoload_singleton(AUTOLOAD_NAME, "res://addons/my_addon/some_autoload.tscn")
|
||||
|
||||
|
||||
func _exit_tree():
|
||||
remove_autoload_singleton(AUTOLOAD_NAME)
|
||||
|
||||
@@ -40,6 +40,12 @@ Autoloading nodes and scripts can give us these characteristics.
|
||||
Godot won't make an AutoLoad a "true" singleton as per the singleton design
|
||||
pattern. It may still be instanced more than once by the user if desired.
|
||||
|
||||
.. tip::
|
||||
|
||||
If you're creating an autoload as part of an editor plugin, consider
|
||||
:ref:`registering it automatically in the Project Settings <doc_making_plugins_autoload>`
|
||||
when the plugin is enabled.
|
||||
|
||||
AutoLoad
|
||||
--------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user