Advice for Push and Pull object blueprint

Hello, this is my first post here. I’m looking for advice on how to create a Block Pushing and Pulling interaction using blueprints.

I’ll try to explain clearly what I want to achieve.

I’m building a First Person puzzle testing environment, I’d like the player to be able to aim at a Cubes face, click the ‘E’ Key (for example) while within close proximity of the Cube and then have the Cube move a set distance away from the player in a linear path. Similar to how Zelda handles Block pushing interactions, except I don’t require the player to physically walk into and push the Cube. I’d like the interaction I described to be replicated for each of a cubes vertical faces, so in effect the player can position a Cube where they like as if it’s snapping to a grid within a bounded area. As for the Pulling interaction, I imagine once I understand how to do the Pushing, I’ll just create another key press with reversed movement. For now though, the Push is my priority.

I’ve been working through a Blueprints introduction book, so have an okay grasp on some fundamentals; I can fumble my way through creating new inputs, linking them to blueprints, and get actors moving and detecting hits, but I’m not sure how to approach the Cube interactivity I want.

Thanks for reading and I appreciate the help

Hey! I am new here but I would try something like set word location and rotation for the cube, and get the forward vector from the rotation of your character and try to add it to the movement of the cube. Not sure how exactly this would work. There is also something called get control rotation and maybe att that to the rotation and then move the cube along one of the axis.

Progress Update

I got my cube to move how I wanted! I found a Youtube* tutorial which made me rethink what’s going on under the hood when an object is being ‘moved’. The video taught me how to make a Custom Tick to affect an Event which was then used with a Vinterp To Node. While the method in the video taught me a lot, it didn’t solve my issue, or at least I couldn’t get it to work and would like help understanding what I could have done. However in the comments section of the tutorial video it was explained that there is a Node called Move Component To which does exactly what I want, so I’m pretty happy. I now have a block which can be triggered to move smoothly 100 units in the Y and X Axis, stops and can then be pushed again.

Here’s my X+ Axis 100 Unit Movement Blueprint


The next things I plan on doing are to replace the Overlap Event with a Key Press which is allowed when the player Activates the Overlap Event. I also need to figure out how to Stop the Cube from being Moved if there’s a Barrier in it’s Path; any pointers with that would be really appreciated.

The Tutorial Method
As for the Youtube Tutorial’s method, I couldn’t get it to work because I wasn’t sure how to get the Actor’s current Location Transform to use for the Target Location. Here’s what I tried below.
Full Node Network

Problem Area


“Next Location” Variable is an X+ 100 value. I understand why it doesn’t work. The Vinterp To input Current and Target Vectors never meet so they don’t trigger the Bool, because their both referencing the Current Actor Location which is updating with each tick. I’m not sure how to Get the Actor’s Starting Location, have it ‘Freeze’ and then have it update to the Actor’s new Location before the main Event it triggered again. I noticed with the Move Component To Node, it asks for the Target Relative Location. So how do I set my own ‘Relative’ function?

I’m going to keep posting updates in this thread, I’m not trying to Bump it but I’ve seen this topic come up often so it might be useful to somebody. Eventually it might be better to move this thread to the ‘Work in Progress’ sub-forum. But for now I’m still asking for Blueprint help so this sub-forum seems appropriate.

*Youtube Tutorial Link: https://www.youtube.com/watch?v=dffXoEOeAwg