Transforming between 2 different actor locations

Hi everyone, I’m currenty trying to implement a pickup system in my game whereby a character can pickup and inpsect items. The intended behaviour is that the player would click on the item, which would then move the location of the static mesh smoothly to the mesh parent on my main player’s first person camera.

The problem I’m having is working out which transform to use, I’ve tried relative and world but none of them seem to move the item to where I’m wanting it to go (the ‘MESH_NEW POSITION’ on the character)

I’ve tried using the different relative vs world locations but can’t seem to get it to work!

Does anyone know how to bring that location data inbetween different blueprints?

Any help would be greatly appreciated, thank you!

Item Blueprint:
The PLAYERREF is being cast from a reference to the main character blueprint

Mesh Parent on Main character:

Current outcome:

Goal outcome:
(Item would smoothly scales up to in front of first person character)

Get Relative Transform returns the transform relative to its actor which means that BASE MESH and NEW MESH POSITION are given transform in different reference frames.

  • Get Relative Transform(BASE MESH) is in the coordinate system of the pickup.
  • Get Relative Transform(MESH NEW POSITION) is in the coordinate system of PLAYERREF

In order to make it work you have to use the same coordinate system when moving.

  • Try to get MESH NEW POSITION in world coordinates and then transform them to the relative pickup coordinate system.
  • Or use Get World Transform for both and Set World Transform.

I’m not sure about the actual names of the nodes. I have to go to work but when I get back I’ll send you a Blueprint if you are still struggling.

1 Like

Store the Transform in a variable before the Timeline and use that variable as the input for Current in the TInterp node. I also recommend using World Transform for both.

1 Like

Thanks both for your responses it’s really appreciated!

I tried making those changes but unfortunately it still seems to be acting the same way or incorrectly, except now the keys seem to move down for a second before they move to the left.
(I tried inputting the world transform from the ‘MESH NEW POSITION’ into the target but it seemed to just disappear when clicked)

@dZh0 would you mind explaining where best to use the set world transform node?

See below for updated blueprint:

It’s a matter of what your target and current are set to.

I imagine you want “MESH_NEW POSITION” to move towards the camera.

Current should be “MESH_NEW POSITION”
Target should be where you want it to end up, so I’m guessing “FIRST_CAM”


This is the world transform approach. (Note that the getters are also in world coordinates)
Keep in mind that after the animation is done the position of the pickup is no longer updated and it stays behind when and if the player moves.

If you want to move it with the player you’ll have to child it at the end or update it every frame. Alternatively (and maybe this is best) you can have an empty mesh component in the player that is set to the (MESH on inspection) and moves from the Pickup position to the NEW POSITION. This way it is always a child of the player and will always move with them.

P.S. I’ve just noticed that you are using a TInterpTo instead of a simple linear interpolation. The function you are using requires delta time and doesn’t need a timeline but it should be used in tick.


This is how this is used but it the object noticeably lags behind when moving.

1 Like

@dZh0 Thanks so much for that - it makes sense but for some reason my item is still spawning elsewhere on click… I think I’m getting closer to identifying what the problem is, I scaled the keys up drastically so I could try and debug where the keys where actually moving to, turns out they are way off in the distance??


It’s almost like it’s scaling the world position possibly?

Would there be any sneaky transform settings in my player BP that would be throwing this off? seems like something is throwing the whole transform off but I just can’t work out what it is… :frowning:

This needs to be Set World Transform not Relative.

1 Like

Whoops! I knew there was something I was missing in plain sight :sweat_smile: :sweat_smile:
Thanks so much for all your help guys

1 Like