Manipulating Two List of ScriptableObject

I have two lists A and B, list A has one entry at index 0 which is a scriptableObject and then want to instantiate that scriptableObject in list B at index 2 which has no entries.
So I need to be able to control what index in list A is instantiated in list B and at what index this happens. I don’t see a way with the overloads lists.
I hope you can help me. <3 <3 <3 <3 and <3

Edit below:
Since there are no responses I decided to try and I’m going to show my use case.
EquipableSkill.cs

[CreateAssetMenu]
    public class EquipableSkill : ScriptableObject
    {
        [Header("Main")]
        public string SkillName;
    }

Yes, very exciting I know.

AllEquipableSkills.cs

public class AllEquipableSkills : MonoBehaviour
    {
        [SerializeField] List<EquipableSkill> equipableSkill  = new List<EquipableSkill>();
    }

which is on an arbitrary gameobject. and I made one scriptableobject and put into the list.

CharacterCore.cs

public class CharacterCore : MonoBehaviour
    {
        [SerializeField] AllEquipableSkills allEquipableSkills;

        [SerializeField] List<EquipableSkill> KnownSkills;
        [SerializeField] List<EquipableSkill> ActiveSkills;
}

This is on a another gameobject called, yes you guessed it, character. and I put the reference from gameobject holding the AllEquipableSkills list in the field.
Now I want to be able to add any entry from allEquipableSkills to KnownSkills and then add and remove from ActiveSkills as needed. I have looked at a lot of different sites and examples but none of them seem to do the trick.
I hope this explanation will help solving this problem for me :slight_smile:

hello, i am not sure if i understand your issue. but here is my suggestion, first create a getter for that list

public List<EquipableSkill> GetEquipableSkillList()
{
    return equipableSkill;
}

you just need to add any of the skills from the all wquipable skills to know

EquipableSkill skill = allEquipableSkills.GetEquipableSkillList()[theSkillYouWant];//i imagine you acces the skill by index
knowSkills.Add(skill);
ActiveSkills.Remove(skill);/ ActiveSkills.IndexOf(skill);//depends if you want to find index as you first asked or remove the skill

I’m not sure what is confusing you.
There is a script so I can make scriptableobjects.
There is another script on an arbitrary gameobject that has a list of all the scriptableobjects that I made.
There is yet another script on a gameobject which is going to be a character in my game which has two lists, one which holds scriptableobjects that the character “knows” and one that hold scriptableobjects which it can use.
It seems quite simple honestly.
I just don’t know how to code.