It’d probably be better to either store a reference to the controller on the character class and unposssess in your disable movement function and then repossess in a branch statement or something or do what i did
in your character drag out the player movement component and search for set active and set it to false or true respectively. My game uses the top down controller though so this method might be a little different for you idk about camera movement. Alternatively in this method you can have a bool on the character that says is moveable and in the event graph in the camera movement section you can do a branch before all the yaw and pitch stuff and make the conditional the controllable boolean.
For sure, I’ll try that. I just don’t get why that function isn’t working though. Like, isn’t that the purpose of it? For whatever reason, if I set it up to where the target is the character who is doing the montage, the character will stop and have no input, but plays the animation after the delay. It makes no sense, like as if the animation montage function was placed on the end instead of where it is at.
So I’ve been going nuts trying to pickup an item when pressing an interact button and keeping the player from moving.
I have it set up where I go to the item, my character faces the item, plays an animation to pick it up, and then it disappears. I want no input from the character when the animation is playing, so I have used the “disable input” function, but my character still moves. If I connect the character to the node, then the animation won’t play but there is no input. If I Get Player Controller and connect that to the disable input node, my character is able to keep moving and I can press any key.
I’ve watched this tutorial [UE4 Animation: Enable / Disable Player Input - YouTube] which seems to work for the person easily, but it won’t for me. Anything I can do? Again, I don’t want to use disable movement because then my character can still press buttons. I get the YouTuber is using “use animation” instead of “animation montage,” but I have tried swapping out functions and using his and I get the same results. It’s either play the animation and be able to move, or have the character just stand still with no animation.
I think disable input is one of those really misleading nodes where you have to cast your controller or use it a certain way. I love this engine but they have a lot of stuff that they need to make better documentation for
Have you tried getting the controller of the actor instead of player controller?
On a different note, I also use anim montages for most things and I ended up using branches on most input actions - movement, jump, attack, etc. Though, I did it this way because the input disabled my camera control which I wanted to keep so I couldn’t disable all inputs. Might be something to consider down the road.
I’ll probably end up having to use branches as well if I can’t get it to work. What do I type to find the controller of the actor? I’m not finding anything when searching “Actor Controller.”
Yo so I figured it out. I didn’t have root motion enabled on the animation. For whatever reason, that kept the animation from working, as well as the player being able to button mash, but I got it to work properly. I appreciate the help from you both
I know this is pretty old at this point, but if anyone’s still having troubles, I found that if you add a “Get Controlled Pawn” after your player controller reference it seems to disable input reliably.
You cannot use DisableInput on the PlayerController. You must use DisableInput on any Actor that your PlayerController passes input to (99.99% of the time, your Pawn).