I'm currently developing a 2D Plattformer in Unity. And now I'm stuggling with the Character Controller. I know there are a lot of usefull tips for 2D Plattformer Controller in a Mario or Donkey Kong way of Controlling, which are great, but they don't fit my type of 2D Plattformer. My Levels have a similar concept to those in Ori and the Blind Forest and I wanted to have a similar kind of Movement. So does Anybody know how they achieved this kind Character Movement?
For those unfamiliar with Ori and the Blind Forest Control:
In Mario and Donkey Kong the Levels are very horizontal and you run from left to right. The Ground is sometimes interrupted and you have to jump on several Plattforms to reach the next part of the Ground. The Environment like Ground, Plattforms, Walls are mostly boxes.
in Ori and the Blind there is no run from left to right. The Levels go in all Directions. The Environment is more realistic so you have to slide down curvy Walls and no disappearance of the Ground. Also Plattforms are very rare. So instead of jumping through the Level you have to climb through.
I don't know if that Description is enough so here is some Gameplay.
EDIT: I tried .addForce() for every Movement, but this had a weird Slipping Effect. After releasing a button the Charracter slips a few Meters until it finally stops. So I'm currently manipulating the rigidbody.velocity directly for normal horizontal Movement and addForce for the rest like jumping or dashing.
But I have a lot trouble with Sliding along Walls. As mentioned above the Walls are curvy so just cancelling out horizontal Movement and apply some Vertical Force with rb.velocitiy doesn't work. The Character have to follow along the Wall shape. Thus I added a Force towards the Wall, which pressed the Character to the Wall. But this doesn't work very well with my jumping.