Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs

Collisions were easy, I just used a series of Raycasts (rather than Unity's built in physics) and I tracked velocity internally rather than use a Rigidbody. It gives you much more control (ie, I used different layer masks depending on your y speed in order to do one-way platforms) and much more information than the normal physics engine does.

The hardest part of this one was calculating slope acceleration based on the ground normal. The difference between this engine and my other platformers is that it has two speeds, one for airborne (Vector2) and one for Grounded (float). With the sign determining direction on the ground it made adding/subtracting based on the ground normal dot much easier.