Right, we can create our own nodes and make the creations of levels easier, and we have full customization access for free! What a beauty is the open source community 😭
I would love to see a tutorial covering how you get your twin stick shooter movement/weapon implementation (crosshair following cursor, sprite flipping left and right, and weapon circling player sprite)
Yo, you're honestly a legend! I never comment, but you need to know we really value your inputs. You don't do this basic tutorials that i've seen a million times (they are useful also, no bashing). You go into concepts that are interesting and highly useful, been binging your YT now! PLEASE make more tutorials, you are AMAZING in every sense of the word! The effort you put in is second to none
Hey! Just subscribed! Learning Godot with some knowledge of C#. Your channel has clear explanations and you're choosing good topics to explain. Been watching every video as it comes out to help me along my learning journey. Thanks so much!
Love your tutorials man! Thank you so much for making them. MASSIVELY helpful for a guy like me who is artist with zero coding skills and trying to make a game regardless :D
Thanks for the amazing video this will really help me a lot At first I never understood what others were doing in their tutorials but now it is all glass clear
Try GDQuest LEARN GDSCRIPT FROM ZERO. You can skip right to the sections on arrays/dictionaries if you want. Couldn't get it to work on mobile, but it works great on PC
Only if you are using an instance of the class. So, it could be a node with the class script attached or a resource file that uses the class. Typically the latter is used for @export: ClassName
If your script runs in the editor, using the [Tool] tag, and you are exporting and modifying an array of Resources, those must have the [Tool] tag as well.
Sensei, I've been thinking about this for a while, but can we make exported property where it looks like using an enum but instead choosing one from the dropdown, we can choose one or several in a cheklist form?
That sounds like bit flags. I covered them last in this video. The thing with bit flags is you wouldn't get an array of values like you might expect, but a single number that is a sum of all the exponent-of-two values. Like you get when you set up collision layers.
Hi, I'd like to know If I can create a portuguese content inspires by this video. Of course, with my own content, but with the Idea you shown. The way you presentes this feature was amazing.
Thank you, im working on a 2d platformer like Dead Cells and im trying to figure out health values for the player, im brand new so everything is confusing and overwhelming aha
@@lordsologamedev an animation is a resource, so you just type the exported var as Animation. Then you can make an animation in an animation player and save it to a resource from there.
Im in doubt about whether im using @export correctly, when referencing a node from the same scene, i like to do it via a export variable but, from what i`ve seem most people tend to do it differently. For example when making a reusable character script, people seem to get things like their hitboxes or animationplayer by referencing them as a @onready variable (@onready var animation_player = $AnimationPlayer ), I find it more convenient to just make it a exportable variable and then choose the hitbox from the editor everytime i use said script. Do exported variable not wait for the node to be ready? Is using @onready safer? What changes in each case?
It's technically possible, but it's not supported out of the box. Actually, I don't think you'll find a single built-in node that has such a feature. Here's a tutorial for how to do it written for Godot 3, so you would have to adapt some things for 4: kehomsforge.com/tutorials/single/conditionally-export-properties-godot/
Great explanation! It's a shame that godot 4 change export. I want to ask why should I use export? I can always altar my code or variables with code I mean.
@@user-cw7yi1ew1z Thanks! There's a few reasons why use @export: - If you use the same script on mulziple scenes (e.g. making different types of bullets with the same bullet.gd script) you don't need to create a new script for each one to change a parameter of its behaviour - just export that var (e.g. bullet_speed) and change it for each scene - If you work in a team and don't want your designer fiddling with tbe code, you can export the vars that they need so they can adjust it in editor - node references - if you get a reference to a node by path ($Child/AnotherChild) and then move or rename that node - your code will now return null until you update it to a new path. But you can @export var node: Node to assign a reference to a node in the editor, which will then automatically be updated when the node's path changes
@@YassinStudio.exports chnaged a lot with Godot 4, so a lot of this might not be available or has a different syntax. Look up exporting vars documentation for your version to see what's available
"Everything You Need to Know" it's a strong words given the lack of content and that you simply repeated the same information from the official guide... 👎
What an amazing and clear explanation. I didn't realize there was so much you could do with export variables!
Right, we can create our own nodes and make the creations of levels easier, and we have full customization access for free! What a beauty is the open source community 😭
This channel is a hidden gem for Godpt users 😭👍
I would love to see a tutorial covering how you get your twin stick shooter movement/weapon implementation
(crosshair following cursor, sprite flipping left and right, and weapon circling player sprite)
Yo, you're honestly a legend! I never comment, but you need to know we really value your inputs. You don't do this basic tutorials that i've seen a million times (they are useful also, no bashing). You go into concepts that are interesting and highly useful, been binging your YT now! PLEASE make more tutorials, you are AMAZING in every sense of the word! The effort you put in is second to none
Thanks man. I appreciate it a lot
i also never comment but i like how short and easy to follow the content is , my new fav godot learning channel
I'm already 9 months into this and you just opened my eyes to @export
Full of information and straight to the point. That's how I love my tutorials
Hey! Just subscribed! Learning Godot with some knowledge of C#. Your channel has clear explanations and you're choosing good topics to explain. Been watching every video as it comes out to help me along my learning journey. Thanks so much!
This is an absurdly useful video! I had no idea that some of this was possible!!
Love your tutorials man! Thank you so much for making them. MASSIVELY helpful for a guy like me who is artist with zero coding skills and trying to make a game regardless :D
Thank for the great tutorial. I'm just starting out and I was having trouble finding clear info about @export.
Thanks for the amazing video this will really help me a lot
At first I never understood what others were doing in their tutorials but now it is all glass clear
WOW. Thank you, this is so cool :)
Very useful video - thank you. Could you make an video about the Composition Pattern? This is a topic where we could benefit from more videos.
Group and subgroup will be handy for keeping things organized thanks
More quick explanations like this, please!
Great video, very easy to follow and super useful
Excellent video, packed full of useful info
would love to see more code or feature related videos of Godot.
Please make the next one on arrays, I'm very confused with arrays and dictionaries
Try GDQuest LEARN GDSCRIPT FROM ZERO. You can skip right to the sections on arrays/dictionaries if you want. Couldn't get it to work on mobile, but it works great on PC
Great video! Concise! Say, if I @export a custom class,, is there a way to see and edit its member variables in the editor?
Only if you are using an instance of the class. So, it could be a node with the class script attached or a resource file that uses the class. Typically the latter is used for @export: ClassName
Insane! Thankyou
!!!! Thank you!
Your Awesome!
Im a noob not only at godot, but coding in general, this was great explanation 👌👌👌
Wow, THAT's interesting ! One more subscriber.
Nice!
thx
True
Nice video thanks you
this is gold!
Amazing video
wow! very usefull video! thank you very much
Going in my list of Godot references
3:01 disagree let the runtime fail so you know if you forgot to initialize the array
If your script runs in the editor, using the [Tool] tag, and you are exporting and modifying an array of Resources, those must have the [Tool] tag as well.
Sensei, I've been thinking about this for a while, but can we make exported property where it looks like using an enum but instead choosing one from the dropdown, we can choose one or several in a cheklist form?
That sounds like bit flags. I covered them last in this video.
The thing with bit flags is you wouldn't get an array of values like you might expect, but a single number that is a sum of all the exponent-of-two values. Like you get when you set up collision layers.
@@DashNothing Ow, that's a bummer...
Lo-fi hot mulligan goes hard
I love it. It's by Less Gravity. They have a bunch of Hot Mully songs lofied.
IMPORTANT thing to know that the exported variables won't show in the inspector unless you don't have any parser errors in your script
Could you make a video teaching how to build a procedural world like Terraria?
Hi, I'd like to know If I can create a portuguese content inspires by this video. Of course, with my own content, but with the Idea you shown. The way you presentes this feature was amazing.
Yes, absolutely. I'd love to see how it turns out
@@DashNothing great, I'll make the video script and in the next week publish It. Thank you so much.
Godot @tool- Everything You Need to Know
😮😮😮
Your exported nodes are cached, you needed remember that to if you have load scene manager etc.
Thank you, im working on a 2d platformer like Dead Cells and im trying to figure out health values for the player, im brand new so everything is confusing and overwhelming aha
What about dictionaries?
hi just asking how do you set animations as export variable?
@@lordsologamedev an animation is a resource, so you just type the exported var as Animation. Then you can make an animation in an animation player and save it to a resource from there.
Im in doubt about whether im using @export correctly, when referencing a node from the same scene, i like to do it via a export variable but, from what i`ve seem most people tend to do it differently.
For example when making a reusable character script, people seem to get things like their hitboxes or animationplayer by referencing them as a @onready variable (@onready var animation_player = $AnimationPlayer ), I find it more convenient to just make it a exportable variable and then choose the hitbox from the editor everytime i use said script.
Do exported variable not wait for the node to be ready? Is using @onready safer? What changes in each case?
@@qqwppppp It's a matter of preference. As far as I know there is no difference. Your approach is perfectly valid.
@@DashNothing Thanks! Thought so, just wanted to be sure!
export is technically more efficient than onready since onready is runtime while export is configured before runtime
is it possible to hide say a subgroup until you picked a specific option in the main group?
It's technically possible, but it's not supported out of the box. Actually, I don't think you'll find a single built-in node that has such a feature. Here's a tutorial for how to do it written for Godot 3, so you would have to adapt some things for 4: kehomsforge.com/tutorials/single/conditionally-export-properties-godot/
Great explanation! It's a shame that godot 4 change export. I want to ask why should I use export? I can always altar my code or variables with code I mean.
@@user-cw7yi1ew1z Thanks!
There's a few reasons why use @export:
- If you use the same script on mulziple scenes (e.g. making different types of bullets with the same bullet.gd script) you don't need to create a new script for each one to change a parameter of its behaviour - just export that var (e.g. bullet_speed) and change it for each scene
- If you work in a team and don't want your designer fiddling with tbe code, you can export the vars that they need so they can adjust it in editor
- node references - if you get a reference to a node by path ($Child/AnotherChild) and then move or rename that node - your code will now return null until you update it to a new path. But you can @export var node: Node to assign a reference to a node in the editor, which will then automatically be updated when the node's path changes
A random Bentley appears lol
the export_range doesn't give me a slider, it does limit the range though...
@@mijkolsmith Pretty sure it has to be a float for the slider to appear
👍
Not a Godot deb but still interesting
What version of godot is this?
Godot 4 and up
Can I use it in godot 3.6 ???
@@YassinStudio.exports chnaged a lot with Godot 4, so a lot of this might not be available or has a different syntax. Look up exporting vars documentation for your version to see what's available
They dont teach us these at school
"Everything You Need to Know" it's a strong words given the lack of content and that you simply repeated the same information from the official guide... 👎
no @export_custom? :(
Doesn't exist in Godot. What do you think it should do? Maybe there's an equivalent one with a different name.