Projectile Movement component homing functionality not working

Hi there. I’m trying to get a homing missile blueprint working, by making it a child of the Projectile class and using a Projectile Movement component. Within the latter, I’m aware of the homing target that you can set. However, no matter what I do to try to activate this functionality, it only travels along the local space vector 3 provided in the Velocity category:

As you can see, I have the homing settings ticked and set to crazy numbers, even force the homing projectile bool in the event graph, but nothing changes; it only listens to the velocity set in the boxes below. What am I doing wrong?

It looks like you’re casting to the MyCharacter class, rather than a specific character. I reduced gravity and set the magnitude so the effect would be pronounced.

Hope that helps.

Well that helps me get rid of an extra cast, but the effect was exactly the same; It still does not follow me whatsoever and just rides the axis into oblivion. I too have gravity disabled and have a crazy magnitude, but it refuses to follow me.

Try changing your velocity to something similar to mine, instead of have a value for x,y,z. I verified in a brand new FPS blueprint project that this works - here’s a screenshot of my entire blueprint.

I’ve matched your settings number for number, I’ve double checked the settings on my mesh and collider to make sure they could all simulate physics and have collision. Nothing… Could it have something to do with the fact that I have gravity turned off for the entire game, since it takes place in space?

It stopped moving when I simulated physics, so I disabled that. But it still moves straight forward and does not care about its homing target

AHA! I found the problem. It was childed from a class I made instead of Actor. That’s annoying… I wonder why that was causing the issue?

Anyway, thank you!

For future users I wanted to add the most common reason why this might happen. The projectile movement component is setup so that every tick it checks whether the root component that it is controlling is simulating physics. If it IS simulating physics, the homing functionality is completely bypassed.

So if you have a blueprint setup where the root component is simulating physics, you need to unsimulate physics to allow the ProjectileMovement to do his work.

2 Likes