During my second year of University, we had a module to develop a small game using Unreal Engine 4. The first semester of the year was mostly focused around getting us introduced to the engine with a solo project being assigned to develop this small game with no specific theme. I ended up deciding to create a boss fight based on a pervious boss fight I had worked on during my time at College (That has since been lost). This boss fight was by far one of the best projects I have developed. It still even gets brought up occasionally by lecturers.
This was my first time properly using Unreal Engine 4 as I had never previously went too in-depth with the engine until this point. I was quite excited to learn how to use the engine and hopefully develop something amazing within it. Originally I had only used blueprints so I put a large focus into just using C++ whenever possible. Sometimes however it was just quicker to develop something within blueprints, and even easier at times so a mix of blueprints and C++ was used for this boss fight.
The Boss is fairly simple with a behaviour tree being used to handle the actions of the two attacks that the boss has. Its laser attack uses a raycast to fire at the player, damaging it if connected or stopping if it hits a wall, with an effect along that raycast to give the experience of a laser. The ball attack is simply several projectiles that are fired at the player and explode on impact. Lights are used around the arena and within the eye of the boss to give a indicator of the type of attack the boss is about to use.