Project Huntervania

A 2D Metroidvania project - I wanted to try making a 2D platformer/metroidvania.

Controller_monobehaviour
InputControllerSO
PlayerController abstract class

Character Controller

A character controller that is supposed to give the player a sense of agility and speed.

It includes:

  1. Responsive and fluid movement
  2. Abilities such as sliding, double jump and wall jump.
  3. Coyote time for more responsive and satisfying platforming.

Movement


The movement script relies on the input read from the Input MonoBehaviour script. It then communicates this to the RigidBody 2D component, that then handles the movement. I am only dealing with changing the velocity in the X and Y axes respectively and completely forgo using the built in Move function. This allows for more versatility and control. 

MoverPt1
MoverPt2
MoverPt3

Jumping and Collision Detection


The Jumper script relies on two scripts to do its job - the Collision Data Retriever and the Wall Jump Interact scripts.