Serialization help needed

Hi everybody. I am new to Unity and scripting. I am making a small project and i need to save few generic lists into file. This are string type, I also need to save 2 Vector3 lists, but I will try to make a converter and make 6 Int lists… So to the point… I’ve got this script and I don’t have a clue how to make it work =(. Any suggestions or advises will be very welcome.

using UnityEngine;
using System;
using System.Text;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization;
using System.Reflection;
using System.Collections;
using System.Collections.Generic;

[Serializable ()]
public class My_Ship : ISerializable {

public List<string> myShipParent = new List<string>();
public List<Vector3> myShipJointAPosition = new List<Vector3>();
public List<string> myShipChild = new List<string>();
public List<Vector3> myShipJointBPosition = new List<Vector3>();
public List<string> myShipDictionary = new List<string>();		

public SaveData () {}

public SaveData (SerializationInfo info, StreamingContext ctxt) {

myShipParent= (List<string>)info.GetValue("myShipParent",typeof(List<string>));
myShipChild=(List<string>)info.GetValue("myShipChild",typeof(List<string>));
myShipDictionary=(List<string>)info.GetValue("myShipDictionary",typeof(List<string>));
	
}

public void GetObjectData (SerializationInfo info, StreamingContext ctxt)
{
info.AddValue(“myShipParent”, myShipParent);
info.AddValue(“myShipChild”, myShipChild);
info.AddValue(“myShipDictionary”, myShipDictionary);
}

}
public class SaveLoad {

public static string currentFilePath = “SaveData.txt”;

public static void Save () // Overloaded
{
Save (currentFilePath);
}
public static void Save (string filePath)
{
SaveData data = new SaveData ();

Stream stream = File.Open(filePath, FileMode.Create);
BinaryFormatter bformatter = new BinaryFormatter();
bformatter.Binder = new VersionDeserializationBinder(); 
bformatter.Serialize(stream, data);
stream.Close();

}

public static void Load () { Load(currentFilePath); } // Overloaded
public static void Load (string filePath)
{
SaveData data = new SaveData ();
Stream stream = File.Open(filePath, FileMode.Open);
BinaryFormatter bformatter = new BinaryFormatter();
bformatter.Binder = new VersionDeserializationBinder();
data = (SaveData)bformatter.Deserialize(stream);
stream.Close();

}

}

public sealed class VersionDeserializationBinder : SerializationBinder
{
public override Type BindToType( string assemblyName, string typeName )
{
if ( !string.IsNullOrEmpty( assemblyName ) && !string.IsNullOrEmpty( typeName ) )
{
Type typeToDeserialize = null;

        assemblyName = Assembly.GetExecutingAssembly().FullName; 
     
        typeToDeserialize = Type.GetType( String.Format( "{0}, {1}", typeName, assemblyName ) ); 

        return typeToDeserialize; 
    } 

    return null; 
} 

}

Found the problem already…