Godot 4 Scene Manager+ (Source Files/Code)
A downloadable asset pack
This page includes the source for both v1.0 and v1.1. Take your pick!
Here is the source code for my Godot Scene Manager+ tutorial which shows you how to use Godot's ResourceLoader class to load content, display loading progress, and transition between scenes with just a few lines of code. I definitely think you'll learn better if you follow on with the video and write your own version of this BUT if you just want the code... here you go 😃
This is NOT a template for a Zelda style game. The part of this project that LOOKS like a Zelda game is simply a playground for showing off the transitions and loading features of this GDScript.
Want to say thanks? Consider subscribing to my YouTube channel - it's free and helps the channel out tremendously 🙏
The sprites used in this tutorial are by Kenney. Please support the amazing work he does creating FREE assets for game devs.
Updated | 23 days ago |
Status | Released |
Category | Assets |
Rating | Rated 5.0 out of 5 stars (2 total ratings) |
Author | Sean James McKenzie |
Tags | gdscript, Godot, programming, Tutorial |
Download
Click download now to get access to the following files:
Development log
- SceneManager v1.1Mar 31, 2024
Comments
Log in with itch.io to leave a comment.
In the Scene manager 1.1 demo moving up to the dark room works. But moving left to the next room gives the error : Attempt to call function 'get_parent' in base 'previously freed' on a null instance.
This occurs in the start_screen.gd file in the _on_level_added method on line 32 just after you check for null on the _loading_screen object.
I hope that helps.
I'm using Godot 4.3 beta 1
I just tested in Godot 4.3 beta 2. Same issue
Hello gracious developer,
I am a fan of your tutorials and I plan on using this Scene Manager to properly develop some games.
I'm unsure of the best way to contribute to your source code as I ran into an issue. It might be because I am using Godot v4.3 beta2.
Running your example game, when I run through the door immediately to the left I error out with "Attempt to call function 'get_parent_ in base 'previously freed' on a null instance" (gameplay.gd:32 - at function: _on_level_added).
The issue is that when the loading screen is freed the variable _loading_screen becomes "<Freed Object>" and not null. _loading_screen != null is satisfied and that block of code runs even though _loading_screen is intended to be null.
Solution: replace line 31 with `if is_instance_valid(_loading_screen):`
When you run that you will get a similar error again somewhere else and then just repeat the solution.
I apologize for the essay, but I hope this helps someone.
Hey there! Thanks so much for the detailed info. It’s been on my list to check this against 4.3 so I will add this to my list when I have time to get to it. I appreciate it!!!
This is interesting! Can I use this to manage 3D scenes?
I’ll be honest, I haven’t tried that. I suspect the transitions (certainly the Zelda one) would need to be modified at the very least. I generally don’t make 3D games so I wasn’t thinking about that use case 🤔 Perhaps that’s something I’ll add in future versions. If you decide to download it and try, let me know how it goes.
Thank you for clarifying, I haven't downloaded it yet, I'm only focusing on 3D game dev so I had to make sure that it will work first before downloading it.
Sure thing. I'm only focusing on 2D right now so I haven't thought about making this work for 3D games... but I'll put that on the roadmap!
Hi there, what is the license for the source code? Could I include snippets in my commercial game?
Absolutely! This is free for you to use in commercial projects! Thanks for asking.
Thank you!