Scenes

The package contains several scenes which demonstrate each of its features.

01 Movement

This scene introduces the player's movement controls and mechanics.

All player input is handled by the Player Brain which communicates the desired actions to various other components.

Input Action Implementation
A/D or Arrows Move Left/Right Physics is handled by Ground Character Movement and animations by Locomotion State.
Hold Shift Run Part of the same scripts as above.
Move on stairs Stairs Snapping up and down stairs is handled by the Character Body component.
Tap Space Jump Jump State
Hold Space Jump Higher Hold Jump State
Jump in air Air Jump Air Jump State
Move into wall Wall Slide Wall Slide State
Jump off wall Wall Jump Wall Jump State

02 Attacks

This scene introduces the combat system with melee and ranged attacks, destructible blocks, and enemies.

Input Action Implementation
Left Click Melee Attack Advanced Attack State
W + Left Click Melee Attack Upwards Advanced Attack State
Left Click Repeatedly Melee Combo Attack Advanced Attack State
Right Click Throw Attack Basic Action State using a Ranged Attack Transition.
Jump + Attack Melee Air Attack Advanced Attack State
Feature Implementation
Destructible Block The Hit system manages the damage and the Destructible component receives it.
Enemy AI Behaviour Tree Brains
Enemy Attacks Basic Action State using an Attack Transition.

03 Teams

This scene introduces the Team system which allows the Player and Gobbler enemy to be hostile to everything else while the other enemy types don't harm each other.

04 Platforms

This system introduces the simple Moving Platform system, spikes, and slippery Ice platforms.

Spikes use a PassiveHitCollider component to Hit anything touching them.

Ice is implemented by giving the platform's Collider2D component a PhysicsMaterial2D with the Friction set to 0 (the same one used by characters). The friction is then taken into account by the Ground Character Movement component.