10 Exciting Updates Coming in Godot Engine 4.3
Vložit
- čas přidán 1. 05. 2024
- Check out the updates:
- Latest Godot Engine 4.3 snapshot:
godotengine.org/article/dev-s...
- Godot Engine 4.3 Complete changelog:
godotengine.github.io/godot-i...
- Interactive music:
github.com/godotengine/godot/...
- Render hooks:
github.com/godotengine/godot/...
- Fix editable children toggle behavior:
github.com/godotengine/godot/...
- Allow to open scenes with missing dependencies:
github.com/godotengine/godot/...
- Parallax2D node:
github.com/godotengine/godot/...
- Project-wide node groups:
github.com/godotengine/godot/...
- Glow/Bloom on compatibility render:
github.com/godotengine/godot/...
- Select, copy, and paste keyframes in the AnimationPlayer’s editor:
github.com/godotengine/godot/...
- Label.get_character_bounds():
github.com/godotengine/godot/...
- Wayland support for Linux:
github.com/godotengine/godot/...
---
Support!
☕ Ko-Fi: ko-fi.com/pigdev
My games, assets, and ebooks:
🕹️ itch.io: pigdev.itch.io
Join the community!
💬 Discord / discord
🐦 Twitter: / pigdev
Timestamps
00:00 - Intro
00:22 - Interactive Audio
04:05 - Render Hooks
05:39 - Editable Children's Fix
07:19 - Corrupted Scenes
07:59 - Parallax2D
09:49 - Global Node Groups
10:51 - Compatibility Glow and Bloom
11:27 - Animation Editor
12:26 - Get Character Bounds
14:43 - Wayland Support - Hry
Them fixing corrupted scenes issue is music to my ears
Right? When I looked at that I was like "this one should definitely go in a Top 10". Also, do you also feel Godot 4 gets corrupted scenes more often than in Godot 3?
@@pigdev one thing that I learnt from Godot 4 IS TO NEVER MOVE AROUND FILES (DRAG AND DROP) IN THE EDITOR!!! Unless you want weeks worth of headaches, because usually the file cannot be opened after you move it around (if it has dependencies with other files) I have had more than 5 scenes that were all unable to open due to me moving one file to the upper level of the project folder.... Which lead to a chain of broken scenes with somehow all of my art assets gets corrupted too 😭😭 Good thing I always have backups but maaaaan doing it all over again is PAAAIIINNN
@@bluespider6537 use git.
@@bluespider6537 same, got the same issue today and solved it couple of minutes ago
What I need most is the Skeleton 2D fix, my game uses Skeleton 2D and it has this insane bug where I cannot zoom in the viewport because the polygon2D synced to any bone2D texture disappears. They fixed it in "4.3-dev 2", i already tested and it is working pretty well. But i whant to migrate my game directly to the 4.3 official version to avoid so much rework.
Soon....
"waiting for Godot 5" meme when?
kkkkk
🔜
Oh god finally someone said it!! It's one of the things that I wished gets more attention in Godot is the ease of use for bone animation! Animation player is super powerful but I wish they did the same with bone animation 😭 Atleast 3.5 is less painful than 4.x tho but still...
it's pretty easy to do yourself, but it feels strange how Godot doesn't have some kind of one-off "play sound at location" that frees itself once it's finished. same with particle effects
Well to be fair godot doesn't even have a way to spawn something on the gameworld without implementing a spawn function in an autoload yourself
And i u ask me i prefer it like that since it gives you the freedom to implement it the way you like
Yeah, I think something like having a "Delete upon completion" flag would be a nice update.
But it's nothing you can't do through a script and instantiate this class instead of the built-in one, right? Then you can re-use it across projects
@@pigdev you could always try making a custom change to the engine yourself, and if it works well, submit it to Godot!
EDIT: I mean to just reply in the thread and didn't intentionally tag you but hey, that works too lol. cheers!
@@null6482 Why create a Singleton? Why not just do this from whatever object detects the spawn trigger?
const CONSTANT: PackedScene = preload('...')
...
var obj: NodeOrWhatever = CONSTANT.instantiate()
get_tree().current_scene.call_deferred('add_child', obj)
I had no idea the there was a bug with the Edit Children toggle and I had been using that feature for weeks in Godot 4.2.
I appreciated you showing an example of that bug occuring and how to look out for it.
Thank you for the feedback! This is one of the reasons why I try to give practical examples. Some times people didn't run into some use cases yet, so they better be prepared.
Thanks for covering this! Makes me more excited for the 4.3 release 🔥
Thank you for watching! Doing this is my duty 😅
Finally!!! Glow and Bloom available for low end devices on Godot 4.. 😁 I've been waiting for this..
Awesome, right? Bastian could really get some kudos for that!
Thanks for the video! Second part will be very appreciated.
For me, the extra work on pixel perfect graphics sounds interesting (I think I saw that in one of the alphas), and I really liked the new audio features (Even though I'm not there yet in my game)
Ohhh yeeeah, I saw some improvements for pixel art games, even shared with a friend. That's a good one to share in Part 2
I'm really looking forward to the render hooks! Absolutely great implementation!
Yeah! I think this is a major thing as I see a lot of people hyping about it. Could you give some examples of what we can do with this? I don't have much of experience to understand this feature and think about examples for it.
@@pigdev As far as I understand you can stack passes and pass the data from one pass to another one. These passes can be used in the post effects in the world environment. This is ideal for things like custom fog shaders, volumetric clouds, highlighting, lense flares, or proper cell shading etc. I don't know how it looks like, how many thing you can access through it. (perhaps you can also control if an effect should happen before the temporal anti aliasing step or after, or you can write to the pre-passes for culling, sorting, etc. as this is sometimes important if you want to insert your post-fx into a 3d scene with correct depth)
Thanks a lot for the summary and the details! 💪
Thank you for watching! I appreciate the feedback!
I wish they support play scene like in Unity for debug purposes, I wish I could inspect the editor in real time how my nodes are working (visually)
You can? When you a running a scene there is a toggle at the top of the nodes tree called "Remote" that will show you all the nodes in the running scene and modify their properties directly.
@@UODZU-P not this way, it’s like Unity when you press play and you can see Game screen and the Scene screen
It works when you have multiple monitors and you put the running game window in the other monitor. Maybe not the most convenient for some but it's functional
I think the Remote Scene Tree feature could help you with that, but Unity's approach is more intuitive, not gonna lie.
Glad I am not the only one that want Wayland to support global keys - Good video - thx
Yeah! It really slows down many things, like...I don't know if people can record using those tools that display keys on screen. So...it's a big turn off for me.
Also, thank you for watching! Glad you liked it
Now mans begin work very good!
Interactive Audio and the new Parallax2D are a highlight for me! The former does make a few interactive audio a bit obsolete if its as good or better, but overall its a welcomed addition! And this new way of parallax2D will make things simpler.
How do you used to do interactive audio before that? I remember I wrote a tutorial for GDQuest about cross-fading music, but nothing as nearly as intuitive as this implementation from Juan
@@pigdev I used Ovani sound pluging for Godot that does a similar thing for dynamic music. So if this new implementation does work just as good or better I wouldn't need to rely on that plugin at all.
The one thing that I'd really like to see is WebGL support for iOS/Mac in Godot 4*. I'm fully on 4 and this is one of the major things that hinders me getting playtesters or in game jams as the iOS/Mac folks cannot play my games. :( That and I don't own a Mac yet so I cannot even make builds for iOS or MacOS.
iOS is very often unprofitable. Please be wary of the yuppies saying you 'need' iOS support. You can safely ignore them.
@@Rhino1004 not if you’re a mobile game developer, iOS is half the market and (I’ve heard) often are willing to pay more than those on android. And either way, not being able to properly support a web build for all modern browsers kinda sucks.
It’s crazy that this is still missing. I have no way of testing html builds on Mac.
@@panampace I find sometimes the web build works fine and sometimes it’s a small thing missing. At least with itchio. But I think the Apple ecosystem is not a priority for them, since building for iOS is a hassle. You need a build to add IAPs but the latest build they have is for 3.5, so you have to make the build yourself which is super inconvenient. Personally I think Godot is great if you want to make a game targeted to steam, but anything else maybe not as much, kinda depends.
@@felixabbott126 It’s a shame and goes against the whole ethos of the engine. When I dug into it I was disappointed to find they deliberately dropped support and were pretty much like “just use a better browser”
Estava a assistir um video de 4 anos atrás antes, seu sotaque mudou MUITOOO! Muito bem!
Valeu! kkkkkkk
A ideia é ir melhorando sempre!💪
@@pigdev Espero um dia chegar nesse nível! KKK
Global groups are such a nicer way of doing it. Something I've wanted for years! Having to manually type in in, and having keep going back and forth between scenes because you forgot the exact name you gave it was quite annoying.
EXACTLY! These "little things" make all the difference. And the simplified way to add a node to another group(using a checkbox) is also really helpful.
I just wonder how we are going to make this with multiple nodes...I don't thing I saw something about that in the PR.
hi . is there any improvement about multiplayer things ? or make it easier to dockerizing headless export ? or how to make lobby and matchmaking easier on scalable game server ?
I don't know about this , but i know about they maked addons which can give you work with your comrades on real time with one project, also asset store. I think multiplayer implemented in this
Do you try use google servers(addons)
There were some CI/CD focused improvements in the stable updates they released yesterday (like 4.2.2)
There are these fixes, but they don't seem like adding any new feature. Tho, they are very welcome:
Fix `complete_auth` notifying the wrong peer (GH-86257).
Fix auth not waiting for confirmation in some cases (GH-86260).
Fix spawned nodes not working after reset (GH-87185).
Fix remote net ID cleanup (GH-87186).
Handle cleanup of "scene cache" nodes (GH-87190).
Networking scene multiplayer: Fix removing connected peer during disconnection (GH-88826).
Fix replication config reload error (GH-89108).
You might be interested in the book I wrote for Packt about making multiplayer games in Godot 4. Here's the link:
www.amazon.com/Essential-Guide-Creating-Multiplayer-Games/dp/1803232617/ref=tmm_pap_swatch_0?link_from_packtlink=yes
Great video, 2nd part please!!
Coming soon!
Corrupted scene fix is awesome, and we already get that in 4.2.2 now, would like to see how it can be improved in 4.3
And now that Glow is available in compatibility, i could finally use it for my mobile 3d game😁
Interactive Audio sounds sick too! I could already imagine use cases where that would be very useful for me.
Have you tried running the game on a mobile device yet? I’ve heard Godot 4 3D mobile performance isn’t very good so I’m trying to see if Godot works for mobile yet or not
@@felixabbott126 a simple *empty* YES *EMPTY* scene is 20fps on a midrange phone that can run pubg mobile at 50fps?? Wtf?
While unity android export is 250fps on the same device
PLEASE SHARE YOUR THOUGHTS!! The Interactive Audio really hyped me, so I want to know how people are going to use it.
I would definitely recommend use Godot 3 for mobile for now.
@@felixabbott126 it has shader issues, like a major one, making graphics looks different between snapdragon and mediatek chipset device, which is weird, but that's what i found. I reported it to issue page, and the devs confirmed the problem. but currently no plan.
For performance, it varies, but you need to implement manual optimization here and there i guess
:O
Holy shiiiii- it's getting so much better
That's how Godot rolls 😎 better with every update
Unity features:Omg new bugs ,nooo!
Godot updated: yeah we on one step, near to make best engine🗿
Unity: NOOOOO!!!! My mooooneyyyyy!!!!🤣
lol theres plenty of bugs in godot and lot of "verschlimmbessern" too. Give me back the tilesets from godot 3 pls.
sorry but Godot is very far from Unity... Actually is not a good choice.
hahahhahhaah accurate
Might not be a good choice for your project, but Godot has been raising the ranks a lot lately. For instance, the success Slay the Spyre ported the project Slay the Spyre 2 from Unity to Godot and they seem to be loving it.
Question is it a good idea to move a project to a slightly new version of the engine?
never had a project this long
I would say only if there's something that would be really helpful for you in the new version. If the current version is working fine for you, keep it. More so than other software, upgrading a game engine to the latest version in the middle of a project can introduce new bugs as features have possibly breaking changes and new bugs are introduced
@@stickzman Yeah that's what I thought that's how I usually do things
My current project is really small at the moment, so moving between versions, even beta and alpha versions of the engine, didn't feel like a risk. I knew that there are features worth being up to date for, so I always used the newest version so I could use the most recent update notes to check why things broke if they did. So far, from alpha 5 of version 4 to the most recent version of 4.3, the only breaking thing I had was somewhere in the betas of 4.2 that broke some of my animations.
Again, I cannot say that it's risk free, due to the scale of the project, but that's my 2 cents about it
If it is a commercial project, then I'd not recommend you to do it. We are going to cover that in the course I'm planning to make, but once you choose a tool and a version for the project, you keep it until the release. If you want to make improvements, patches, upgrades, etc...to the project after the release, then you can change the tool's version. But from the pre-production to the launch, I think you should stick to the version you chose in the beinning.
Now, if it's a personal project, I think you can always try to keep it up to date with new feature to experiment with them.
I like your content, it is well presented and concise.
Thank you for the feedback! Gonna focus on these. This comment really helps me bring good quality content for you!
Ainda não veio o que eu tanto espero: suporte pra bone-based sprites(Spine2D, spriter etc) em cenários 3D. Espero que no Godot 4.4 tenha...
Quando isso rolar vai ser incrível!
Você já tentou algumas alternativas? Tipo usar meshes mesmo, planos, e animar eles como se fossem 2D?
Tem a opção de fazer uma ViewportTexture e animar tudo em 3D mesmo, mas renderizar em uma texture e usar em 3D.
São gambiarras, mas se for isso que tiver impacando um grande projeto de sair do papel, tem jeito! kkkkkkkkk
@@pigdev não tive paciência pra tentar as gambiarras. Mas vi que tem um issue no github aberto pra Esoteric criar uma extensão pra isso. Mas acho que não é uma prioridade. Teve um usuário que conseguiu usando umas gambiarras avançadas.
@@cloudwolf3972 saquei...é, as vezes vale a pena usar gambiarras, as vezes não.
I was excited for --import in 4.2.2 XDD
AHahaha, yeah right!
What did you do with that? I don't know what it does
@@pigdev it lets you more easily import assets from the command line (usually headless). Rather than hoping everything imports (before building a project in a ci pipeline, for example) --import waits for everything to import.
Omg , i hope my multiplayer not broked after update. Becouse i build this, but i still not full understand how work ME code. Also about android exports. I have trouble with sdk or something for need export to android. I thought i will while convert exe to android game files
Usually feature updates like 4.3, 4.4, 4.5 don't implement compatibility breaks. Just major releases, like 3.0.0, or 4.0.0, or 5.0.0.
But yeah, regressions might happen. Don't forget to report them if this is the case!
You forgot about HDDAGI, by far the most impressive update for 4.3
That one was unfortunately pushed to 4.4. It works but it still has some issues.
I am sure the most impressive update for most is the fix of some of the >5000 bugs. Lighting doesn't help as long as the basis is a mess.
If they make line create feature , it's will be cool ,becouse more troublesome in godot. I need this for raycast. I know about raycast debugger. But me need make visible this line to on build or sometimes change long or direct lines
There's a function called draw_line(). Doesn't it work for you?
Search it and someone already did it and shared his code for drawing lines (it's a youtube video). Easy to download and implement. I use his script for my game, and tweaked it a little to create a "smoke line" behind sniper shot. Might fit your case!
@@CellarPhantom in compared with this Unity, you need download addons. I don't like it, but need download:(. In unity for this was be one stroke code , and this is was be cool.
I know library this is addon which downloaded automaticaly. But again, me so lazy download this :D
@@pigdev yeah(
Part 2 and other devs news please
Thanks for the feedback! Gonna make more dev news videos for sure!
Part 2 on the oven btw!
Hm, I don't like how there's a lot of weird glitches in the audio of this video... I hope I'm not the only one who notices that.
pwng are gonna be fucking huge wth?
What's pwng? 😅
Tu é br né vei ? tem sotaque de br
O bigode também 😂
Simmm, ele e!
Pensei a mesma coisa enquanto assistia 😂 incrível como um br reconhece o outro
sim, parece que ele tá falando português até vc perceber que é inglês lol
kkkkkkkkkkk siiiiim sou! Bom ver outros BRs por aqui. Bem vindos, galera
what about physics?
O hear Jolt connected with godot , but this is not exact
These are the current updates to the Physics. Nothing TOO exciting, but all very welcomed updates. Most of them are fixes:
Disable registering 3D physics types when 3D is disabled (GH-79185).
Prevent mapping areas with invalid IDs for `Area2D/3D` (GH-79460).
Clear monitoring in `Area*` when its space changes to invalid (GH-81809).
Change ShapeCast3D and RayCast3D debug to use RenderingServer directly (GH-82599).
Orthonormalize PhysicalBone3D transforms when resetting them (GH-82933).
Fix body leaving area gravity influence (GH-82961).
Replace confusing code in `GodotCapsuleShape2D::get_supports` (GH-83655).
Fix CollisionObject3D Gizmo not updated after calling `shape_owner_*` functions (GH-84610).
Expose a method to get gravity for any physics body (GH-84640).
Fix `PhysicsShapeQueryParameters3D.motion` type wrongly set to Vector2 (GH-85393).
Improve visualisation of WorldBoundary2D editor (GH-86208).
Check skeleton RID when using cached AABB (GH-86245).
Add warning for using concave shape on CharacterBody3D (GH-86576).
Fix bounding boxes not being calculated properly and not respecting top-level nodes (GH-87132).
Make CharacterBody properties public (GH-87167).
RayCast2D and RayCast3D: warn to check `is_colliding` before `get_collision_point` and `get_collision_normal` (GH-87414).
Bind physics server methods related to `SoftBody3D` (GH-87502).
Fix error when pinning soft body point without attachment (GH-87506).
Add HeightMapShape3D functions to get min / max height (GH-87881).
Fix `max_collisions` not being passed in `PhysicsBody3D::test_move` (GH-87903).
Fix crash with `PhysicsBody2D/3D::get_gravity` with invalid state (GH-87976).
Fix `get_contact_count` sometimes being incorrect in `_process` (GH-88019).
`GodotCollisionSolver2D::solve_concave`: Fix culling in case of motion (GH-88282).
Fix `SoftBody3D` for double-precision builds (GH-88402).
Split monolithic physics class files (GH-88862).
Fix physics platform crash (GH-88947).
Move Max Contacts Reported below Contact Monitor in RigidBody inspector (GH-89459).
Increase precision of RigidBody `mass` property (GH-89468).
Brazilian accent 🫶🇧🇷
Vei, é tão nítido assim? kkkkkkk
@@pigdev 15 segundos de nítido...
Mas hey, tu fala inglês, só isso já te abre um universo de possibilidades, irmão, tem gente que nem isso...
Also: GODOT, carai! ^^
Need more 3d updates!!! 3d in godot have few troubles with compared with 2D
3D is really complex, isn't it? Godot Engines latest updates usually focus on 3D, ever since Godot 3.0, but it seems Godot was so behind in terms of 3D that...there's a lot of work to do.
@@pigdev I agree with , but Godot 4 have 1 plus for this. This not have trash old functions, which slowed engine
brazilian friend?
Opa kkkkkk
So 0 optimization for c#…..
C# needs a complete rewrite to GDExtension before anything else is done on that front.
Copy paste keys 😍😍😍
Yeeee. I didn't figure out how cool that was until I realized we will be able to copy keys from one animation and paste them on another 🤯
first
Dark Messiah is not a "cool username".
I liked it. I mean, I'm a Christian. My only messiah is Jesus. So...I found it funny.
It's freaking cool, you can count it as reference to the same-named videogame.