Home run shooting
Aside from the usual weapons found in an fps: guns, rocket launcher, grenades, etc, the main character also has a baseball bat he can use to strike projectiles back.
What I learned :
Nashmesh system : the enemy’s plot their course to the player using Unity’s navmesh system.
Ray casting : to check if a weapon hits its target a raycast is performed.
Level design : building 3 complete levels with an emphasis on enemy placement. The goal was to force the player to quickly make decisions on how to tackle the situation.
C# first person control : looking up and down, jumping on platforms, etc.
C# Scriptable objects : using scriptable objects to store the weapons characteristics as data rather than creating instances in the monobehavior scripts, and thus write less code.