Today I made the final additions and revisions to my game.
Main Menu Blueprint


Win Screen & Fail Screen


Both these menus have the same button functionality as the menu, as loading the map again resets the game.
Player BP

The different ending widgets are added to viewport according to the player’s “State”.
Enemy BP

The player state “Won” is set once the enemy is destroyed.
Competition Level

Enemy CPP file
I revised my game and decided that if the enemy could be randomly knocked out on their first knockdown, the player would be confused. Therefore, I removed this feature from the final game to instead make it so achieving 3 knockdowns is the only way to knockout the enemy.
Player CPP file
void ACompetitionCharacter::KnockedDown()
{
KnockedDownCount += 1;
if (KnockedDownCount >= 3)
{
State = "KnockedOut";
I added a three knockdown mechanic for the player too, as otherwise the player could always recover if fast enough.
Conclusion
Although my final game was very different from my initial view of a “Virtual Pet” style fighting game with competitions, I am glad I was able to program a fun fighting simulator with lots of unique mechanics.
This project has taught me a lot about writing code, and that I should probably use psuedocode or comments to describe functionality, rather than coding in game-dependent components that become obsolete when I start adding characters.