Ok, so I had a Unity project on my mac computer and tried transferring into a windows. I’ve tried just using the same file and then also transferring just the assets into a new project. Neither are working and both give me this error saying my directory is no good: “IOException: The directory name is invalid
System.IO.Directory.CreateDirectoriesInternal (System.String path) (at <437ba245d8404784b9fbab9b439ac908>:0)
System.IO.Directory.CreateDirectory (System.String path) (at <437ba245d8404784b9fbab9b439ac908>:0)
SaveLoad.save[T] (T pyramid, System.String key, System.String fileName) (at Assets/Scripts/SaveLoad.cs:18)…”
This program works on my mac and thought my code was universal:
public static class SaveLoad
{
public static string fileType = “.jesus”;
public static void save<T>(T pyramid, string key, string fileName)
{
BinaryFormatter formatter = new BinaryFormatter();
string path = Application.persistentDataPath + "/" + fileName + "/";
Directory.CreateDirectory(path);
FileStream stream = new FileStream(path + key + fileType, FileMode.Create);
formatter.Serialize(stream, pyramid);
stream.Close();
}
public static T load<T>(string key, string fileName)
{
string path = Application.persistentDataPath + "/" + fileName + "/";
BinaryFormatter formatter = new BinaryFormatter();
FileStream stream = new FileStream(path + key + fileType, FileMode.Open);
T data = (T)formatter.Deserialize(stream);
stream.Close();
return data;
}
public static bool checkFile(string key, string fileName)
{
return File.Exists(Application.persistentDataPath + "/" + fileName + "/" + key + ".jesus");
}
public static bool checkDirectory(string fileName)
{
return Directory.Exists(Application.persistentDataPath + "/" + fileName + "/");
}
public static void deleteAll(string fileName)
{
string path = Application.persistentDataPath + "/" + fileName + "/";
DirectoryInfo directory = new DirectoryInfo(path);
directory.Delete(true);
Directory.CreateDirectory(path);
}
}