I’ve been trying to use the ‘Add Movement Input’ Node on an unpossessed actor and it doesn’t work. I’ve done some research and it looks like its a commonly complained about issue. I guess my question is, what is the reason for ‘Add Movement Input’ to be disabled when unpossessed? and is there a way around it?
I’m not sure about why inputs don’t work without a controller, but an easy way around is is by creating an AI controller for a pawn whenever he is not possessed by a player. Make sure the pawn’s “Default Controller” is set to AIController in the blueprint’s defaults and call SpawnDefaultController.
Thank you for the reply. I will try this as soon as I can and get back to you with the results!
Umm… this may be a really dumb question but Where is the Default controller Setting? I’ve found ‘AI Controller Class’ is that what you are talking about?
Ok It worked! Kind of… My player is now moving, but WAY slower than it would if it was possessed by a player. why is this?
Still need some help with this. The unpossessed actor that uses ‘add input movement’ moves incredibly slow. Much slower than it should and much slower than it would if you were to possess the character. Don’t hesitate to brainstorm out loud either! it may get me going in the correct direction.
Add Movement Input takes in a float for Scale Value, maybe just multiply your float going in there by some number to increase the scale value ?
Tried this. I multiplied it by 10 but to no avail.
I’m really discouraged now. I’ve been stuck on this for about 8 days and haven’t been able to fix the problem. I now spawn an AI Controller for my character which allows me to use ‘Add Movement Input’, but for some reason when controlled by the AI the character will move at a snails pace which is a lot slower than if a player was controlling the character. I’ve tried multiplying my scale value by larger and larger values but the speed never improves. If anyone has dealt with the same problem or has an idea of what to do please let me know! I’m desperate!
YAY! Thanks to everyone who helped! I finally figured out what I was doing wrong!
Perhaps you can share with the class how you fixed it in the case someone else comes across this issue.
Its generally best to tell everyone how you fixed your issue for future archive/searching.
Well I am adding movement input in a timer. the problem I had is that the loop time for the timer was way longer than time between ticks. So I just recorded the Delta Seconds from event tick and set the time for the timer to the delta seconds. worked like a charm. I probably should have thought about doing that quicker than I did, but that’s alright I’ve fixed it now!
Hi,
Old topic but in case anyone still wants a possible solution:
There is a member of UCharacterMovementComponent called “bRunPhysicsWithNoController”. The comment says “If true, movement will be performed even if there is no Controller for the Character owner”
So set that to true and give it a shot.
Hope that helps someone, if not the OP (it’s been a while).
Jin_VE, just wanted to say thanks, after a looong time stumped on this, you just saved the day by pointing me to that tickbox (CharacterMovement component -> General Settings -> expand the box out).
Great work
Jin_VE Thanks that really helped!
Here I am in 2022 confirming that this indeed solved my problem too in UE5.1. Had the main pawn spawn an actor to sit on, like a mech, and couldn’t move the mech without doing this.
Still helping people in 2024, thanks!