Download

Pickup object and call function independently for each object

This is my blueprint for my vr pawn and a blueprint i want to use to pickup objects in vr and call function with.
I have collision spheres on my pawn and on the blueprint, but i want the function call to only be when both “Head collision (Proximity)” and and the"Asset Collision (Proximity of food/objects)" collide. We are working on full immersion in UE4 so this part is very important, it would be a big help if i could find out how to do this. Any help is appreciated.

Sorry, I cannot really understand what you are trying to achieve. Isn’t this the same functionality which is already implemented by the PickupActor in the default template? The only difference is that there it recognizes and picks-up only actor which implement the Pickup Actor Interface, while in your case you may want to add a check for a “Food” tag or similar.

The check happens in the GetActorNearHand function. Look at the Does Implement Interface method. You can add a Actor Has Tag call with the “Food” tag, then do a Boolean AND with the previous one before feeding the result into the Branch. See below. This will limit the actors you can pickup to those that have the Food tag specified.

Okay, sorry for the not very clear explanation. We had made our own vr character pawn based off tutorials on pluralsight, since it matched what we needed. As time went by we had expanded the functionality and so on.
Now we have the pawn which can pick up items, and we have food we want to pick up. We have a trigger on the players head, and a trigger on the food, as well as one on the controllers so that the closest actor can be picked up. We want to call a function, IE Garlic on, when the trigger on the food intersects with the trigger on the players head only. Right now it is triggered by all other triggers around it, which isnt what we want.
So in short im trying to limit a trigger interaction with only the food object that the player is holding and the head trigger, and not with every trigger around. If that makes sense.

Ok, I think I understand it a bit better now. Did you try to cast the Other Actor out of the Begin Overlap to the Food BP and only call the Garlic function if the cast succeeds? If not, you have overlapped with something else which is not food and won’t call the Garlic function.

This sounds perfect and no i havent yet. I dont exactly know how either, since one is a pawn blueprint an the other is a regular blueprint could i even do that?
And secondly, would that work per blueprint for food. Like lets say i have 3 of the same garlic blueprint all in the same level beside each other, would it all be independent, or would it all fire at the same time?

Sure you can. And if your food is in 3 different blueprint classes you can try to cast on each one and as soon as it succeeds you know that is the class of the food you have picked up. Or you can use one single food blueprint class and use tags to differentiate them.

6.jpg
this is my new VR_Pawn and my Orange1.
Works good, great even, but with a couple problems, the branch sends both true and false, as well as in the Orange1, i cant call my Left_Grab or Right_Grab. Wondering if the reason the grab cant be used is because i also have it in the VR_Pawn.
Any help or advice?

Checkout my 2 answers here ( the 2n one using InterfaceBP) , it may help you.

Any chance you can share your project (at least a part of it) to check it out? It could be many things, from missing Interface implementation as suggested by @Mhousse1247 to wrong collisions setup. It is hard to tell from what you shared.

If you are interested in interacting with other actors through custom interfaces, a bit like happens with the PickupActor interface in the standard VR template, I recently made a tutorial for a similar request by another user here on the forum. Maybe it is useful to you.

Definitely ill look it up, thanks!

And yea, ill zip it up and send it to you