Creating network connections with Godot is simple — as long as you have the other party’s IP address, and there’s no NAT gateway involved. Unfortunately, that’s exactly the problem in most cases. You don’t know the other party’s IP, and these days, just about everyone is behind a combination wifi router/gateway/firewall with NAT. Conceptually, NAT …
A little while ago, I created a type of AudioManager to make it easier to work with sound files in bulk: Rather than assigning audio streams by hand, I was doing it programmatically; reading the contents of a directory and using load() to get the resources. It worked great and saved a lot of time …
Are you using @onready to reference nodes? There’s a better way! Here’s a simple example of how many tutorials use @onready to reference nodes: That script is attached to a CanvasLayer node with a ProgressBar called HealthBar. And yet, when running the scene, it will throw an error: This is because there’s actually a spelling …
Building UIs in Godot 4
Here’s a collection of tutorials that are helpful if you’re new to using Control and Container nodes to create UIs in Godot 4.
The Game Dev Artisan video covers creating a simple UI with a reload indicator for a simple 2D tank game:
Clear Code’s 11+ hour Ultimate Introduction to Godot 4 has a chapter on User interfaces that is pretty good (as is the rest of the video).
Godotneers’ Godot UI Basics video is quite comprehensive and covers most of there is to know in 45 minutes:
Abra’s video covers creating Godot UI themes in under 10 minutes:
Related Posts
Fire, Rain, and Black Hole particle effects
This video is from December last year and uses Godot 4.0-beta7, but I thought it was interesting, because… particle effects!
Creating a UDP peer-to-peer connection
Creating network connections with Godot is simple — as long as you have the other party’s IP address, and there’s no NAT gateway involved. Unfortunately, that’s exactly the problem in most cases. You don’t know the other party’s IP, and these days, just about everyone is behind a combination wifi router/gateway/firewall with NAT. Conceptually, NAT …
Dynamically finding and loading resources from the Filesystem for Android and Web Exports
A little while ago, I created a type of AudioManager to make it easier to work with sound files in bulk: Rather than assigning audio streams by hand, I was doing it programmatically; reading the contents of a directory and using load() to get the resources. It worked great and saved a lot of time …
Ditch @onready, use @export instead
Are you using @onready to reference nodes? There’s a better way! Here’s a simple example of how many tutorials use @onready to reference nodes: That script is attached to a CanvasLayer node with a ProgressBar called HealthBar. And yet, when running the scene, it will throw an error: This is because there’s actually a spelling …