In this course, you will learn how to program a multiplayer First-Person Shooter from scratch using industry best practices. This project scales to AAA quality competitive games, but also works for small indie games and single-player shooters.
With our data driven approach, we will create a scalable shooter game project designed to be extended with new capabilities and weapon types by changing adding assets and data, but not needing to alter existing code. Data assets store animations and montages, icons and UI messages, and our code references them efficiently with Gameplay Tags. An asset pack is provided for this course, including all meshes, animations, weapons, sounds, Niagara system FX, and icons we will be using throughout the course. No need to find free assets or retarget animations.
In this course, you will learn:
- How to set up first and third-person meshes for first-person shooters in multiplayer
- Setting up Enhanced Input for handling locomotion as well as shooter-specific inputs like firing, reloading, cycling, and aiming
- Creating a weapon inventory with weapon cycling, designed for any number of weapons. Rifle and Pistol meshes are provided
- Creating Data Assets for efficiently organizing animations and montages that our character Animation Blueprints reference to easily blend to the correct pose based on the current weapon
- Creating a full-fledged Animation Blueprint for both first and third person meshes, with aim offsets, hand IK, strafing, jumping, crouching, and turn-in-place with orientation warping. All animations are provided.
- Implementing Client-Side Prediction for Ammo, retaining server-side authority while keeping the client-side experience responsive and instantaneous
- Implementing weapon aiming, with aim animations and field-of-view zooming and look-sensitivity adjustment






