Physics or no Physics for 2d platformer

Hi,

I’m trying around with a protoype for a 2d platformer/metroidvania like Blasphmous, Celest, etc.
Now I come to the point where I feel I have to decide if I need to implement the movement either by myself (No Physics, no rigid body, collision detection and handling by my own), or using the rigid body and physics in unity.

The character controll should be very crisp and I want to implement features like, dashing, double jump, sliding down the walls and jump from walls, etc.

Now I’m undecided if to write all by my own is to overkill or to to use the physics I’m constantly fighting against them?

For example in my protoype I have a tilemap with collision and moving my character by changing the velocity of the rb2d component, but If I run against a wall the character sticks there until I stop running. I think this is due the manipulation of the velocity without using forces. But I don’t want to use forces, because this makes reaction of userinput more slow and I want to have a direct response. On the good site, the usage of rigid bodys gives me collision detection/prevention and gravity for free.

So I wanted to ask what is your oppinion about this?

Here are the core points I want to archive:

  • 2D platformer
  • crisp controlls and direct response of userinput
  • movement features like dashing, double jump, jump, walljump, wallslide

Use rigid body 2d for this or without unity physics system?

Thanks and best
L_tD

Hi,

If you’re making a precision platformer, handle your own physics, using Physics2D only for manual collision detection (e.g., raycasts) and trigger colliders. Physics2D’s force/collision simulation makes it very difficult to not get a floaty, unresponsive controller. Sebastian Lague has a good tutorial series: Creating a 2D Platformer

Nice thanks for the tutorial and thanks for the clear answer.

Glad to help!

Could you explain 2d movement physics of celeste

Maddy Thorson explains it best: https://x.com/MaddyThorson/status/1238338574220546049

Funny how almost all of these are essentially “give the player leeway on their inputs and aim” xD
Reduce that to a minimum (on purose) and you get Silksong~