[TUTORIAL] Physics Handle / Pick Up Physics Objects

Hey guys,

For anyone interested, I just posted a tutorial for how to create a Skyrim’ish style physics object pickup/throw in blueprints.




I’m sure a lot of people will find this very useful. I am going to try this out today itself :slight_smile:

Thanks for the tutorial, I can’t wait to test this out later

Nice tut! Would be awesome to have a C++ version too.

This is just what I’ve been looking for!

Gonna give it a try now, thanks for sharing.

Me too, very cool , thank you

Ok, im an extreme noob with blueprints, so please bare with me.

I’ve setup my “physics throw” blueprint, but am not sure how i actually use it in the game?

Hi hobbitjack,

Here is a video of this blueprint in use.

Depending on how you set your controls up, you should be able to just click on any physics object in your level (that is within range of the line trace and under the set weight) and pick it up. As long as you hold the button in, it should hold the physics object in the air in front of you.

If you have any other questions, just let me know.

Hey TJ,

Thanks for the quick response. Im still having trouble getting this working,

Im no doubt doing/understanding something wrong, but heres what ive done:

Created a new First Person Project –> Added all your pickup blueprint steps to the default mycharacter blueprint and thats it.

Im probably missing something obvious.

I didn’t really do anything outside of that blueprint that should effect it, but my testbed is full of alterations. Could you post some screenshots of your blueprint setup? I’ll look it over and see if I can find anything.

Here’s what i’ve got:


Okay, I think I see the issue. In your ‘Add and grab PhysicsHandle’ section, make sure to take the Break Hit Result’s ‘Hit Component’ and add it to the ‘Set Physics Object’ node.

Adjust that and let me know if that works.

Corrected, as you suggested, i made Physics Object a primitive component and it all connected up.

Edit: Huzzah! Its now fixed, when i re-did the physics object type, i forgot to set its default to PhysicsBody!

Thanks again for your help TJ, i feel i’ve learned alot from this tutorial.

Hi sorry to disturb you but im very very new to unreal and blueprint as was wondering the variable you set called physics objects what variable type is etc im using 4.6 and cannot figure it out :slight_smile: thank you in advance and thankyou also for the the awesome tutorial its very helpful :smiley:


You want to drag off of the “Hit Component” and click promote to variable, it will then create the correct type for you, it should create a primitive component variable.

Hi TJ, sorry to bump such an old thread but I’ve been playing around with this tutorial all day and I can’t seem to get it working. I’ve followed the tut to the letter (can provide pics), but all that is happening is when I click the actors and it’s hitting (I can tell by the line and the red box, as Draw Debug Type is on), the actor is just disappearing, I’m not picking it up or anything, it just vanishes. Any ideas?


I’m not sure what that could be right off, but feel free to post screenshots of your blueprint graph and I’ll take a look.

Ok ! Here’s screencaps of the blueprint:

And for the sake of prudence, here’s the other nodes that are in the blueprint (ripped out of the first person shooter content example):

Any ideas? Thanks for the great tut + help, either way

Also, how did you do that thing where your lines are pinned in places? So that you can read the blueprint more clearly - I can’t work it out

Hi TJ,

Thanks for this great tutorial it works great for me. I’ve now used this to create amnesia type movement by using the mouse axis to effect Item location so you can drag your mouse back and forth and slowly open physics doors so you can peek! It works real good I just have 3 questions… (Bet you’re thinking ohh no…)

Question 1, In the ‘Get Other Object Location’ why do you set a variable for ‘OtherItemRotation’ when it appears this does nothing later on in the tutorial? I have removed this from mine as I did not understand its purpose?

Question 2, when i trace to hit a physics object it pushes the physics object slightly when the trace hits, so when I grab my physics door it pushes forward slightly when its grabbed, is there any way to reduce this forward push? Maybe settings inside the grab component?

Question 3, Replication (Uhh Ohh…) I’ve tried to replicate this by using a multicast and on various attempts of running it on server, but I am finding it hard to replicate the movement of the door/Physics object once its grabbed? Any idea what part needs to be replicated?

Thanks for the awesome tutorial.


Okay, I believe the issue is right at the beginning in the “Sets pickup object location”. You are multiplying the Get Actor Location and the other multiplied value when you need to be adding them. If you change this to an Add node, it should work fine.

Post back and let me know if that fixes it.