Install Asset
Install via Godot
To maintain one source of truth, Godot Asset Library is just a mirror of the old asset library so you can download directly on Godot via the integrated asset library browser
Quick Information
An advanced tool to manage scenes and transitions between scenes.Features:**Recently Added**:1. Pause and Resume functions added2. Reactive button added which makes the Scene Manager UI reactive to changes on File System of godot and refreshes the Scene Manager UI automatically every time an update happens on files in res:// location3. Auto Save button added which saves automatically every time a new change found in Scene Manager UI + If Reactive is enabled too, after that mechanism, save gets called automatically so that there would be no need to use the save button at all**All**:1. A fully responsive tool menu structure to manage and categorize your scene2. Save button that saves all scenes in a dictionary3. Refresh button that refreshes the tool with latest saved status of the scenes4. List duplication check for keys5. Smooth transition between scenes6. Ignore folder feature in UI ignores all scenes inside that specific folder that you added in the ignore list7. Categorization for scenes8. Ignore folder section can hide optionally9. Change to previous scenes is possible10. Fully customizable transitions11. Customizable way of entering the first scene of the game12. Reset `Scene Manager` function to assume the current scene as the first ever seen scene (to ignore previous scenes and don't go back to them by changing scene to the previous scene)13. Arrangeable scene categories(they will reset to alphabetic order after refresh or save button pressed)14. Fade in and fade out with different desired patterns15. You can create instance of a scene just by calling the scene with a key16. Transition is so much customizable17. `SceneManager` tool will ignore scenes inside folders with `.gdignore` file beside them18. Loading scenes interactive is possible. (Loading scene code example added)19. Ability to limit how much deep scene manager is allowed to record previous scenes which affects in changing scene to `back`(previous scene) functionality20. Ability to hide scenes in a list (Just Godot4)21. Ignoring a specific scene in ignores list section is possible (Just Godot4)22. sublist in lists of scene manager UI is now possible (Just Godot4)23. no_effect_change_scene function added (Just Godot4)24. Node can be added to change_scene and no_effect_change_scene functions (Just Godot4)25. Possibility to specify path scenes.db via Project/Settings (Just Godot4)26. 5 new signals added: (Just Godot4) - scene_changed - fade_in_started - fade_out_started - fade_in_finished - fade_out_finished27. Added a feature to navigate to the scene path in filesystem on godot when clicked on scene address in Scene Manager tool28. Added a feature to open a desired scene from Scene Manager tab29. Users now can have some time to load their scene in the background with the new changing scene functionality
Scene Manager
A tool to manage transition between different scenes.
Scene Manager v1.X.X and v2.X.X is compatible with Godot 3.
Scene Manager v3.X.X is compatible with Godot 4.
Features
- A fully responsive tool menu structure to manage and categorize your scene
- Save button that saves all scenes in a dictionary
- Refresh button that refreshes the tool with latest saved status of the scenes
- List duplication check for keys
- Smooth transition between scenes
- Demo
- Memory performance
- Ignore folder feature which ignores some folders you said to ignore in
Scene Manager
addon tool - Categorization for scenes
- Ignore folder section can hide optionally
- Change to previous scenes is allowed and possible and handled
- Fully customizable transitions
- Customizable entering the first scene of the game transition
- Reset
Scene Manager
function to assume the current scene as the first ever seen scene (to ignore previous scenes and don't go back to them by changing scene to the previous scene) - Arrangeable scene categories(they will reset to alphabetic order after refresh or save button)
- Fade in and fade out with different desired patterns
- You can create instance of a scene just by calling the scene with a key
- Transition is so much customizable
-
SceneManager
tool will ignore scenes inside folders with.gdignore
file inside them
How To Use?
- Copy and paste
scene_manager
folder which is insideaddons
folder. (don't change thescene_manager
folder name) - From editor toolbar, choose
Project > Project Settings...
then inPlugins
tab, activate scene_manager plugin. - Use
Scene Manager
tab on right side of the screen(on default godot theme view) to manage your scenes. - After you are done with managing your scenes, always save your changes so that your changes have effect inside your actual game.
Note: After activating Scene Manager
tool, you have access to SceneManager script globally from anywhere in your scripts and you can use it to change scenes and ... (for more information, read SceneManager section)
Note: This tool saves your scenes data inside res://addons/scene_manager/scenes.gd
file, if you want to have your latest changes and avoid redefining your scene keys, do not remove it, do not change it or modify it in anyway.
Tool View
Note: All demo pictures are taken from Godot3.
This is the tool that you will see on your right side of the godot editor after activating scene_manager
plugin. By Add Category button under scenes categories you can create new categories to manage your scenes.
Double key checker:
If editing of a scene key causes at least two keys of another scene match, both of them will get red color and you have to fix the duplication, otherwise the plugin does not work properly as you expect it to work.
Ignore Folder:
Every folder that is added inside this section will be ignored and scenes inside them will not get included inside scenes categories section(the section above this section).
Demo
Just a simple demo to show some abilities of this addon:
Demo Description
- Scene <number>: this button calls
change_scene
function and goes to next scene. - Reset: after pressing this button, you don't go back to the previous seen scenes by pressing back button but if you do, you actually restart your scene.
- Reload: reloads the current scene.
- Back: goes back to previous scene. (or restarts if there is no previous scene)
- Nothing: just shows a transition but actually does nothing.
- Exit: after fading out of the screen, quits the game.
Demo Code
Note: You can use SceneManager
node in your game after you activated scene_manager
plugin.
extends Button
export(String) var scene
export(float) var fade_out_speed = 1.0
export(float) var fade_in_speed = 1.0
export(String) var fade_out_pattern = "fade"
export(String) var fade_in_pattern = "_fade"
export(float, 0, 1) var fade_out_smoothness = 0.1
export(float, 0, 1) var fade_in_smoothness = 0.1
export(bool) var fade_out_inverted = false
export(bool) var fade_in_inverted = false
export(Color) var color = Color(0, 0, 0)
export(float) var timeout = 0.0
export(bool) var clickable = false
onready var fade_out_options = SceneManager.create_options(fade_out_speed, fade_out_pattern, fade_out_smoothness, fade_out_inverted)
onready var fade_in_options = SceneManager.create_options(fade_in_speed, fade_in_pattern, fade_in_smoothness, fade_in_inverted)
onready var general_options = SceneManager.create_general_options(color, timeout, clickable)
func _ready() -> void:
var fade_in_first_scene_options = SceneManager.create_options(1, "fade")
var first_scene_general_options = SceneManager.create_general_options(Color(0, 0, 0), 1, false)
SceneManager.show_first_scene(fade_in_first_scene_options, first_scene_general_options)
# code breaks if scene is not recognizable
SceneManager.validate_scene(scene)
# code breaks if pattern is not recognizable
SceneManager.validate_pattern(fade_out_pattern)
SceneManager.validate_pattern(fade_in_pattern)
func _on_button_button_up():
SceneManager.change_scene(scene, fade_out_options, fade_in_options, general_options)
func _on_reset_button_up():
SceneManager.reset_scene_manager()
SceneManager
This is the node you use inside your game code and it has these functions:
validate_scene
(key: String) -> void:- Checks and validates passed key in scenes keys. (breaks game if key doesn't exist in scenes keys)
validate_pattern
(key: String) -> void:- Checks and validates passed key in patterns keys. (breaks game if key doesn't exist in patterns keys)
safe_validate_scene
(key: String) -> bool:- Safely validates the scene key and does not break the game.
safe_validate_pattern
(key: String) -> bool:- Safely validates the pattern key and does not break the game.
change_scene
(key: String, fade_out_options: Options, fade_in_options: Options, general_options: GeneralOptions) -> void:- Changes scene if key is valid, otherwise nothing happens.
- fade_out_options and fade_in_options are some configurations you can put in the function to customize your fade_in to the scene or fade_out of the current scene and you can create
Options
objects by callingcreate_options
function. - general_options are common configurations that effect transition in both fade_in and fade_out transitions and you can create
GeneralOptions
by callingcreate_general_options
functions. - Note:
back
as value of scene variable, causes going back to previous scene. - Note:
null
,ignore
or an empty string as value of scene variable, causes nothing but just showing scene transition and does not change scenes at all. - Note:
refresh
,reload
orrestart
as value of scene variable, causes refreshing the current scene. - Note:
exit
orquit
as value of scene variable, causes exiting out of the game. - Note: Any value as key variable which starts with an
_
will be ignored.
create_options
(fade_speed: float = 1, fade_pattern: String = "fade", smoothness: float = 0.1, inverted: bool = false) -> Options:- Creates
Options
object forchange_scene
function. - fade_speed = speed of fading out of the scene or fading into the scene in seconds.
- fade_pattern = name of a shader pattern which is in
addons/scene_manager/shader_patterns
folder for fading out or fading into the scene. (if you usefade
or an empty string, it causes a simple fade screen transition) - smoothness = defines roughness of pattern's edges. (this value is between 0-1 and more near to 1, softer edges and more near to 0, harder edges)
- inverted = inverts the pattern.
- Creates
create_general_options
(color: Color = Color(0, 0, 0), timeout: float = 0, clickable: bool = true) -> GeneralOptions:- color = color for the whole transition.
- timeout = between this scene and next scene, there would be a gap which can take much longer that usual(default is 0) by your choice by changing this option.
- clickable = makes the scene behind the transition visuals clickable or not.
show_first_scene
(fade_in_options: Options, general_options: GeneralOptions) -> void:- Call this method inside
_ready
function of a node with a script which that node is inside the first scene that game jumps into it and this causes to have a smooth transition into the first game scene. - This function works just once at the beginning of the first game scene. After that, if you call this function again, nothing happens.
- fade_in_options = creates it by calling
create_options
function. - general_options = creates it by calling
create_general_options
function.
- Call this method inside
reset_scene_manager
() -> void:- Sets current active scene as a starting point so that we can't go back to previous scenes with changing scene to
back
scene.
- Sets current active scene as a starting point so that we can't go back to previous scenes with changing scene to
create_scene_instance
(key: String) -> Node:
- Creates an instance of the passed scene key variable. (if key is not right, code breaks)
An advanced tool to manage scenes and transitions between scenes.
Features:
**Recently Added**:
1. Pause and Resume functions added
2. Reactive button added which makes the Scene Manager UI reactive to changes on File System of godot and refreshes the Scene Manager UI automatically every time an update happens on files in res:// location
3. Auto Save button added which saves automatically every time a new change found in Scene Manager UI + If Reactive is enabled too, after that mechanism, save gets called automatically so that there would be no need to use the save button at all
**All**:
1. A fully responsive tool menu structure to manage and categorize your scene
2. Save button that saves all scenes in a dictionary
3. Refresh button that refreshes the tool with latest saved status of the scenes
4. List duplication check for keys
5. Smooth transition between scenes
6. Ignore folder feature in UI ignores all scenes inside that specific folder that you added in the ignore list
7. Categorization for scenes
8. Ignore folder section can hide optionally
9. Change to previous scenes is possible
10. Fully customizable transitions
11. Customizable way of entering the first scene of the game
12. Reset `Scene Manager` function to assume the current scene as the first ever seen scene (to ignore previous scenes and don't go back to them by changing scene to the previous scene)
13. Arrangeable scene categories(they will reset to alphabetic order after refresh or save button pressed)
14. Fade in and fade out with different desired patterns
15. You can create instance of a scene just by calling the scene with a key
16. Transition is so much customizable
17. `SceneManager` tool will ignore scenes inside folders with `.gdignore` file beside them
18. Loading scenes interactive is possible. (Loading scene code example added)
19. Ability to limit how much deep scene manager is allowed to record previous scenes which affects in changing scene to `back`(previous scene) functionality
20. Ability to hide scenes in a list (Just Godot4)
21. Ignoring a specific scene in ignores list section is possible (Just Godot4)
22. sublist in lists of scene manager UI is now possible (Just Godot4)
23. no_effect_change_scene function added (Just Godot4)
24. Node can be added to change_scene and no_effect_change_scene functions (Just Godot4)
25. Possibility to specify path scenes.db via Project/Settings (Just Godot4)
26. 5 new signals added: (Just Godot4)
- scene_changed
- fade_in_started
- fade_out_started
- fade_in_finished
- fade_out_finished
27. Added a feature to navigate to the scene path in filesystem on godot when clicked on scene address in Scene Manager tool
28. Added a feature to open a desired scene from Scene Manager tab
29. Users now can have some time to load their scene in the background with the new changing scene functionality
Reviews
Quick Information
An advanced tool to manage scenes and transitions between scenes.Features:**Recently Added**:1. Pause and Resume functions added2. Reactive button added which makes the Scene Manager UI reactive to changes on File System of godot and refreshes the Scene Manager UI automatically every time an update happens on files in res:// location3. Auto Save button added which saves automatically every time a new change found in Scene Manager UI + If Reactive is enabled too, after that mechanism, save gets called automatically so that there would be no need to use the save button at all**All**:1. A fully responsive tool menu structure to manage and categorize your scene2. Save button that saves all scenes in a dictionary3. Refresh button that refreshes the tool with latest saved status of the scenes4. List duplication check for keys5. Smooth transition between scenes6. Ignore folder feature in UI ignores all scenes inside that specific folder that you added in the ignore list7. Categorization for scenes8. Ignore folder section can hide optionally9. Change to previous scenes is possible10. Fully customizable transitions11. Customizable way of entering the first scene of the game12. Reset `Scene Manager` function to assume the current scene as the first ever seen scene (to ignore previous scenes and don't go back to them by changing scene to the previous scene)13. Arrangeable scene categories(they will reset to alphabetic order after refresh or save button pressed)14. Fade in and fade out with different desired patterns15. You can create instance of a scene just by calling the scene with a key16. Transition is so much customizable17. `SceneManager` tool will ignore scenes inside folders with `.gdignore` file beside them18. Loading scenes interactive is possible. (Loading scene code example added)19. Ability to limit how much deep scene manager is allowed to record previous scenes which affects in changing scene to `back`(previous scene) functionality20. Ability to hide scenes in a list (Just Godot4)21. Ignoring a specific scene in ignores list section is possible (Just Godot4)22. sublist in lists of scene manager UI is now possible (Just Godot4)23. no_effect_change_scene function added (Just Godot4)24. Node can be added to change_scene and no_effect_change_scene functions (Just Godot4)25. Possibility to specify path scenes.db via Project/Settings (Just Godot4)26. 5 new signals added: (Just Godot4) - scene_changed - fade_in_started - fade_out_started - fade_in_finished - fade_out_finished27. Added a feature to navigate to the scene path in filesystem on godot when clicked on scene address in Scene Manager tool28. Added a feature to open a desired scene from Scene Manager tab29. Users now can have some time to load their scene in the background with the new changing scene functionality