So I am on following a Udemy course to put together a G.A.S ARPG and I am having a bit of an 'Understanding issue’ with the courses implementation of the ability Icon system is not working with a custom feature I want to setup for my game.
TL;DR Everything works as intended when I set the character to spawn in via the regular way of setting the pawn via the game mode. But some systems only work under the hood to a certain extent when I try to spawn in the character in or possess the Character already in world. And I will ultimately like to know why this is the case and how to get the same result wether I bring the character in via the Gamemode-> Default Pawn or the character is spawned in via a custom system like a Character select which is my case.
So I am ultimately using the material from the course (which has been awesome pretty great thus far) as the base framework for both a single character ARPG and a game with the character switching functionality of Marvel Ultimate aliance or the Lego games which allows you to freely switch between characters. My current Issue that I am running into is a problem with the UI elements breaking if the WarriorHeroCharacter was not spawned in Via Gamemode->Default Pawn. All the underlying systems work as intended without fail such as health & Death, Ability Cooldowns, Equipping etc.
I strung together this UI element for a demo build as I followed along the course allowing the player to chose from 3 character options.
Depending on the player’s choice the Menu sends a reference of the character which is our Warrior Hero Character Base from C++ through a game instance and opening the level with the chosen character.

This method of implementation is causing an issue where vaules are not being sent through to the Hero UI component.
The first instance of this was the health bar and rage bar. Not updating with the OnCurrentHealthChanged dispite the fact that when I use a print sting node within the widget to debug if values were being passed in, they clearly were.
My character is able to be killed but the health bar does not move when it is spawned in so it get stuck to how much I set it in widget blueprint preview.
The fix for this issue was to add some extra nodes into the GA_Draw_HeroOverlayWidget Ability. All I basically had to do was jolt the health and rage values from the Heroes’ Ability System component into the UI before it was drawn to the screen and It works as intended. Initially, I hard set it to 1 for a while but then thought about it more after we did the boss health check system and came to this solution.
However, I am currently at a roadblock when spawning in the character with the Ability icon system being set with a soft reference transfered from the Ability blueprint or the weapon. All the underlying fuctionality works except the UI elements.
I would really like to keep the system as modular and scalable as possible but it is proving quite difficult with these issues.
Any assitance in getting over this will be great appricated. I honestly think that it is an understanding issue and I have been trying to debug it and look around for a day now but could not find anything solid on it