Press to play gameView on GitHub

Demo

Most of the main functionality was all kept together in the 'Player' blueprint. This blueprint would handle stuff like Aiming, Recoil, keeping track of ammo, Etc..

All the data for the weapons was handled using a 'Data Table', This makes it very easy to add or remove weapons or change certain variables and characteristics of a weapon. Within the Weapons data table there was 12 other types of varying data structures to keep track of certain elements of the weapon such as attachments and animations. The weapons structure has 65 different settings that can be altered to make pretty much any weapon type ranging from semi automatic rifles, full auto machine guns or even bows and throwing knifes can be configured using the system.