Whilst I still have more design to implement, I decided to jump back into engine and researched particle systems. The biggest hurdle during this process was getting the player controller to interactc with the particle system (for customising the particle colour). I originally wanted to change the beam properties though the player/game mode so that I could use one particle for the beam, however, through testing and research, I found that I it was possible to create a particle effect variable, which I set in the construction script by calling the value stored in the game mode. This means that I can change/add/remove particle/element types as needed and simply by adding a new pin in the even construction script and setting it to the new particle type (as everything is set by integers).
I have also blocked out the UI menu so that the colours and items of the player can be customised. The customisation items were modelled by a friend to save time. I used dynamic material instances a lot on the player character so that I only need to use one base material. A list of variables are stored in the game mode so they are not reset upon death. These variables are updated when the values are changed in the customiser and the values are set to the player in the character construction script. The menu will respawn the player in order to refresh the values, except in the case of the base mesh colours, which can be updated through the dynamic material instance.