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.
The sprites used in this tutorial are by Kenney. Please support the amazing work he does creating FREE assets for game devs.
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!