With 4.0 stable out, for anyone following along with this tutorial: the minimum size for the Panel Container is no longer under Rect, but is instead under Layout -> Custom Minimum Size.
4:33 Size Flags are under Control > Layout > Container Sizing 11:30 find_node is find_child now The -> arrow is typed just like that. Thanks for the tutorial! Works great in my project.
Quick note for anyone adding this to a pre-existing project: if you use _unhandled_input to control your character/player, your mouse inputs might be blocked. Just use _input instead. PS: I'm new to Godot in general, so if there might be a trade-off I don't know about, but this worked for me.
To anyone viewing this as of March 10 2023 you will receive an error whilst trying to use SCREEN_TEXTURE. "SCREEN_TEXTURE has been removed in favor of using hint_screen_texture with a uniform. To continue with minimal code changes add 'uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;' near the top of your shader."
Just felt the need to comment and say that this is a wonderful tutorial. I've used to create multiple UI pieces for my game, not just the pause menu. Your use of nesting containers to help keep the UI elements fitted to the screen is brilliant and missing from other tutorials I've seen. Great work!
This was a very helpful tutorial. In addition to a pause menu, I was able to get a working death and restart menu working from the same concepts shown in this tutorial.
I struggled for like 4 hours trying to get my game to `unpause` with a key press and not have to add a button. Finally caved in to look at videos and this made it look extremely easy. With help from all the comments below as well for updated changes.
Thank you so much for this tutorial! I just started learning Godot a couple of days ago and I'm finding the lack of assets really difficult to deal with in comparison to something like Unity. This was so helpful and super quick to implement!
4:13 you can change the font size from the inspector, under "Theme Overrides", in case you don't want to change resolutions ... and yes, apparently this bug is still a thing in 4.0.1, unless i'm missing something (very possible)
10:55 You could use `:=` to infer the Node type since it is known at "compile-time". It allows to remove duplication of type-hints for either the declarative stuff like the node types, but also works when you initialise from a typed function: For example, if I have this function: ``` func give_me_the_answer() -> int: return 42 ``` Then I can infer the type, so instead of : ` var my_answer: int = give_me_the_answer() ` I can just write, for the exact same benefits: ` var my_answer := give_me_the_answer()` Hope this is useful for the someone. If you want to search for it, it is called "Type Inference" godot. Have a great day :D
note that the blur background effect can also be achieved without a shader, simply by setting dof_blur_near_enabled of Environment (or CameraEffects in Godot 4). unfortunately though, canvas environment/camera effects do not work at all in the current Godot 4 alpha.
6:55 in stable Godot 4.0, SCREEN_TEXTURE has been removed. The way you now do this is adding "uniform sampler2D SCREEN_TEXTURE: hint_screen_texture, filter_linear_mipmap;" under the other uniform variables. besides that do everything he does
6:33 SCREEN_TEXTURE got removed in favor of sth else (I don't get it), but can be added again like this: `uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;`
great content man! Thanks for doing this stuff, also since shaders are still a form of blackmagic to me I really appreciate the simple explenations for them
15:22 Is there really any need to ignore the check for the escape key when pause mode is true? I just put this into the pause menu script and it works fine: func _unhandled_input(event: InputEvent) -> void: if event.is_action_pressed("pause"): if get_tree().paused: resume() else: pause()
Thank you for this great tutorial. One tip: for the last part (getting out of the pause menu), you can simply add a togglePause function in your gdscript. This way you can keep all of your logic in the Pause menu and no need to use a shortcut
find_node("whatever") doesn't seem to want to work in alpha 11, returns "Function "find_node()" not found in base self." You can right click and copy the path to the node manually to paste into the string for get_node("marg/box/whatever") which documentation says is faster anyway.
After reaching the end, and even swapping the pause effect with one I wanted more than the blur shader... I successfully learned the tutorial I used for the player control was incompatible with this code. I think it has something to do with mouse look input also being in "unhandled_event". Or the fact that a find_node function does not appear to be within Godot 4.1.3 Stable. May start again from the top with your tutorials; his work, as much as it felt good to follow the tutorials, is more geared towards an FPS project.
for the shortcut: why you don't use the _input(event) function? In my project I wrote in the script: func _input(event): if Input.is_action_just_pressed("pause"): if get_tree().paused: unpause() else: pause() In this way you don't have to navigate in menus and sub menus of components
The menu seems to work properly but when I added it to my FPS controller from your other tutorial now I can't turn around (though my movement keys still work). Any idea what's going on? PS.... Am I missing something or is the handy font size feature at the top gone now?
the font size feature at the top is gone but for label i found a label settings thing under where u put text and if u add it in u can change line spacing, font size, font color, outline, and shadow buttons is in theme overrides i think idk how to fix ur turning around issue tho sry
fyi - i ran into an issue whilst attempting to 'adjust' the unpause animation; i wanted the menu to fade-out more gracefully, and so disabled its autoplay-on-load setting, instead triggering the unpause only when the player exited the menu. i soon discovered that regardless of the settings/overrides i attempted to apply to the menu, it was always visible by default. the animations continued to work correctly (it would fade in and out as expected), but try as i might, i couldn't get the bloody thing to be hidden by default. only then did i finally realise that it required the use of a default animation state; b y duplicating my existing unpause animation, i created a third animation called 'hidden', which executed a hide in the shortest possible timeframe. i then set this to autoplay-on-load, and continued to apply my slower unpause animation programmatically when the user triggered ui_cancel. after a fair amount of cursing, it worked like a charm.
Great tutorial! I've learned so much about stuff I use all the time. I could never get the "duplicate" to do anything in the AnimationPlayer, now it's like facepalm, ta! I see so many comments about things that changed in godot. This is soooooo frustrating, why on earth do they keep on changing things like this? Not cool. Anyhoo, what happened to "find_node()"?? I can't even see any documentation on its disappearance, do we need to use find_child() instead? OOF.
i just put in the menu script (i created an input action called "pause"): func _input(event: InputEvent) -> void: if event.is_action_pressed("pause"): if get_tree().paused: unpause() else: pause()
I am having this same issue! My buttons seem paused. They aren't getting mouse hover or click events. I have been trying to solve this problem for several days. Please help!
I feel like you overcomplicated the pausing code a bit, if it was me I would've just used _input(event) or _unhandled_input(event) in the pause menu script and toggled the pausing from there just to keep everything in one place func _unhandled_input(event): if event.is_action_just_pressed("ui_cancel"): if get_tree().paused: unpause() else: pause() (also youtube comments really need code blocks....youtube comments really need a lot of things)
Totally valid! I just really like shortcuts and in my experience it isn't quite ideal using whether the tree is paused as a source of truth as then you can't pause in multiple ways, say for opening an inventory as well as a general pause menu. Also really wish it supported code blocks, then i could dump useful stuff in descriptions and pinned comments too :(
I tried what you wrote and put it in the pausemenu script but now the look around function of my FPSController does not work. do you know what is causing it and how to fix it?
This doesn't work in Godot anymore, even with the fix for SCREEN_TEXTURE. For some reason the blur doesn't affect 3D scenes. Anyone else had the same experience?
for me the blur was there but it was very subtle for some reason, so i ended up cranking up the blur slider max value in the shader to .75 to make it more obvious... but i'm in a 2D scene, using Godot 4.1.3, so might be unrelated to the issue you're seeing if that issue is unique to 3D scenes or a different version : (
@@kpickett9128 I think I ended up finding a fix for it. The first issue was that there has to be objects beyond the scene. As in, if you literally just have a cube in a blank scene, even with a light and an environment, it wouldn't work because it couldn't blur the edges of the cube "into" anything, so to speak. Also, objects that clip into the sky wouldn't blue. Very odd! The second issue was related to SSR (screen-space reflections). For some reason, having that enabled in scene world settings caused weird artifacts, and also prevented the blur from working entirely. In the end, I settled for using a gausian filter instead. The built-in textureLOD function was just way too temperamental and I wanted something more permanent and less fiddly.
Really nicely edited tutorial! What should I do if my (2D top down) player isn't always in the center of the screen? (The pause menu pops up centered on the player's position, instead of being centered based on the screen itself)
I've decided I don't wanna use the animation, so I usually just toggle the whole node visibility in code, but self.visible(true/false) and self.show/self.hide don't seem to work anymore, at least not for the Control node
Add the following to the func _ready() $ColorRect/CenterContainer.hide() Add the following to the func unpause() $ColorRect/CenterContainer.hide() Add the following to the func pause() $ColorRect/CenterContainer.show()
This videos shader was not working for me and after some Chat GPT i got this masterpeace, Be sure to change the shadder parameters to around 0.002 shader_type canvas_item; uniform sampler2D screen_texture : hint_screen_texture; uniform vec2 blur_size; void fragment() { vec4 color = vec4(0.0); int count = 0; for(int i=-2; i
I'm so close to getting this working, I used your fps controller tutorial and slapped the two together, but the issue is that the mouse no longer controls the camera and i don't know why
This Tutorial almost no longer works. The pause menu doesn't show, but functions if it did, and it locks the mouse movement. Although, I'm not sure if this is because of my player layout.
How reliable and safe is it to develop a professional 2d game with Godot and c#? The documentation I find is not complete and details are missing on how to correctly use Godot with c#. Do you have courses to offer with godot and c#...?
I'm having an issue with this tutorial in 4.2.2.stable where the UI is just tiny and on the side of the screen and i can't get it to be big and in the center and if i do stick it to my character i lose the ability to move my camera since it overrides my mouse input with the control node... I can't seem to find how to fix this so if anyone has a similar issue some help would be greatly aprreciated , thanks lads.
I receive the following error in the _ready function in Beta 10: Invalid type in function 'connect' in base 'Signal'. Cannot convert argument 1 from Nil to Callable.
The issue I had which took me a little bit to find was clicking my left mouse button I thought would crash the game. I realized that the menu is always technically there, just invisible, so I was actually clicking quit every time I left clicked.
I fixed it needed to add uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap; But had added: uniform sampler2D SCREEN_TEXTURE ;
1. 3:46 they changed it.... where can I see it? 2. I followed the tutorial but there are 2 issues: 1) for some reason it keeps on the blur effect even after pressing resume, I check the keyframaes and blur is on 0 on the unpause animation so idk what´s causing that 2) for some reason after resume the mouse inputs don´t register until a few seconds later... its like it lags
when making the shader i got an error, i did what the comments told me to do but it didnt work and i got a new error and it said Expected expression, found: 'UNIFORM' what do i do
Now I wonder what I would need to do to make sure things aren't clickable behind a window if I were to add in something like a settings menu that is called from here. (or in the way this works: Is "revealed")
with the newer alpha go with @onready var first_button : Button = get_node("CenterContainer/PanelContainer/MarginContainer/VBoxContainer/ResumeButton")
I don't know how quick someone will respond to this, but i'm having some trouble with this code. Firstly, the buttons seem to work fine in the PLAYER scene, however as soon as i test it in the main game scene the buttons do not work. Secondly, within the player scene when the buttons do work, i've added a third button that takes you back to the main menu, however after pressing it none of the scripts within the main menu scene seem to work. code for this is underneath func _on_quit_to_menu_pressed(): get_tree().change_scene_to_packed(menu) apart from these bugs this has been an overall great video, just hope i or someone else can figure what the hell is going on lol.
there has also been a variable added for qutting to the menu @onready var quit_to_menu: Button = $"CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Quit to Menu"
With 4.0 stable out, for anyone following along with this tutorial: the minimum size for the Panel Container is no longer under Rect, but is instead under Layout -> Custom Minimum Size.
Gigachad
the developer we need, but the developer we dont deserve
4:33 Size Flags are under Control > Layout > Container Sizing
11:30 find_node is find_child now
The -> arrow is typed just like that.
Thanks for the tutorial! Works great in my project.
bro you saved me
Quick note for anyone adding this to a pre-existing project: if you use _unhandled_input to control your character/player, your mouse inputs might be blocked. Just use _input instead.
PS: I'm new to Godot in general, so if there might be a trade-off I don't know about, but this worked for me.
Worked for me so far, thanks for the tip.
Thanks, I just complained about that before seeing this tip.
To anyone viewing this as of March 10 2023 you will receive an error whilst trying to use SCREEN_TEXTURE.
"SCREEN_TEXTURE has been removed in favor of using hint_screen_texture with a uniform. To continue with minimal code changes add 'uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;' near the top of your shader."
Saved me, thx
MVP
Just felt the need to comment and say that this is a wonderful tutorial. I've used to create multiple UI pieces for my game, not just the pause menu. Your use of nesting containers to help keep the UI elements fitted to the screen is brilliant and missing from other tutorials I've seen. Great work!
This might be the best godot tutorial on youtube, you explained everything so clearly and concisely. subbed!
For anyone not finding the "Size Flags -> Expand" they moved it under "Layout -> Container sizeing -> Expand"
Thanks a lot! :D
This was a very helpful tutorial. In addition to a pause menu, I was able to get a working death and restart menu working from the same concepts shown in this tutorial.
I struggled for like 4 hours trying to get my game to `unpause` with a key press and not have to add a button. Finally caved in to look at videos and this made it look extremely easy. With help from all the comments below as well for updated changes.
you're like the brackeys of godot, very good tutorials
Thank you so much for this tutorial! I just started learning Godot a couple of days ago and I'm finding the lack of assets really difficult to deal with in comparison to something like Unity. This was so helpful and super quick to implement!
4:13 you can change the font size from the inspector, under "Theme Overrides", in case you don't want to change resolutions
... and yes, apparently this bug is still a thing in 4.0.1, unless i'm missing something (very possible)
Love the escape also "triggered" the button animation in the end!
10:55 You could use `:=` to infer the Node type since it is known at "compile-time".
It allows to remove duplication of type-hints for either the declarative stuff like the node types, but also works when you initialise from a typed function:
For example, if I have this function:
```
func give_me_the_answer() -> int:
return 42
```
Then I can infer the type, so instead of :
` var my_answer: int = give_me_the_answer() `
I can just write, for the exact same benefits:
` var my_answer := give_me_the_answer()`
Hope this is useful for the someone. If you want to search for it, it is called "Type Inference" godot.
Have a great day :D
Lots of little great things in Godot 4 it seems! Love these videos man learn so much in such all at once 😀
Always lovely to hear from you Carbs! Definitely and glad you liked it c:
note that the blur background effect can also be achieved without a shader, simply by setting dof_blur_near_enabled of Environment (or CameraEffects in Godot 4).
unfortunately though, canvas environment/camera effects do not work at all in the current Godot 4 alpha.
Good point! Yeah that's a really sad problem - I just want to add glow in 2D! :')
This was incredibly helpful! Thank you so much for making this
6:55 in stable Godot 4.0, SCREEN_TEXTURE has been removed. The way you now do this is adding "uniform sampler2D SCREEN_TEXTURE: hint_screen_texture, filter_linear_mipmap;" under the other uniform variables. besides that do everything he does
the sliders dont do anything, other than that it helps
6:33 SCREEN_TEXTURE got removed in favor of sth else (I don't get it), but can be added again like this:
`uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;`
great content man! Thanks for doing this stuff, also since shaders are still a form of blackmagic to me I really appreciate the simple explenations for them
15:22 Is there really any need to ignore the check for the escape key when pause mode is true? I just put this into the pause menu script and it works fine:
func _unhandled_input(event: InputEvent) -> void:
if event.is_action_pressed("pause"):
if get_tree().paused:
resume()
else:
pause()
Thank you for this great tutorial. One tip: for the last part (getting out of the pause menu), you can simply add a togglePause function in your gdscript. This way you can keep all of your logic in the Pause menu and no need to use a shortcut
find_node("whatever") doesn't seem to want to work in alpha 11, returns "Function "find_node()" not found in base self." You can right click and copy the path to the node manually to paste into the string for get_node("marg/box/whatever") which documentation says is faster anyway.
use find_child("whatever") instead
@@medhatriad Thank you!
After reaching the end, and even swapping the pause effect with one I wanted more than the blur shader... I successfully learned the tutorial I used for the player control was incompatible with this code. I think it has something to do with mouse look input also being in "unhandled_event". Or the fact that a find_node function does not appear to be within Godot 4.1.3 Stable. May start again from the top with your tutorials; his work, as much as it felt good to follow the tutorials, is more geared towards an FPS project.
If your wondering where SCREEN_TEXTURE is it is now uniform sampler2D SCREEN_TEXTURE: hint_screen_texture;
Any chance we could get a short tutorial on how to get this menu working with gamepad inputs? Pretty please?
for the shortcut: why you don't use the _input(event) function?
In my project I wrote in the script:
func _input(event):
if Input.is_action_just_pressed("pause"):
if get_tree().paused:
unpause()
else:
pause()
In this way you don't have to navigate in menus and sub menus of components
I'm trying to use this in a project where the mouse is captured and now my mouse movents get swallowed... How do I get around this?
I know I’m late,
but In the func,
change “CAPTURED”: in
“MOUSE_MODE_CAPTURED”
To
“VISIBLE”
If you don’t want it consumed by the client.
The menu seems to work properly but when I added it to my FPS controller from your other tutorial now I can't turn around (though my movement keys still work). Any idea what's going on?
PS.... Am I missing something or is the handy font size feature at the top gone now?
the font size feature at the top is gone but for label i found a label settings thing under where u put text and if u add it in u can change line spacing, font size, font color, outline, and shadow
buttons is in theme overrides i think
idk how to fix ur turning around issue tho sry
@@alvhawk4461 Thank you! I was really scratching my head with where the font sizes moved to, LabelSettings look really nice
fyi - i ran into an issue whilst attempting to 'adjust' the unpause animation; i wanted the menu to fade-out more gracefully, and so disabled its autoplay-on-load setting, instead triggering the unpause only when the player exited the menu. i soon discovered that regardless of the settings/overrides i attempted to apply to the menu, it was always visible by default. the animations continued to work correctly (it would fade in and out as expected), but try as i might, i couldn't get the bloody thing to be hidden by default.
only then did i finally realise that it required the use of a default animation state; b y duplicating my existing unpause animation, i created a third animation called 'hidden', which executed a hide in the shortest possible timeframe. i then set this to autoplay-on-load, and continued to apply my slower unpause animation programmatically when the user triggered ui_cancel. after a fair amount of cursing, it worked like a charm.
Great tutorial! I've learned so much about stuff I use all the time. I could never get the "duplicate" to do anything in the AnimationPlayer, now it's like facepalm, ta! I see so many comments about things that changed in godot. This is soooooo frustrating, why on earth do they keep on changing things like this? Not cool. Anyhoo, what happened to "find_node()"?? I can't even see any documentation on its disappearance, do we need to use find_child() instead? OOF.
Wow, that can be done via Shortcuts too? I never knew about that, nice!
i just put in the menu script (i created an input action called "pause"):
func _input(event: InputEvent) -> void:
if event.is_action_pressed("pause"):
if get_tree().paused:
unpause()
else:
pause()
For some reason, when I made the start menu it is pausing also the buttons, even with the mode seted to aways. Can anyone help me?
I am having this same issue! My buttons seem paused. They aren't getting mouse hover or click events. I have been trying to solve this problem for several days. Please help!
I figured it out. Make sure that your buttons are on a CanvasLayer
I feel like you overcomplicated the pausing code a bit, if it was me I would've just used _input(event) or _unhandled_input(event) in the pause menu script and toggled the pausing from there just to keep everything in one place
func _unhandled_input(event):
if event.is_action_just_pressed("ui_cancel"):
if get_tree().paused:
unpause()
else:
pause()
(also youtube comments really need code blocks....youtube comments really need a lot of things)
Totally valid! I just really like shortcuts and in my experience it isn't quite ideal using whether the tree is paused as a source of truth as then you can't pause in multiple ways, say for opening an inventory as well as a general pause menu.
Also really wish it supported code blocks, then i could dump useful stuff in descriptions and pinned comments too :(
I tried what you wrote and put it in the pausemenu script but now the look around function of my FPSController does not work. do you know what is causing it and how to fix it?
For the algorithm
👑
This doesn't work in Godot anymore, even with the fix for SCREEN_TEXTURE. For some reason the blur doesn't affect 3D scenes. Anyone else had the same experience?
for me the blur was there but it was very subtle for some reason, so i ended up cranking up the blur slider max value in the shader to .75 to make it more obvious...
but i'm in a 2D scene, using Godot 4.1.3, so might be unrelated to the issue you're seeing if that issue is unique to 3D scenes or a different version : (
@@kpickett9128 I think I ended up finding a fix for it. The first issue was that there has to be objects beyond the scene. As in, if you literally just have a cube in a blank scene, even with a light and an environment, it wouldn't work because it couldn't blur the edges of the cube "into" anything, so to speak. Also, objects that clip into the sky wouldn't blue. Very odd!
The second issue was related to SSR (screen-space reflections). For some reason, having that enabled in scene world settings caused weird artifacts, and also prevented the blur from working entirely.
In the end, I settled for using a gausian filter instead. The built-in textureLOD function was just way too temperamental and I wanted something more permanent and less fiddly.
Really nicely edited tutorial!
What should I do if my (2D top down) player isn't always in the center of the screen? (The pause menu pops up centered on the player's position, instead of being centered based on the screen itself)
I've decided I don't wanna use the animation, so I usually just toggle the whole node visibility in code, but self.visible(true/false) and self.show/self.hide don't seem to work anymore, at least not for the Control node
WAIT, NVM! It's self.visible = true/false
If I hit resume and the pause menu closes I can still hit the quit button even after the pause menu closes, which closes the game
Add the following to the func _ready()
$ColorRect/CenterContainer.hide()
Add the following to the func unpause()
$ColorRect/CenterContainer.hide()
Add the following to the func pause()
$ColorRect/CenterContainer.show()
it says"expetced data type fo this code:uniform blur: hint_range(0.0, 1.0); how do i fix?
This videos shader was not working for me and after some Chat GPT i got this masterpeace, Be sure to change the shadder parameters to around 0.002
shader_type canvas_item;
uniform sampler2D screen_texture : hint_screen_texture;
uniform vec2 blur_size;
void fragment() {
vec4 color = vec4(0.0);
int count = 0;
for(int i=-2; i
what about the brigntess slider
Godot 4 life
💯
yayyy ui stuff
Yasss
I'm so close to getting this working, I used your fps controller tutorial and slapped the two together, but the issue is that the mouse no longer controls the camera and i don't know why
This Tutorial almost no longer works. The pause menu doesn't show, but functions if it did, and it locks the mouse movement. Although, I'm not sure if this is because of my player layout.
How reliable and safe is it to develop a professional 2d game with Godot and c#? The documentation I find is not complete and details are missing on how to correctly use Godot with c#. Do you have courses to offer with godot and c#...?
Nice tutorial. I like the new GD-Script features...
Thanks, me too!
I'm having an issue with this tutorial in 4.2.2.stable where the UI is just tiny and on the side of the screen and i can't get it to be big and in the center and if i do stick it to my character i lose the ability to move my camera since it overrides my mouse input with the control node...
I can't seem to find how to fix this so if anyone has a similar issue some help would be greatly aprreciated , thanks lads.
I receive the following error in the _ready function in Beta 10: Invalid type in function 'connect' in base 'Signal'. Cannot convert argument 1 from Nil to Callable.
The issue I had which took me a little bit to find was clicking my left mouse button I thought would crash the game. I realized that the menu is always technically there, just invisible, so I was actually clicking quit every time I left clicked.
I fixed this myself by adding set_process(false) for the unpause function, and set_process(true) for the pause function :)
@@hightekHextress Just like that? Doesnt seem to do the trick for me
Just wondering why all the demos are lagging on my Rog Laptop :/
Thank you
at 7:20 when i set my brightness to 1 the background is all White.... what am i doing wrong?
I fixed it needed to add
uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;
But had added:
uniform sampler2D SCREEN_TEXTURE ;
find_node doesn't work, but the find_child fixed the error.
Cool. Godot 4 looks nice.
How do I make those arrow symbols that you use??
->
what should i do if there's already an _unhandled_input(event): function in my character?
just take out _unhandled
1. 3:46 they changed it....
where can I see it?
2. I followed the tutorial but there are 2 issues: 1) for some reason it keeps on the blur effect even after pressing resume, I check the keyframaes and blur is on 0 on the unpause animation so idk what´s causing that 2) for some reason after resume the mouse inputs don´t register until a few seconds later... its like it lags
same
have you found out how to fix the blur? im having the same problem. EDIT: I fixed it!
@@RexieRacer You can't just say you fixed it without telling us the fix! What is it???????
when making the shader i got an error, i did what the comments told me to do but it didnt work and i got a new error and it said Expected expression, found: 'UNIFORM' what do i do
is uniform in caps?
Now I wonder what I would need to do to make sure things aren't clickable behind a window if I were to add in something like a settings menu that is called from here. (or in the way this works: Is "revealed")
Control nodes have a mouse property! if you set mouse mode to ignore the mouse can click things underneath, stop will stop clicks going through c:
hey i cant seem to get the shader to work can you please help
I think there will be more godot 4.0 coming in soon 😂
Hell yeah!!
@@BramwellWilliams I should make some as well 😂
cool!
anyone's blur shader not blurring the sky worldenvironment?
happens to me to (to my world environment). Found any fix?
16:21 nah you're nice
They removed "find_node"
damn this broke like everything in my code and ive spent hours trying to fix it but idk
ima just not do this and make escape quit the game
var likeit; likeit = false; var loveit = true whatever!
with the newer alpha go with @onready var first_button : Button = get_node("CenterContainer/PanelContainer/MarginContainer/VBoxContainer/ResumeButton")
I don't know how quick someone will respond to this, but i'm having some trouble with this code. Firstly, the buttons seem to work fine in the PLAYER scene, however as soon as i test it in the main game scene the buttons do not work. Secondly, within the player scene when the buttons do work, i've added a third button that takes you back to the main menu, however after pressing it none of the scripts within the main menu scene seem to work. code for this is underneath
func _on_quit_to_menu_pressed():
get_tree().change_scene_to_packed(menu)
apart from these bugs this has been an overall great video, just hope i or someone else can figure what the hell is going on lol.
there has also been a variable added for qutting to the menu
@onready var quit_to_menu: Button = $"CenterContainer/PanelContainer/MarginContainer/VBoxContainer/Quit to Menu"
Nice video ✨ Can we go DM please ? ✨👀
get_tree().paused = false does not work anbody know why, same thing with equals true
Get_tree().paused = true. 18 min video in one sentence.
thank you