::Please follow what is being done in the above post instead.
You cannot change the the Instance of your pickups when they have not been instantiated.
Furthermore, setting the pickup’s bool used
to true only makes them unable to be picked up.
This also does not solve the issue since the problem may possibly only lie in the SaveData.cs retaining the information of collectedPickups
until the Unity Editor is closed.
Instead of trying to reset the pickup scripts through your SaveDataManager.cs just instantiate the SaveData.Instance
from the method instead, then try deleting the relevant information from there.
SaveDataManager.cs
public void ResetPickupData()
{
SaveData.Instance.Initialize();
SaveData.Instance.collectedPickups.Clear();
}