Having trouble with instantiated ui prefabs

Ok so bear with me here.

I have a base class called base_skills. this class contains a name, and icon,a int and a few functions for leveling the skill.

On the player I have a skill manager that has an array of type base skill. The skills are set in the editor and the info is added.

I have a character stats class attached to a ui panel that instantiates ui skill prefabs into a scrollview this is done like this:

public void PopulateUIScroll()
    {

        foreach (Base_Skill skills in skillss)
        {


            

            GameObject uis = Instantiate(skill_prefab, skillContainer.transform.position, transform.rotation);
            


            uis.transform.SetParent(skillContainer.transform, false);
            
           

            layoutScript = uis.GetComponent<skillUILaout>();

            layoutScript.nametext.text = skills.skillName;
            layoutScript.icon.sprite = skills.icon;
           
            UpdateSkillUi(layoutScript, skills);

attached to the skill prefab is another class that references the ui elements of the prefabs that gets the information from the skill manager and sets them accordingly.

Now here is the problem.

Im wanting to update the skills level in the update function, but I cant figure out how to do it as the skills are instantiated.

the updateSkillUI gets called once in the populate function, which works fine. But I am unsure how to keep it updating the skill levels;

As you instantiate them, you could store all of the layoutScripts in a List and then run a for loop against the list if it has content in update. Just make sure if you are destroying the UI at some point that you’ll also want to clear the list.