Actor Components Will Change the Way You Make Blueprints!! (Unreal Engine 5)

Поділитися
Вставка
  • Опубліковано 4 чер 2024
  • Actor components in Unreal Engine 5 will change the way you make blueprints!! Most beginners do not realize that you can adhere to the single responsibility principle and make your code more modular. I now love using #actorcomponents in my #blueprint code! Try using this technique in your next game development project.
    :) Comment below and let me know what videos you would like to see! Thank you!
    Subscribe and begin learning with us today!
    Email: brandon[(at)]glasshandstudios[(dot)]com
    www.glasshandstudios.com
    Facebook: / brandon.clem. .
    Glass Hand Facebook: / glasshandfil. .
    Instagram: @thebranclem
    Glass Hand Instagram: @glasshandstudios
    Twitter: @thebranclem
    #ue5 #unrealengine
    Like and subscribe! :)
    00:00 - Intro
    01:11 - Example of What We Will Learn
    01:35 - Getting Started
    02:10 - Create Blueprint From Selection
    02:47 - Add Box Collision Component
    05:18 - Create Actor Components
    06:15 - Health Setup
    07:44 - Damage Component
    16:34 - Death Component
    22:57 - Testing Our Code
    25:01 - Outro Please Like and Subscribe ;)
  • Фільми й анімація

КОМЕНТАРІ • 172

  • @GlassHandFilms
    @GlassHandFilms  Рік тому +7

    Hey guys! A lot of you were asking about a video that introduced actor components! Thank you for the suggestions and would love to hear what you guys want to see next! Thank you for the support

    • @codiroberts886
      @codiroberts886 Рік тому +2

      I've seen your other videos and today asked myself "wtf is an actor component?" and magically this appears. Thanks for the vid.

    • @GlassHandFilms
      @GlassHandFilms  Рік тому +1

      @@codiroberts886 awesome Codi! I hope this video helped! Cheers!

  • @darkarps
    @darkarps 10 місяців тому +9

    watching you (or anyone making instructional vids) make and then catch and recover from mistakes is an equally important part of the education imo! thank you so much for this!

    • @GlassHandFilms
      @GlassHandFilms  10 місяців тому +1

      Yes absolutely! I couldn't agree more! :) thank you very much!

  • @JayTheDevGuy
    @JayTheDevGuy 9 місяців тому +4

    Specialized components talking to other specialized components is exactly what I needed to see to make this workflow finally click for me. Thank you so much for posting.

    • @GlassHandFilms
      @GlassHandFilms  9 місяців тому +1

      Amazing!! Thank you for sharing with me. :) Best of luck with your project, all the best! Cheers!

  • @blankstare7435
    @blankstare7435 Рік тому +4

    I am in school for game design, and I was messing around with a component yesterday and felt it would make my life much better and sure enough it does, thanks my man!!

  • @megtwin
    @megtwin Рік тому +3

    Love the thorough explanations, and the fact you keep mistakes in as well as the fixes because they are most likely the ones that can happen.

    • @GlassHandFilms
      @GlassHandFilms  Рік тому +1

      Awesome thank you so much for the feedback!! I feel the same way. Thank you for checking out the video. cheers!

  • @clintmcgill7263
    @clintmcgill7263 8 місяців тому

    Love the video. So glad that you take the time to show mistakes and how to correct them and you explain the "why" behind the "what". Makes it a ton easier to make my own things rather than just duplicate someone elses stuff when I know why you do something. Much better than the "tutorials" that say plug this in here and it works.

  • @gami2406
    @gami2406 Рік тому +6

    Man, you're actually awesome. Just stumbled on your channel randomly and God am I grateful. You explain well, you're honest, and always have a smile ! Keep doing what you're doing man, especially does Unreal videos (please ahah) :)

    • @GlassHandFilms
      @GlassHandFilms  Рік тому +1

      Oh wow! thank you so much for comment!! I really appreciate your feedback and I hope to make more videos soon :) Hope to chat more! Cheers!

  • @jameshazelton5088
    @jameshazelton5088 Рік тому +5

    Great video - I'm really enjoying this series. You were asking about ideas for future videos - what I'd really like to see is an overview of a good way to strucutre a game / experience - i.e. what do you set up in the different other blueprint types such as game mode base, scene components etc. Not necessarily going into detail in each one but just the overall architecture you put in place when setting up your game and what functions you set up where. I've seen many videos on the invidual elements but a birds eye view would be super helpful! Anyway whatever you're up to next I'm looking forward to it!!

    • @GlassHandFilms
      @GlassHandFilms  Рік тому +1

      Hey James! This is something I really would love to create! I'm hoping I can find some time to put it together. Thank you for the awesome suggestion. Cheers!

  • @nillxskill7229
    @nillxskill7229 25 днів тому +1

    because I didn't find this video before .... thank you...❤❤

  • @Fasyle
    @Fasyle 11 місяців тому +1

    I'm new to UE and get so lost in all the tutorials. The coupling issue you mentioned in another video help me so much and this is great too. Love your authentic and transparent style. Hope to see more UE videos in the future!

    • @GlassHandFilms
      @GlassHandFilms  11 місяців тому

      Thank you so much for the kind comment :) I will definitely be back on the channel soon. Working a bit on a blender product in conjunction with another UA-cam channel. I know it's not UE, but there will be more soon :) Cheers!

  • @fanarshatal2692
    @fanarshatal2692 Рік тому +1

    Awesome Brandon! Thanks you a lot!!!!!!!

    • @GlassHandFilms
      @GlassHandFilms  Рік тому +1

      you are very welcome! thank you for watching :)

  • @joepolidoro429
    @joepolidoro429 10 місяців тому +1

    Nice work. I learned exactly what i was trying to figure out. Thanks for the aligment hotkey with the node/routes too.

    • @GlassHandFilms
      @GlassHandFilms  10 місяців тому

      This is so cool to hear! Thank you for sharing! Cheers ❤️

  • @swifty916
    @swifty916 7 місяців тому +2

    This was an extremely informative and easy to follow lesson! Would love more videos like these!

    • @GlassHandFilms
      @GlassHandFilms  7 місяців тому +1

      awesome thank you for the feedback! I will get back to creating more content soon :) I'm about a month into a new job as a Unreal Engine Dev and it's been taking up most of my time, but really enjoy it :) A lot more I'd like to share!

  • @thegreendude2086
    @thegreendude2086 10 місяців тому +1

    Thank you for the video,
    Actor Components certainly are change you need to wrap your mind around to effectively use them and so I was unsure how to use them and for what, but this really helped

    • @GlassHandFilms
      @GlassHandFilms  10 місяців тому +1

      Thank you so much for checking it out!! It really does remind me of Unity where you create an object and attach single responsibility scripts to that object. It's pretty cool to have in your toolbox! :) cheers!

  • @Angstjaeger
    @Angstjaeger Рік тому +1

    The best way to explain actor components, I was lost

    • @GlassHandFilms
      @GlassHandFilms  Рік тому

      Awesome Alejandro I'm so happy to hear this! Cheers!

  • @Mario543212
    @Mario543212 Рік тому +3

    "This was the whole point of the video and I forgot to add them." 😂

  • @ripples1072
    @ripples1072 Рік тому

    this is an awesome video thanks for doing more than just making a functional BP and taking time to educate about best practices. Can you make the text in your videos bigger? it is hard to follow along on my second monitor.

  • @Billy-sj4vr
    @Billy-sj4vr Рік тому +1

    Hey man I just wanna say how much I appreciate your channel and style, please keep the mistakes in these videos because I would run into the exact same problems and hearing your thought process just makes sense to me. Thank you so much!!!!

    • @GlassHandFilms
      @GlassHandFilms  Рік тому

      Dude that's so awesome! Thank you for the comment, Billy! Best of luck on your cg journey and I hope to make a video soon that can assist on that journey! Cheers!!

  • @TheAngryRubberDuck
    @TheAngryRubberDuck 6 місяців тому +1

    I'm learning UE5 through UA-cam tutorials. Whenever I don't understand something, I'll watch a video like this and deep dive into something until I understand and then move onto the next thing. @14:20 is my freaking motto at this point.

    • @GlassHandFilms
      @GlassHandFilms  6 місяців тому

      🤣🤣🤣 literally laughed out loud. I'd like to say it gets better, but you only challenge yourself more as you grow. Haha thank you for leaving a comment and the best of luck on your journey ❤️

  • @Arrkail
    @Arrkail Рік тому +1

    that's extremely helpful thank you so much for sharing!

  • @Spoiledbologna
    @Spoiledbologna 4 місяці тому +1

    This was such a fantastic video. Thank you so much

    • @GlassHandFilms
      @GlassHandFilms  4 місяці тому

      Oh wow thank you so much for the comment. I really appreciate it and very happy you watched it! Cheers!

  • @sometimesyouneverknow4906
    @sometimesyouneverknow4906 Рік тому +1

    This answered a question i have had for a while, i.e. how to initiate the actor components once added. that part you glossed over like it was nothing, but when you don't know you can just call a reference to the actor component to trigger an event contained within it... well, my newbie ass is going to be spending some time cleaning up some things because this is so much more simple and more elegant and will eliminate a bunch of issues i would have had when i puzzled through it and used blueprint interfaces. So glad i am not further into the project, but it should be an easy fix. Lesson there being just because something works for now doesn't mean it is at all right. BPI probably would have called a damage event on anything that would have taken damage in the scene (assuming damage example).

    • @GlassHandFilms
      @GlassHandFilms  Рік тому

      Awesome! I'm very happy you checked out the video! Cheers 😁

  • @sahinerdem5496
    @sahinerdem5496 Місяць тому +1

    I enjoyed it. Thank you. The Component creation is the advanced level in UE or Unity.The main problem for me The Assets I buy and can't understand how to use them is my lack of understanding of Actor Components. You may see around some guys complain about asset is that he has the same lack of knowledge like me. Creating Components is scary to me, I can code and find any solution in Character and AnimBP or Actor BPs so I hope I can overthrow my fear and collect functions in components to achieve what i want to develop. Thank you for your help. Appreciated. Well clear tutorial it's 25 min and i didn't bore till end, loved your tutorial. Regards.

    • @GlassHandFilms
      @GlassHandFilms  Місяць тому +1

      Thank you for this comment 😊 I wish you nothing but the best in your unreal engine journey and I'm sure you will master actor components. Cheers!

  • @guillermofleitaspulido
    @guillermofleitaspulido Рік тому +1

    Thanks for this awesome tip ! I give you a like and suscribe 😃😃👍

  • @Wild_Jou
    @Wild_Jou Рік тому +2

    Could you teach how to move a player by dice between squares on a board? like a parcheesi or Monopoly

  • @kfirkfir
    @kfirkfir Рік тому +1

    Very good video thanks!

  • @drinkwwwaterrr
    @drinkwwwaterrr Рік тому +1

    Super helpful, thanks :)

  • @benl.4903
    @benl.4903 Рік тому +1

    I am not a native English speaker but you did a great job and I understood everything. Also I liked the little tips about BP. Thanks! I will watch more of your work.

    • @GlassHandFilms
      @GlassHandFilms  Рік тому

      Thank you so much, Ben! I really appreciate the feedback. :) Cheers!

  • @rifat.ahammed
    @rifat.ahammed Рік тому +1

    Thank you very Much

  • @JM-ty6uq
    @JM-ty6uq Рік тому

    Thanks for the great vid! Helped me to understand actor components more deeply. One question I have: When is it appropriate (a good idea) to separate one actor component into multiple? For example, you could combine the Health, damage and death components into a 'LifeCycle' component, which contains the variables and events of all three. This would reduce the amount of components in your project, but it may make the combined component larger and messier to work with. I am not sure what would be the correct time to do the separation.

  • @Radeonoff
    @Radeonoff Рік тому

    pls make video about takin damage in general. we have a lot of damage functions and events in actor bps out of the box but i never saw anyone using them.

  • @Vilde321
    @Vilde321 Рік тому +3

    Actually could you make a video about differences/different uses of blueprint interfaces & blueprint actor components??
    I am currently thinking about which to use for different things and I dont even mainly understand the benefits of either yet.

    • @GlassHandFilms
      @GlassHandFilms  Рік тому +1

      Hi there! As a high level explanation, I would use actor components in a situation where I need modularity. For example, I have a vehicle BP. I want to add thrusters, lasers, and windshield wipers (haha!). I can use components to add those functionalities and add them to other vehicle types as well.
      With interfaces, I want to provide functionality to something without specifying its implementation details. Think about a light switch, the electrical wire, and a light bulb. The electrical wire is the interface in this example. The switch has no idea what is on the other side of the current, it just promises a functionality without sending instructions to the light bulb about HOW to turn on. The switch could have a fan at the other end for all it cares 😂 I hope that makes sense! Keep going! Cheers!

    • @Vilde321
      @Vilde321 Рік тому

      @@GlassHandFilms Thanks for such a fast reply! I can kind of understand, probably I just have to keep messing around with these both to get better understanding... I did damaging enemies/things by interfaces in a previous project, but I really want to learn this better and maybe mix those two in somehow. (Im making minor sidescrolller stuff currently which is good for trying out stuff)

  • @Vistorri
    @Vistorri Рік тому +1

    Great tutorial, cheers

  • @projectgg6730
    @projectgg6730 Рік тому +1

    i feel like you should check the death condition on the health component instead of the death component so that every time you apply damage you don't have the components communicate with each other. I also have been messing with unreal's built in damage types system and it is super useful. I realized while watching this that i basically have all of this just in my blueprints and how useful it would have been to use components instead of redoing health and damage for every enemy type. This is also super helpful for different gun types.

    • @SpasmAtaK
      @SpasmAtaK 10 місяців тому

      It would seem logical that for something to die it would need to have lived in the first place, so everything that can die must have had health at some point. Even if health was only 1 hp...

  • @theapein
    @theapein Рік тому +1

    How would you go about dealing with enemy attack that not only deals damage but also applies debuf to stats perhaps also adds bleed etc. Would you create separate components for every attribute player/enemy has or can you create one big component holding every stat? Also how to make it work with UI elements and basically update health/mana/energy bars, UI info about attributes etc. Would you update all attributes at once or one at a time? Not sure if my question makes sense xD it's quite a big one

  • @Army21
    @Army21 Рік тому +2

    Really great tutorial. One minor point, doing health

  • @JulioDevUnreal
    @JulioDevUnreal 5 місяців тому +1

    thank you for video

    • @GlassHandFilms
      @GlassHandFilms  5 місяців тому +1

      Awesome! I hope it helped you! Thank you for the comment Cheers!!

  • @shawnbecker1026
    @shawnbecker1026 Рік тому +1

    Hey thanks for the awesome video, do you know if it is possible to pass a custom event or input key into the blueprint component instead of setting the input action key in the
    component ? Basically so i can drop the component into a character and connect it to a custom event or custom input key

    • @GlassHandFilms
      @GlassHandFilms  Рік тому +1

      Hi Shawn! Thank you for watching the video! If I understand you correctly, it sounds like you are trying to create a modular setup where you can just add functionality really quickly. You are definitely on the right path. What I would do is create some custom events in your actor components. Then add you actor components to your character blueprints, and get a reference to them and call their custom events on input key press. Please let me know if I am helpful or not :) I could be misunderstanding you. Cheers!

  • @roryobrien6655
    @roryobrien6655 8 місяців тому

    I am having an issue with the overlap that as soon as I touch the character the health amount drops continually and basically disappears to zero in seconds. I could not for instance jump up and down, as soon as I jumped up it would count to zero and destroy. Any idea? Btw I am using a different set of meshes no the box exactly, so really I am running into the object not jumping on it, but I figure it should be the same

  • @xionnine
    @xionnine 8 місяців тому

    Very cool tut, how can we get this to work while shooting it?

  • @roryobrien6655
    @roryobrien6655 Місяць тому

    Question - If I intend to put these components on my player character, how can I make the damage amount be something controlled by outside factors - for instance if I want 3 different enemy ai who all have a hit strength of 10, 20, 50, respectively - how would I get this system to be responsive to all of the different damage calculations?

  • @ry6554
    @ry6554 Рік тому +1

    I like to combine the use of blueprint interfaces with actor components, as I need to communicate actor components between each other without hard referencing them.
    I also figured out that I could override component functions by binding custom event dispatchers to custom events.
    This basically allows me to reuse code as much as possible, which is very nice.
    If you figure this out, could you do a video on it?
    I could explain it to you in more detail, but I might not respond promptly.

    • @alejandrodoradom
      @alejandrodoradom 6 місяців тому +1

      It would be great if you could explain how to communicate actor components between each other without hard referencing them. I have been looking for this particular subject for a while and I haven't been able to find anything online about it.

  • @xzeryawilliams2979
    @xzeryawilliams2979 Рік тому +1

    This was a good intro to components. I think you should do a video of when to use them. There is so many ways to do things in unreal.

    • @GlassHandFilms
      @GlassHandFilms  Рік тому

      Thank you very much for the feedback. And the crazy thing is I was thinking the same thing tonight! I want to do a video over event dispatchers and then hopefully I can record a small video covering all the concepts I've talked about so far and when to use them :) cheers!

    • @xzeryawilliams2979
      @xzeryawilliams2979 Рік тому

      @@GlassHandFilms Im subscribed, but if you can remember please message me when you upload your event dispatch video! Thanks!

  • @GewoonEenNick
    @GewoonEenNick 19 днів тому

    Thanks for this video!
    for everyone wanna use Force at location. use Extremely high values. otherwise it wont do stuff

  • @Vilde321
    @Vilde321 Рік тому

    How possible would it be to get a tutorial or some tips video about a custom movement component? I'd like to craft my own and dont know where to start! I'm very interested in these components!!

  • @Andrew-wh7uy
    @Andrew-wh7uy Рік тому +1

    Thank you a lot for the video! It was very useful.
    I have a question. You use events to call blueprints from components. But as a programmer it's more common for me to call functions instead of events. Might I do like that?

    • @GlassHandFilms
      @GlassHandFilms  Рік тому

      Absolutely! You can definitely do this Andrew! Thank you for watching :)

  • @romanrehacek2739
    @romanrehacek2739 Рік тому +1

    pretty tutorial, nice language, good explanation, i just wanted to know what and how to use the actor component so it only took me a few minutes of the tutorial to understand but i kept watching...i started to smile a little when you went to test it and didn't add the actor component to BP_cube, but hopefully everyone will laugh at themselves when they make a similar banal mistake. Thank you

    • @GlassHandFilms
      @GlassHandFilms  Рік тому +1

      Thank you, Roman! I try to be as honest and transparent as much as possible. To me, this channel is about sharing everything :) even the mistakes. Cheers!

  • @ComradNoFucksGivin.
    @ComradNoFucksGivin. Рік тому

    What if I want to make a component with a mesh or other components? Is that possible?

  • @xzeryawilliams2979
    @xzeryawilliams2979 Рік тому

    My get owner node is not returning the owner actor for my component. I am rewatching this video and I think its because my component is a Child Actor component instead of a regular blueprint component. Would this be correct? If so how do I get the owner of a Child Actor component?

  • @WestinsWorldStudio
    @WestinsWorldStudio Рік тому

    Very interesting! I'm thinking of applying this Actor Component concept to a short list of enemy characters with different health and defense values etc. Would I create children Actor Components or incorporate these parent Actor Components and modify them within the various children enemy characters? If this makes any sense.... I'm trying to think this through from a parent/children perspective to which these Actor components would interact with.

  • @madeeasy7148
    @madeeasy7148 11 місяців тому

    Hi, thanks for a great tut, everytime i watch a tutotrial on unreal i see people use nodes i never even knew about, i feel like i should know them all. How do you know what to use and when? I really feel like i dont know what nodes to use and where to connect them sometimes! Thanks

    • @GlassHandFilms
      @GlassHandFilms  11 місяців тому

      Hey there! I understand what you mean. To generally answer your question, it's hard to know everything or learn everything all at once. I would encourage you to keep reading about best coding practices and then try to implement them in unreal engine. Of course easier said than done. :) but as time goes on, you will start to develop a "smell" about the code that you write. You will think to yourself, "there has to be an easier way to do this" and eventually that feeling will lead you to more discoveries. Don't fret and try to have fun! :) there is such a thing as over engineering :) Cheers!

  • @fathom3014
    @fathom3014 Рік тому +1

    First of all i appreciate this video, very insightful as im just learning unreal :D all the info i can get is great, im just curious how would you make different objects do different damage with this? like say different guns, just strictly talking about base damage not any headshot damage or anything like that. so like a pistol would do maybe 10 damage and a sniper does 50

    • @GlassHandFilms
      @GlassHandFilms  Рік тому

      Hey there! You can change the components variables on the blueprints. For example, you add a damage component, then select the variable and on the details panel you can set the default damage variable

  • @lotierm
    @lotierm 3 місяці тому

    They are pretty tightly coupled. Only health component can live without others. So you can't say that you have independent components here. Death and damage components are not independent, so you can treat them as 1 that has tight coupling with health component.

  • @napstablook5757
    @napstablook5757 2 місяці тому +1

    I have a question. In the event graph for BP_Cube, you got the reference for player Character and casted it to the BP_ThirdPersonCharacter, took the capsule component and checked if that is overlapping with the HitBox component.
    Why didn't we just cast the "Other Actor" in the On Component Begin Overlap (HitBox) to the BP_ThirdPersonCharacter and checked if the "Other component" is the capsule component of BP_ThirdPersonCharacter?

    • @GlassHandFilms
      @GlassHandFilms  2 місяці тому +1

      That's a completely valid way of doing it! The difference between the two methods we are proposing would be getting a reference to the player character. So your method would work with NPCs as well. Which may or may not be inherited from ThirdPersonCharacter :) I hope I am understanding you correctly

  • @shrikerecords
    @shrikerecords Рік тому +1

    Hey man - thanks for the great tutorial. I am having some issues with this - I have a main BP_plant, im trying to use a component which I have attached to the BP_plant to make it grow untill a max size is reached then spawn a fruit mesh on the plant.. the problem im having is that I cant seem to add code to a fruit mesh and i cant add meshes to a component.. how do i get these things to be referenceable?

    • @Baleur
      @Baleur Рік тому

      I may be very stupid since im a beginner, but wouldnt you just do what he does in the start of the video? 2:00
      Select your fruit mesh, click "Blueprint" and select "convert selection to blueprint class" then "Harvest components" from "Actor" ?
      Then you have a blueprint of your mesh, which you can add code to, or add a component to.

  • @jensjensen4038
    @jensjensen4038 2 місяці тому +1

    But can you reverse the float variable in the non transform variant in the blueprint? Also why is the boolean always in the elum next to is valid?

    • @GlassHandFilms
      @GlassHandFilms  2 місяці тому

      I'm not sure how to answer your first question, can you please eraborate? As for the second question, are you asking about the death component? And why did I add the "is valid" and "bool" branch?
      If so I can answer that. The is valid checks to make sure that the death component is added to the blueprint class. This is a precaution to make sure the component is added. This also helps with errors and returning null exceptions. So it will keep your game from crashing if you forget to add it. It's also great for branching logic.
      So if the component is present and valid, we check the health and return true if it is less that 0, meaning the actor has died.
      I hope that helps!

  • @shrikerecords
    @shrikerecords Рік тому

    Great tutorial thanks! This doesnt seem to work with NPC's or other types of colisision box's (capsule ect) any ideas opn why that might be? :)

    • @shrikerecords
      @shrikerecords Рік тому

      Ok worked out why it wasnt working - it was because the collision capsuale wasnt attached to the mesh - so when the NPC started moving around it didnt follow it in game and the player couldnt hit it. :)

  • @Defenceless_baby
    @Defenceless_baby Рік тому

    How would you Setup multiple dmg sources example - This character can take fire dmg but will not take Water dmg

  • @gryzlaw
    @gryzlaw 7 місяців тому

    Do you think that three components (health, damage and death) would probably work well as one?

  • @jeremydemarco8697
    @jeremydemarco8697 Рік тому

    Hi and thanks, I don't have is valid as a boolean but only as a fonction in my list, do you know why ? 11:03

    • @jeremydemarco8697
      @jeremydemarco8697 Рік тому

      Nevermind, there was Get componet "by" class and "By" class, I don't know the difference I am a total noob I barely understand what I do /D thanks !!

  • @Baleur
    @Baleur Рік тому +1

    12:00 im totally new so this may be dumb.
    But this really confuses me, why do you add the "damage taken" amount into the same self-actor that is being attacked?
    Doesnt that mean that, if we have "Enemy-A", and select it in the editor and edit his "DamageAmount" variable to say 30, HE himself will now TAKE 30 damage regardless of who else is attacking him?
    Shouldnt the damage amount taken, be a component on the weapon itself?
    Or am i understanding this completely wrong? It seems to me what you're doing here is basically using "DamageAmount" as what SHOULD really be called "Health".
    Because you're not taking the TARGET's health and subtracting it, you're taking the components OWNER and subtracting the health, by the same OWNER's own "damageamount" value (which i here assume means DPS, or damage OUTPUT for instance the lethality of a weapon).
    Wouldnt this mean that the Box you're jumping on, uses its OWN damage output value, to hurt itself.
    Rather than using the CHARACTER's damage value (for instance the damage of a weapon or its jump slam attack)?
    So a peon with a wooden stick that deals 5 damage, would TAKE 5 damage no matter who attacks him, even if another knight with a silver sword that deals 50 damage would attack him.. Since the damage and health are getting the same owner.
    21:48 surely this top section should be in a seperate "damage applied" component of whatever weapon / projectile is attacking something?

  • @thomaskneisel1854
    @thomaskneisel1854 Рік тому

    why not using the eventdispatcher of the actor to emit messages and the components can react to the messages? The Hitbox component trigger some event on the actor including damage, the damage component get the message calculate the deal amount (+- resistence etc) and trigger the tookDamage Event on the actor and the health component took the damage, calulate the amount (+- shields etc) and could trigger a died/destroyed event, so you can have animation/sound/VFX components to react to this events, too. This feels more resusable and you decouple the components completly. I realy like your videos, thx :D

  • @QuiteDan
    @QuiteDan Рік тому +1

    How would you go about fitting an ApplyDamage interface with these components?
    I'm imagining the actor receives the ApplyDamage message, and then it has to pass identical parameters over to the Damage Component?

    • @GlassHandFilms
      @GlassHandFilms  Рік тому +1

      Hey there! So if you had an interface called "ApplyDamage", you could have the damage component implement that interface and then you would get the APPLYDAMANGE EVENT to update your damage component. BTW, huge fan of yours and love what you are creating! Cheers :D

    • @QuiteDan
      @QuiteDan Рік тому +1

      @@GlassHandFilms Haha thanks! Your blueprint series is making me want to refactor a bunch of things, but I must resist for now :D

    • @GlassHandFilms
      @GlassHandFilms  Рік тому +1

      @@QuiteDan :) I wish I could carve out more time for videos! I have a few more videos I would like to add to this subject. Hope to chat more in the future 😁

    • @QuiteDan
      @QuiteDan Рік тому

      @@GlassHandFilms cheers! looking forward to it!

  • @2tired2sleep2
    @2tired2sleep2 Рік тому +1

    please do a video about state machines and animation blueprints/ montages

    • @GlassHandFilms
      @GlassHandFilms  Рік тому

      Awesome! Thank you for the suggestion! I will do my best to cover these topics in an upcoming video

    • @2tired2sleep2
      @2tired2sleep2 Рік тому

      @@GlassHandFilms thank you man, i cant figure it out for the life of me😓😭

  • @ATomCzech
    @ATomCzech 5 місяців тому +1

    Awesome tutorial. I would just increase font size a little bit, it is quit hard to read with youtube compression especially on non 4k screens.

    • @GlassHandFilms
      @GlassHandFilms  5 місяців тому

      Thank you very much!! I always forget to do this with unreal engine and blenders UI 😅 I'll definitely try to keep that in mind for the future. Cheers!!

  • @gamerdweebentertainment1616

    Oh Even doing Health Component, okay... hmmm... I was trying Custom/New Event Graph Approach :)

  • @gamerdweebentertainment1616

    Ok so this fixed my gripe with having only one Begin Play :)
    I can create HUD pieces also for all of them, right? Cool Beans!

  • @TheFunDimension
    @TheFunDimension Рік тому +1

    Yo, ma dad. This is truly informative. Can you do a tutorial about how would you start making an rpg turn base like Final fantasy or something. But explain it like I’m five and also mentally challenged.

    • @GlassHandFilms
      @GlassHandFilms  Рік тому

      Hahaha thank you for the suggestion. I will try and do an example like this in the future where we make a vertical slice of a game. I think that would be super fun. Cheers!

  • @plinyvicgames
    @plinyvicgames 8 місяців тому +1

    have you ever tried using interface events with components? they seem really powerful, but since most interface messages end up targetting actors instead of the components, the components can never really react to the messages without hard coupling the actor to the components.

    • @ZAPcon
      @ZAPcon 6 місяців тому

      From what I've read online, this isn't technically possible; however, I discovered that you can add all of your code into a Function of the Component, and then handle the Interface call on the Event Graph of the owning Actor (drag your component from the component list into the event graph and pull off of it to search for the Function).
      This will also allow for inheritance when you make a child version of the Actor (and seemingly no need to have to connect the function again, despite there not being anything on the Event Graph.
      One thing to note is that if you are looking for any exposed variables and don't see them in the Actor's Details panel in the Level Editor, you just need to scroll down a bit and select the Actor Component from the list. Then you can edit the exposed variables as you would normally.
      While this does work, I am not experienced enough to know if this setup is bad for performance in any way, but I will be using it for now, as it does exactly what I need it to. Good luck!

    • @plinyvicgames
      @plinyvicgames 6 місяців тому +1

      @@ZAPcon that works, but it makes me question the usefulness of components. i feel like components should be able to be added to ANY ACTOR and add their functionality. but doing that is basically just making a data container as a property in an actor...

  • @wilsontrevillion8717
    @wilsontrevillion8717 Рік тому

    HELLO!!! Great Video! I learned a lot but I am trying to get the third person to die...Can you make a video on that?

  • @boristrendafilov2243
    @boristrendafilov2243 Рік тому +1

    That way can you set a different damage values for different "weapons", and different health values for "minions, bosses, etc."?

    • @GlassHandFilms
      @GlassHandFilms  Рік тому +2

      Hi there! You can set the different values in the components variables. Each component is an instance so you are able to change each one individually. Just select the variable and change it in the details panel in the blueprint. Cheers!

    • @boristrendafilov2243
      @boristrendafilov2243 Рік тому +1

      @@GlassHandFilms awesome thank you :)

  • @ripples1072
    @ripples1072 Рік тому

    I really like blueprints as someone who does not have coding knowellege but a lot of the ways to get functional setups seem unintuitive, reading the documentation can be unhelpful at times too (often it just says "do this")

  • @ohmyme13
    @ohmyme13 5 місяців тому +1

    Hi, I have a question. Thanks beforehand.
    I want to have a house with many doors, but only do the event when 1 specific door out of all of them is opened, like a front door. I want to have a singular BP for the doors. In Unity you can just add a script to an object instance, how do I achieve something similar in Unreal? I seem to only be able to create and modify BPs themselves.

    • @GlassHandFilms
      @GlassHandFilms  5 місяців тому +1

      You could use an actor component to achieve this. Or you could use a blueprint interface (I have a video of that on the channel). If you go the actor component route, you can have a box collision component on your door BP and check to make sure that the actor you are colliding with implements your actor component. Let me know if that makes sense. Cheers!

    • @ohmyme13
      @ohmyme13 5 місяців тому +1

      ​@@GlassHandFilms Thanks for the reply!
      I'll also watch the interfaces video, heard they are better to use instead of casting when you can.

    • @ohmyme13
      @ohmyme13 5 місяців тому +1

      @@GlassHandFilms ​ Hi again. I watched the video on Interfaces few days ago, and now came back to this one. It's pretty darn useful. I like reusing things, makes it billion times better & cleaner. Made an Interact system out of Interfaces and Line Traces.
      I'm beginning to get used to Unreal, even though it is stupidly, missing basic features sometimes. Like, it's insane to me that I have to Fix Up Redirectors.
      Though, it forced me to think about version control. With Unity I probably would have never thought about it until it would be too late.
      Great tutorials, short and to the point. Tha'ts why I keep coming back to your vids :p

    • @GlassHandFilms
      @GlassHandFilms  5 місяців тому +1

      @@ohmyme13 hey there! Great to hear from you again!! That's so awesome to hear. And I strongly recommend looking into a version control system that works for you. It's literally a lifesaver. Especially working in a team. Right now I use git, git LFS, GitHub desktop. I find that it's the cheapest option for me. If you're interested I'll try and make a video on it. I've been way deep into VR for the quest 3. Thinking about making a lot of videos about that topic as well. Cheers 😁

    • @ohmyme13
      @ohmyme13 5 місяців тому +1

      @@GlassHandFilms I'll watch if you make one! Git is the one I was going for too.
      If you'll make one, don't leave out more complex but needed things. Cheers man :)

  • @jongofett2343
    @jongofett2343 Рік тому +1

    is their a way to convert a bunch of objects into a bunch of seperate blueprints?

    • @GlassHandFilms
      @GlassHandFilms  Рік тому +1

      If they are placed into your level, you can create a blueprint class from the selected objects. You can also create custom editor blueprints to automate this process for you

  • @LegendOfCalvas
    @LegendOfCalvas Рік тому +1

    Quick question, I made a health component and put it on an enemy, and it works. However when i put it on another enemy that i have. nothing happens, i have a print string to tell me when damage is applied, it works on the first monster but not the second. i set up the collision the same,etc. but nothing happens to the second enemy?

    • @GlassHandFilms
      @GlassHandFilms  Рік тому

      how are you applying the damage? It sounds like maybe you don't have a correct reference to the second monster? Maybe only a direct reference to the first?

    • @LegendOfCalvas
      @LegendOfCalvas Рік тому

      @@GlassHandFilms In my "Apply damage" event i've got my sword trace set up and a node for "actor has tag" Set that tag to Damagable I made sure the new enemy had the same tag. but no luck

    • @GlassHandFilms
      @GlassHandFilms  Рік тому

      @@LegendOfCalvas hmm I would maybe do some checks and print strings to find what is happening. Maybe do some print strings to make sure the collisions are happening?

    • @LegendOfCalvas
      @LegendOfCalvas Рік тому +1

      Yeah, i'll have to fiddle around with it.. I did not know about Components or Blueprint interfaces when I started my venture. and I swear it seems the more I learn, the more steps backwards I need to take. I've got one enemy set up, but I set everything up on it's event graph. Blood emitter/sounds/etc. the sword trace. I don't want all my enemies to die in the same way/play the same sounds. So i'm trying to i guess replicate what I did on the first enemies event graph.. and share it/change animations sounds. depending on what enemy it is.. No idea where to start so im just sitting here staring at youtube trying to smoke enough weed to spark some inner genius i pray i have somewhere! Thanks for the reply sir!

    • @GlassHandFilms
      @GlassHandFilms  Рік тому

      @@LegendOfCalvas I don't wish to confuse you, but a good idea that I try to keep in mind is "how can I build a system that I can go back and update easily if I want to?" You are definitely on the right track. Don't get discouraged :) Everyone goes through growing pains when they learn new things. It's kind of the dunning kruger effect. :) Remember SOLID programming principles (single responsibility principle, open-closed principle, Liskov substitution principle, interface segregation principle, and dependency inversion principle) I hope to do a video on this soon and how it applies to unreal engine. Cheers and good luck!

  • @gamerdweebentertainment1616

    Why Override or it doesn't matter, just habit?

  • @marcooasan1668
    @marcooasan1668 3 місяці тому +1

    What is the different making an actor component than create a parent class that handles the health(for instance) and inherit to all child actors? lets say i am making an actor that has health so every child of it has health functions

    • @GlassHandFilms
      @GlassHandFilms  3 місяці тому

      My first thought would be the modularity of design that you can accomplish with actor components. Let's say you had a table that needs health for some reason before it breaks :) I hope that helps! Cheers!

  • @aprilhamlincom18
    @aprilhamlincom18 Рік тому +1

    Nice - but why did you make the variables as Health and DamageAmount public if you dont use them from outside?

    • @GlassHandFilms
      @GlassHandFilms  Рік тому +1

      haha I can't believe I forgot to show that functionality! but yes making them public will allow you to change them in the editor by selecting the component. Cheers!

    • @aprilhamlincom18
      @aprilhamlincom18 Рік тому +1

      @@GlassHandFilms i know, i was just wondering why you didnt show that 😅 also - couldnt you not just put all the logic in one single component instead of in three? At least in this case ...

    • @GlassHandFilms
      @GlassHandFilms  Рік тому

      @@aprilhamlincom18 yes absolutely! If that works well for your project, you can create all of the functions in one component.

    • @nigelferguson6203
      @nigelferguson6203 Рік тому +1

      you have to get rid of or increase the clamp to give object more health

  • @Enite
    @Enite 11 місяців тому

    Still watching, so will delete if you answer it - but why would we have damage and health exist separate from each other? If something has health, it would need the functionality to be damaged. If something can be damaged, wouldn't it need to damage health? Is there a scenario in which they would exist independent from each other?

  • @_o__o_
    @_o__o_ Рік тому +10

    y u look like ma dad ?

    • @DryzoFR
      @DryzoFR 11 місяців тому

      He is

    • @TommyGunsXL
      @TommyGunsXL 7 місяців тому +2

      He looks like my uncle so you are my cousin.

  • @God0fTime
    @God0fTime Рік тому

    you can do all of this easily with gameplay ability system

  • @ChimpoTalksGaming
    @ChimpoTalksGaming Рік тому +1

    Don't ever delete the mustache. It makes you.

    • @GlassHandFilms
      @GlassHandFilms  Рік тому

      If you take a look at my newest video, mustache is gone 😭

    • @ChimpoTalksGaming
      @ChimpoTalksGaming Рік тому +2

      @@GlassHandFilms HOW DARE YOU, SIR!

    • @GlassHandFilms
      @GlassHandFilms  Рік тому +1

      @@ChimpoTalksGaming hahaha! Who knows, it might make an appearance soon!!

  • @manonthedollar
    @manonthedollar Рік тому

    Between components, interfaces, and inheritance, I don't think I understand when to use each. Like a door. I think I would instinctually create a Door parent class, and a door can be opened, closed, have an open/closed current state, and it can be locked. Then I would subclass that to make my "real" doors. But I could also see implementing a door interface with those same things. Or add a "door" component or whatever. Ugh.

  • @OMG3Dmax
    @OMG3Dmax 9 місяців тому

    it's very difficult for me to understand how it works and how it works, probably because I need to learn some elementary lessons on function nodes and blueprints

  • @sherifhany386
    @sherifhany386 4 місяці тому +1

    Why not use interfaces ?

    • @GlassHandFilms
      @GlassHandFilms  4 місяці тому

      I have a video on the channel about using interfaces. Great thing about components, if you set them up in a modular way, you can easily add them to actors or blueprints

    • @sherifhany386
      @sherifhany386 4 місяці тому

      I totally understand, I was just thinking why not combine a component and an interface together.. that way all the calls would be over the Interface and all the logic would be on the component

  • @ChristopherFranko
    @ChristopherFranko Місяць тому +1

    The audio of this video has ALOT of bass.

    • @GlassHandFilms
      @GlassHandFilms  Місяць тому

      I'm still trying to find a good EQ for my videos 🤣 good to know, I'll try to adjust in the future!

  • @oballard7795
    @oballard7795 Рік тому +1

    ƤRO𝓂O𝕤ᗰ 🤘

  • @Norrun-Dev
    @Norrun-Dev 4 місяці тому

    The start of that music was awful.