Why can't my Character walk off Ledges?

I’ve created a project from the coded side scroller template, and I’m trying to put a PlayerController between the GameMode and the player’s Character, so I can swap between pawns. I’m binding the events to the PlayerController, then delegating the inputs to the current pawn. I’ve got it working… mostly.

The one wrinkle is that my character can not fall off ledges, but this only happens when the character is possessed by the PlayerController. If I create the Character via DefaultPawnClass and forego the PlayerControler, everything works as expected. If I spawn the Character through the PlayerController, then everything works except falling of ledges.

bCanWalkOffLedges is set to true, but for some reason the behavior changes when using a controller.

Help? Is there something on the player controller that affects the movement component? I’m I even on the right track to begin with?

Thanks for your help!

One of the settings on the character movement component of the controller blueprint is ‘can walk off ledges,’ and another is ‘can walk off ledges while crouched,’ these will enable/disable the walking off of ledges in either mode. :slight_smile:

This is part of the answer! I had set these to true already, but I did find the cause of my issue:

It turns out the real wrinkle for me was caused by my overriding of StartPlay in my GameMode. I didn’t call the base StartPlay, but when I added the call to the base, everything start working great.

Looking at the docs, it would seem the base StartPlay changes the MatchState. It looks to me like this also has an effect on the walk of ledges behavior (for whatever reason?).