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
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.
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
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.
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.
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
@@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
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.
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
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?
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 :)
@@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
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".
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.
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.
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!
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?
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
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?
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
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!
Beautiful work man! You literally saved my day. Thanks for this bro and keep it up!
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
Glad I could help :)
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.
You're a damn genius,a real gamechanger. Appreciate your work man! Can't wait for more tutorials!
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
hello friend! Did you find a good guide for AI?
@@kittymoonszz not yet but i have been working on other stuff first
@@PuniieGodx oh ok, thanks for answering!
super helpful! thank you so much man I'm gonna use this soon :)
No problem! :)
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.
Just found this channel from your tutorials… excited for eeve too
Thank you so much for the support :)
cant wait for the pickup system
Will be making that soon! :)
wow this is awesome
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.
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
@@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
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.
Thank you so much. so useful! Would be even better without the background music. It's not really necessary. We're here to learn.
Everytime I follow Step By Step The Icons arnt showing up when entering the circle.
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
Something is making the icons not appear am i'm not sure why.
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?
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 :)
Thanks, I think I kinda get it now
@@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
6:27 this is just a marker for myself to finish this when I can
that is so useful.
Happy to hear it! :)
Hi.
Can you show how to pick up items like guns like in resident evil games?
Shadow of the object disappears when i get out of the range, what might be the problem?
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".
Thank you
You're welcome!
Why the billboards doesn't show up? It doesn't work.
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.
@@Jopainn
It really works, thanks for your help
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.
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!
Did you find how to do this?
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?
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
@@codethings Thank you for the answer. Now I completely understood it!
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?
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
But wouldn't it take a lot of time if we did the same thing for every interactable actor in the project?
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!
@@codethings thank you🌹
I'll Check it now👍🏼
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?
It’s no problem, this link should work :)
discord.com/invite/ngVv7JQJMT
@@codethings It works!! thank you:)