How to disable "Stop on Overlap" for PLAYER pawn simple move to location? (or alternative)

All I want to do, is move my player “TopDownCharacter” pawn without it stopping when the capsule overlaps with the target location.
(this is making it stop short at the edge of the capsule, instead of centering the capsule on the target location.)

“Simple Move to Location” moves, but has overlap enabled with no way to turn it off.

“AI Move to” and “Move To Location or Actor” won’t move the pawn no matter what I try to link in as a pawn / AI-controller respectively. I cannot find a video or explanation regarding this.

I am using the basic TopDownGame template.

Please provide Blueprint screenshots or C++ code snippets for context. It is almost impossible to answer questions without much context.

Movement but simple move uses stop on overlap with no option to disable.

Move To Location or Actor, thinks it has successfully fired but has not moved.
I’ve tried every combination I could think of:

  • empty / default self
  • Get AI_Controller
  • Get Owner Controller
    (using Get Player Character, Self, Get Player Pawn, Casting, ect.)

To replicate my conditions you can start a new TopDownGame template.

Hey there @Zombinsomniac1! So your “Success” print string there will run regardless of if the MoveTo fails or not as it’s just the continuation of the logic. It doesn’t seem to be completing or failing however.

Hit P to verify the navigation mesh is still there and green. I personally recommend the AI move to node as you can set the tolerance distance directly, and I’d place it on the pawn’s actor BP. I’d also recommend trying something a bit like this:

The 1000 in the distance is needed to verify if it’s just the short distance causing the issue. Let me know how it goes!

Nav mesh is fine.

I tried the Player Character Pawn before moving onto the controller

I went back and set it up like you showed

No movement. Pathing & target destination printout but no success or fail.
Simple move, moves with pathing around objects.

My questions are thus:
(keep in mind I’m new to unreal)

  1. Why can’t I just turn off “Simple move to location’s: Stop on Overlap”? it works to move the BP_TopDownCharacter that I’m trying to move?

It’s a setting on all the other nodes. A setting that doesn’t need to be on, & that shouldn’t be on by default, especially on something called “simple”.

It had to be set on, so it should be able to be turned off right?

  1. BP_TopDownCharacter’s ai_controller is always null, but isn’t it using AI in simple move to move around? Why can I not access it to stick into “Move to Location or Actor”?

  2. Do I need to create an NPC, make pathing AI for it, and have the player control that? Is that how unreal works TopDown?

1 Like

All I’m getting when I think I am supposed to be getting the AIController is:

LogBlueprintUserMessages: [BP_TopDownCharacter_C_0]

But the default class for the BP_TopDownCharacter Pawn shows AIController set. So it should have one?

Made a new BP_NPC

and it has a AIcontroller

LogBlueprintUserMessages: [BP_NPC_C_UAID_A85E45E7F123458201_1311396583] AIController1

My other NPC BP_CanSeeTest has the AIController0

BP_TopDownCharacter does not have anything in the AIController value even though the Class Default says it should
(the one that comes with top down starter pack)

Are you placing the BP_TopDownCharacter on level, or are you spawning it at runtime?
the Auto Posses AI setting in BP_TopDownCharacter is set to “Placed in World”. Try setting it to Placed in World or Spawned

1 Like

Close, but you put me on a winning track.

Fresh TopDown Project.

Looks like spawning at RunTime. Set it to both. No effect.

PLACED HIM IN INSTEAD OF SPAWNING AND NOW IT WORKS.

not off to a great start using unreal… :melting_face:

I take it back, this isn’t solved. I don’t know how to remove the solved tag.

The pawn loses AIcontroller the second it is possessed.

A pawn can only have a single controller at a time, when you possess, the AI controller will get replaced by the Player Controller.

Why do you need to possess if you’re using Move To functions?

  1. I’m sorry, I’m new to unreal. Trying to learn about possession/playerStart/playerPawn now. Nothing I’ve found clearly outlined this interaction prior.

  2. I wanted the player to control their pawn around the level with wasd or L3, but also be able to click/hold to move using the baked in TopDownController if they wanted. But I require a slightly higher level of precision at their go-to location that this forced StopOnOverlay ruins.

(and I’m of the mind player control rules / programming should be inside the player controller and not the BP_actor?)

  1. I think I want a player possessed pawn? I could be wrong. with the camera following/focus, taking in sound from their location, getting detected, interacting, moving between scenes/levels, all the things I imagine a player pawn does. I may very well be wrong here.

Spawn player for me is forced no matter what, and happens no matter what I do, and possession is automatically taking place. I am currently finding documentation / videos on how this works, and what is happening.

  1. I was thrown off because IT IS USING AN AICONTROLLER somehow with “Simple Move To” in exactly the way I want to use it. Except, it has a setting turned on that is default off in the Moveto functions. (StopOnOverlay)

Because of this, I thought running a player controller and Aicontroller at the same time was the default or normal i.e. “You can run your guy around with directionals, you can click to tell your guy where to run and he’ll run there as well, you can start using directionals and he’ll stop pathing/auto running. TopDownGameTemplateWin!” I don’t see why I should be blocked, and am being blocked, from doing so. Simple move itself is proof I can have AIController and PlayerController at the same time. This is so mind boggling to me.

  1. If this can’t be an easy fix, I guess I have to… learn how to have the player pawn spawn, take possession of it, but not have a player controller attached using AI controller instead? or stop possession and spawning completely. Make an NPC pawn, and figure out how to move everything a player pawn did onto the new non-player actor? or find a way to flip to AIController for clickmoves, and then back to player controlled when finished?
1 Like