How To Make a 3D Interaction Icon System in Unreal Engine 5

Поделиться
HTML-код
  • Опубликовано: 28 янв 2025

Комментарии • 54

  • @priyansh_jsy
    @priyansh_jsy 18 дней назад +1

    Beautiful work man! You literally saved my day. Thanks for this bro and keep it up!

  • @DarkPlayerBr
    @DarkPlayerBr 6 месяцев назад +8

    Thank you very much man, this optimization logic that does not use the cast for the player will greatly reduce the size of my game. I would literally give like 3 casts in a bp of a door

    • @codethings
      @codethings  6 месяцев назад

      Glad I could help :)

    • @tonetfal
      @tonetfal 4 месяца назад +1

      That cast wouldn't reduce the size of your game by any means.
      In regards to the memory, cast makes sure that the class (rather BP in this context) is always loaded if the BP containing cast is loaded. So if your pickup BP is loaded, it will make sure that the character BP is loaded as well. However, your character is literally loaded throughout the whole game, so it wouldn't load anything.
      An easier approach would be by creating a separate collision channel for players only, so that it would notify about begin/end overlap when an actor that wants to block player collision channel is in/out the area. Obviously, the player collision channel would be assigned only to the player character. In that case, you can pretty much assume that the thing that is/was overlapping with the pickup was the player character, and nothing else, so no additional logic is required to identify what began/ended overlapping with the pickup.

  • @blacies2166
    @blacies2166 2 месяца назад

    You're a damn genius,a real gamechanger. Appreciate your work man! Can't wait for more tutorials!

  • @PuniieGodx
    @PuniieGodx 9 месяцев назад +6

    cant wait for the next videos! im making a horror kinda like resident evil 7 so your tutorials are just perfect for this! im just kinda stuck right now with making AI

    • @kittymoonszz
      @kittymoonszz 5 месяцев назад +1

      hello friend! Did you find a good guide for AI?

    • @PuniieGodx
      @PuniieGodx 5 месяцев назад

      @@kittymoonszz not yet but i have been working on other stuff first

    • @kittymoonszz
      @kittymoonszz 5 месяцев назад +1

      @@PuniieGodx oh ok, thanks for answering!

  • @celianna4320
    @celianna4320 11 месяцев назад +4

    super helpful! thank you so much man I'm gonna use this soon :)

  • @nassergreatdeveloper3745
    @nassergreatdeveloper3745 3 месяца назад

    Thank you so much for your help. Guys be sure when select overlap actor, it should be the target is Actor because we have a lot ( is overlap actor) and it has different uses.

  • @Alpha_GameDev-wq5cc
    @Alpha_GameDev-wq5cc 6 месяцев назад +1

    Just found this channel from your tutorials… excited for eeve too

    • @codethings
      @codethings  6 месяцев назад +1

      Thank you so much for the support :)

  • @hurmpel
    @hurmpel 11 месяцев назад +4

    cant wait for the pickup system

    • @codethings
      @codethings  11 месяцев назад +2

      Will be making that soon! :)

  • @SilentJinxStudio
    @SilentJinxStudio 2 месяца назад

    wow this is awesome

  • @LyriaStudio
    @LyriaStudio 3 месяца назад +1

    Casting on a character that is permanently loaded into memory will not increase the memory further. So it is not a problem to cast on the player's character at all, even in an event tick.

    • @darkplayer2018
      @darkplayer2018 2 месяца назад +1

      Why does literally every god damn tutorial on the internet says it’s bad? I’m genuinely asking bc I’m curious and hate casting bc everyone says you should avoid it

    • @rostislav3470
      @rostislav3470 Месяц назад +1

      @@darkplayer2018Casting is heavy operation, but if you are not using it in big loops, then it’s perfectly fine to use casts. I mean, there is a lot of cases where you have to use casts

  • @exgaiden
    @exgaiden 2 месяца назад +1

    I'd recommend a slight adjustment, instead of using the Billboard, use a Widget and call that, otherwise the Billboard will be subjected to any Post Process Volume you have.

  • @lolaswift111
    @lolaswift111 Месяц назад

    Thank you so much. so useful! Would be even better without the background music. It's not really necessary. We're here to learn.

  • @jonnyk402
    @jonnyk402 4 месяца назад +3

    Everytime I follow Step By Step The Icons arnt showing up when entering the circle.

    • @HASAN6590
      @HASAN6590 19 дней назад

      Make shure that you put ("Begin Overlap" Sphere Collision) instead of Icon. i had this problem. i could make mistakes in my sentence but i hope ull understand

  • @wolvezz9282
    @wolvezz9282 3 дня назад

    Something is making the icons not appear am i'm not sure why.

  • @dreamsengineer8597
    @dreamsengineer8597 7 месяцев назад +3

    hi i have a question wouldn't casting be fine in this case because your casting the main character which will always be in memory or am i understanding this wrong?

    • @codethings
      @codethings  7 месяцев назад +1

      Great question! From my understanding of memory usage in unreal engine, it is all dependent on instances. So for example, since we are using the first person character already, the memory usage caused from that character being spawned in will be present, but when you cast to the character in an item, it will cause an additional reference to the first person character for every single bp_item. This will cause an extreme load if there are many different items present in your game. They always say, if you dont have to cast, dont cast because youre essentially inheriting all the memory usage from that casted item. Better to be safe than sorry I suppose! That is my understanding at least, hope that helped :)

    • @dreamsengineer8597
      @dreamsengineer8597 7 месяцев назад

      Thanks, I think I kinda get it now

    • @rostislav3470
      @rostislav3470 Месяц назад

      @@codethingsWell… you are wrong. If you are referencing to the same BP that is already loaded into memory, then nothing will happen, because it’s already in memory and there is no need to make a lot of instances of it

  • @ShaggysCRAZY
    @ShaggysCRAZY 19 дней назад

    6:27 this is just a marker for myself to finish this when I can

  • @parsa3611
    @parsa3611 7 месяцев назад +2

    that is so useful.

    • @codethings
      @codethings  7 месяцев назад +1

      Happy to hear it! :)

  • @galberger3937
    @galberger3937 Месяц назад

    Hi.
    Can you show how to pick up items like guns like in resident evil games?

  • @AstralEdge_Interactive
    @AstralEdge_Interactive 6 месяцев назад

    Shadow of the object disappears when i get out of the range, what might be the problem?

  • @陈大伟-n9o
    @陈大伟-n9o Месяц назад

    At first I was wondering why I couldn't achieve the same effect as in the video, but then someone in the comment section reminded me that I could use "get player pawn".

  • @MustafaDagdelen
    @MustafaDagdelen 6 месяцев назад +1

    Thank you

  • @AlejandroLopez-c3b
    @AlejandroLopez-c3b Месяц назад

    Why the billboards doesn't show up? It doesn't work.

    • @Jopainn
      @Jopainn Месяц назад +1

      I had the same issue but found a fix. If you replace the get player controller with a get player pawn it works. Because the get player pawn is more of a position tracker and the get player controller is more of a movement tracker.

    • @陈大伟-n9o
      @陈大伟-n9o Месяц назад

      ​@@Jopainn
      It really works, thanks for your help

  • @ethandoesguitar1019
    @ethandoesguitar1019 4 месяца назад

    Sick video, just curious, how would change the location of the billboards to make sure its above the item at all times? For example, if the pickup item is upside down, player won't see the icons.

  • @StraySheep1
    @StraySheep1 3 месяца назад +1

    Great video! I have a question - how do I apply this logic to other bp actor? I have a BP_Note for reading files and I want to place the icon on the file so how can I do that? Thanks again!

    • @cembra2398
      @cembra2398 Месяц назад

      Did you find how to do this?

  • @academictakumi7406
    @academictakumi7406 5 месяцев назад +1

    Thank you for the amaizing tutorial video!!
    I have a question. At the end of the video, why do you set the outer and inner sphere radius nodes to the construction script pin?

    • @codethings
      @codethings  5 месяцев назад +1

      Yes, the reason I did that was because doing that in the construction script not only increases performance per blueprint (because you’re not running it during runtime but instead before the game loads) but it also allows you to see it while in the editor viewing where the sphere radius is

    • @academictakumi7406
      @academictakumi7406 5 месяцев назад +1

      @@codethings Thank you for the answer. Now I completely understood it!

  • @LyriaTempest
    @LyriaTempest 8 месяцев назад +2

    Super useful thank you! If we want to apply this Sphere Collision logic with icons to other Blueprints, would it be best to create a ChildActor like BP_SphereInteraction?

    • @codethings
      @codethings  8 месяцев назад

      I would create a parent bp class probably classed BP_ItemIcon and then make the static mesh instance editable as well as radius size for both icons and then make child classes of that parent class for any item I would want to make. For example: Food item, Note item, etc would all be children of the parent class BP_ItemIcon in that case

  • @noice_folk6107
    @noice_folk6107 7 месяцев назад

    But wouldn't it take a lot of time if we did the same thing for every interactable actor in the project?

    • @codethings
      @codethings  7 месяцев назад +1

      Yea it would, but in the interact system video I followed with, I fixed it so that it would be a base blueprint for every item that you want to have that and then you can make a child of it every time and it would immediately have that!

    • @noice_folk6107
      @noice_folk6107 7 месяцев назад

      @@codethings thank you🌹
      I'll Check it now👍🏼

  • @academictakumi7406
    @academictakumi7406 5 месяцев назад +1

    I am sorry again to comment here, I tried to join your discord server, but it won't let me ;(
    Could you give me an inivitation so that I can join in?

    • @codethings
      @codethings  5 месяцев назад +1

      It’s no problem, this link should work :)
      discord.com/invite/ngVv7JQJMT

    • @academictakumi7406
      @academictakumi7406 5 месяцев назад

      @@codethings It works!! thank you:)