This was very usefull,The best explanation of BPI on youtube most people are copying and pasting tutorials with hideous music playing in the background and just using casting this is much cleaner, Thank You.
And there it is!! Hundreds of tutorials and then there is someone that mentions Append function... that is the "genius" of Object Oriented Programming, you know what you want, you know that it's there - you just don't know what it's called!
Ahh yes, I remember what that was like when I first started learning blueprints.... granted even now there's probably a million things I still don't know.
@@TorQueMoD I was working with Smalltak (An OOP) at IBM the problem with those objects is that you have to learn and remember absolutely 'everything'.., I gave up on Smalltalk as they constantly changed the basic function names. You "hear" that problem in almost any tutorial... "what was it called..." or "oh no, not 'get base function', it's 'get function basics'"... ;-) Also you can see official UE4 tutorials where two experience guys find that they use function that the other never ever knew about...
Why did you add a float in the BPI? You never referenced it. The information I'm looking for was specifically how to share info like transforms between BP, and it seems like you started to give us that but didn't. Good tut otherwise.
Yeah, sorry. I was originally planning to show some more features in a follow up tutorial but never got around to it. It works exactly as you think it would - You can add an input or output and have that info passed between blurprints that reference the BPI. It's like a digital handshake between the BPs and it will pass on whatever info you want.
Yeah, I restarted the engine and the function showed up just like you demonstrated. Not sure what went wrong, but all is good now. You're a great teacher!
What if you just need players and enemies to be able to reference whether it is night or day from your daynight cycle. Right now I have the enemies getting all actors of class BP_daynight and getting the time from it. 'Get all actors of class' isn't very optimized, especially when you have 50+ enemies on screen. I know there is an easier way to reference a boolean from my daynight cycle but idk how to use interfaces as a solution to this.
You wouldn't want to reference all of the enemies, you'd want to have your enemy reference the single sky sphere that contains your Day/Night cycle. What are you trying to do specifically? Why do your enemies need to know if it's night time or day time?
Oh good catch, I can't believe I missed explaining that. Basically it allows you to store the number of times the player walks through the door and then easily pass that info over to other blueprints like a HUD for example. So if you wanted to display the number of times you've walked through the door on screen without using a print string, you could get that info from the BPI_Player blueprint interface. Again, it's just easier that always having to cast to your pawn etc. and you can also do checks for if the object is implementing the interface.
TorQueMoD oh I see that's useful indeed. Is there any downside to using a lot of interfaces ? Because I am doing a project where there is a lot of communications using interfaces
You have to make sure you're casting to an object of the same type. For example, you can't cast from a skeletal mesh to a particle system. This tutorial is showing you how to avoid casting when the two objects are not of the same type. If you tell me what your situation is, then I can try to help you understand why casting is failing.
Thanks for the tutorial, but god damn so much mouse movement makes it really annoying to watch at times. You dont need to do 5 circles around 1 BP action while you're talking about it, you know?!
You want to snap your fingers and be able to make games huh? If a 30 minute video is too long, give up on game design now and find something else to do!
This was very usefull,The best explanation of BPI on youtube most people are copying and pasting tutorials with hideous music playing in the background and just using casting this is much cleaner, Thank You.
This tutorial video is the most useful video of the blueprint interface! Thank you very much!
Despite you saying it was on-the-fly this is more succinct clear and to the point than 90% of tutorials out there, include Epic’s own.
Ha ha, thank you so much :) Glad I could help!
Now now, Mormont. No need to bring his parentage into this :P
@@TorQueMoD totally agree i have been struggling with this, always prefer them longer and wordy so thanks for covering this :)
And there it is!! Hundreds of tutorials and then there is someone that mentions Append function... that is the "genius" of Object Oriented Programming, you know what you want, you know that it's there - you just don't know what it's called!
Ahh yes, I remember what that was like when I first started learning blueprints.... granted even now there's probably a million things I still don't know.
@@TorQueMoD I was working with Smalltak (An OOP) at IBM the problem with those objects is that you have to learn and remember absolutely 'everything'.., I gave up on Smalltalk as they constantly changed the basic function names. You "hear" that problem in almost any tutorial... "what was it called..." or "oh no, not 'get base function', it's 'get function basics'"... ;-) Also you can see official UE4 tutorials where two experience guys find that they use function that the other never ever knew about...
I watch this right before bed so my brain will incorpate it while I sleep. Thank you, Bru-plints Rule! (edit: I went to subscribe and already was!)
I have a problem, my functions are not appearing in the character bp, neither the player stats or the event.
Thank you very much! This was helpful and clear. I can use the stuff.
Why did you add a float in the BPI? You never referenced it. The information I'm looking for was specifically how to share info like transforms between BP, and it seems like you started to give us that but didn't. Good tut otherwise.
Yeah, sorry. I was originally planning to show some more features in a follow up tutorial but never got around to it. It works exactly as you think it would - You can add an input or output and have that info passed between blurprints that reference the BPI. It's like a digital handshake between the BPs and it will pass on whatever info you want.
This tutorial is great. And you should feel great
Thank you. Figured out the Event Passed through door issue?
Yeah, I restarted the engine and the function showed up just like you demonstrated. Not sure what went wrong, but all is good now. You're a great teacher!
Good stuff. And thank you :)
Great tips! Excellent tutorial!
What if you just need players and enemies to be able to reference whether it is night or day from your daynight cycle. Right now I have the enemies getting all actors of class BP_daynight and getting the time from it. 'Get all actors of class' isn't very optimized, especially when you have 50+ enemies on screen. I know there is an easier way to reference a boolean from my daynight cycle but idk how to use interfaces as a solution to this.
You wouldn't want to reference all of the enemies, you'd want to have your enemy reference the single sky sphere that contains your Day/Night cycle. What are you trying to do specifically? Why do your enemies need to know if it's night time or day time?
Thx for a great tutorial! :)
You're welcome :)
Thank you bro, you are the best
Quality Content.
Thank you :)
What was the point of creating a second function with an output ?
Oh good catch, I can't believe I missed explaining that. Basically it allows you to store the number of times the player walks through the door and then easily pass that info over to other blueprints like a HUD for example. So if you wanted to display the number of times you've walked through the door on screen without using a print string, you could get that info from the BPI_Player blueprint interface. Again, it's just easier that always having to cast to your pawn etc. and you can also do checks for if the object is implementing the interface.
TorQueMoD oh I see that's useful indeed. Is there any downside to using a lot of interfaces ? Because I am doing a project where there is a lot of communications using interfaces
@@TorQueMoD I would really like to see that in action, because can't find that explained anywhere. Something is not working for me.
creating the PlayerStats in the Interface was not needed since its working normaly without
That was put in as a category for a future tutorial that I never did actually :P
NumberOfTimesDoorHasBeenPassedThrough... ThisIsNotATooLongNameOfAVarThenTheCharLimitAllowedMeToDoThat
thanks for the info
cast fail always, cast works only with characters
You have to make sure you're casting to an object of the same type. For example, you can't cast from a skeletal mesh to a particle system. This tutorial is showing you how to avoid casting when the two objects are not of the same type. If you tell me what your situation is, then I can try to help you understand why casting is failing.
Thanks for the tutorial, but god damn so much mouse movement makes it really annoying to watch at times. You dont need to do 5 circles around 1 BP action while you're talking about it, you know?!
Lol, it's like gesticulation with my mouse. What can I say, I'm an animated guy :)
Too long :(
You want to snap your fingers and be able to make games huh? If a 30 minute video is too long, give up on game design now and find something else to do!
@@TorQueMoD Nah, make your videos more concise and with less fat in them and you'll have more viewers and more time for yourself.