Godot 4 is here!


Thankyou all!

It has been a tremendously busy year for me, learning everything I could about Godot 4 and starting my solo career producing educational content.

I am thrilled to announce that after using Godot 4 through its Alpha, Beta, and Release, the engine is now fully released with its first stable version.

You can read all about it at the official blog post.


In fact, it is SO released that the official docs and download page refer to Godot 4 rather than Godot 3.5.

Lessons from a year in Godot

To celebrate Godot 4 officially releasing, I have put out a new video listing the most impactful changes for me coming from Godot 3 to Godot 4.

I discuss the features that affect my day to day gamedev life the most, and what hurdles I had with the transition.

Additionally, the course is going to be half price for the next two weeks, to encourage as many people as possible to dive into Godot 4.

Using Godot 4 stable

Godot 4 Beginners now supports Godot 4 stable so you can try out the exciting engine with a large project right now!

Thanks for reading, and see you in the next one 🥳

Get Godot 4 Beginners

Buy Now$34.00 USD or more

Comments

Log in with itch.io to leave a comment.

(2 edits) (+1)

soooo i couldn’t find any link to feedback/bugreports/etc, just a heads up, in 04-Making-A-Basic-3D-Platformer-v0.4.0/03-Camera-Controls.html, section “Creating node variables” you claim:

The annotation @onready indicates that the variable being defined is a Node in the scene tree, and the script needs to wait for it to load.

which is factually wrong and might confuse a bunch of people without that prior knowledge, might wanna fix that.

@onready indicates that the variable assignment has to happen between _init and _ready. we have to indicate that due to the node being in the scene tree, but that’s not “what that indicates” (and especially in a beginner course you wanna be suuuuper careful about claims like “@onready tells it that this is a node”, plenty gdscript newbies already have issues wrapping their head around the Object inheritance vs Scene trees and “optional typing”).

I would instead write something along:

The annotation @onready indicates that the variable assignment happens at startup time (directly before _ready()). You’ll have to do this for any Node-related operations, because the scene tree only gets loaded at runtime.

Note also how the “variable being defined” isn’t in the scene tree at all (again, careful when it comes to terminology in a beginner’s tutorial, the variable “is” most definitely both “being declared” and residing “in” the script class, the value you assign to it however is a Node that’s not available at compiletime.)

(1 edit) (+1)

Heya, thanks for the feedback - the discord server is the best place for support and feedback.

I think you're right and I can word that more helpfully, it is difficult to strike a balance between providing accurate information and not distracting beginners with stuff that isn't immediately relevant and this leans too far the wrong way (Especially me saying it is a Node which is straight up wrong) - I do like your recommendation though and will make the following change:

Using the @ symbol in this way is a new syntax specific to Godot 4. It is the first character for a specific kind of keyword called an annotation. The annotation @onready indicates that the variable is related to a Node in the scene tree. Just before the scripts _ready function is called the @onready variables are evaluated, as a result, we can use these variables in our _ready() function.

If you have any more thoughts please do chat with me on the server, I'm always happy to hear ways to improve the course for everyone 😃

(+1)

wowzies