-
-
Save aaabbbsss12345/837fb3d3fdd1e63befa0ec489b909783 to your computer and use it in GitHub Desktop.
[Unity] Get StreamingAssets file path with Android and iOS.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void GetStreamingAssetsPath(string fileName) | |
{ | |
#if UNITY_EDITOR | |
dbPath = string.Format(@"Assets/StreamingAssets/{0}", fileName); | |
#else | |
// check if file exists in Application.persistentDataPath | |
var filepath = string.Format("{0}/{1}", Application.persistentDataPath, fileName); | |
if (!File.Exists(filepath)) | |
{ | |
Debug.Log("Database not in Persistent path"); | |
// if it doesn't -> | |
// open StreamingAssets directory and load the db -> | |
#if UNITY_ANDROID | |
var loadDb = new WWW("jar:file://" + Application.dataPath + "!/assets/" + fileName); // this is the path to your StreamingAssets in android | |
while (!loadDb.isDone) { } // CAREFUL here, for safety reasons you shouldn't let this while loop unattended, place a timer and error check | |
// then save to Application.persistentDataPath | |
File.WriteAllBytes(filepath, loadDb.bytes); | |
#elif UNITY_IOS | |
var loadDb = Application.dataPath + "/Raw/" + fileName; // this is the path to your StreamingAssets in iOS | |
// then save to Application.persistentDataPath | |
File.Copy(loadDb, filepath); | |
#elif UNITY_WP8 | |
var loadDb = Application.dataPath + "/StreamingAssets/" + fileName; // this is the path to your StreamingAssets in iOS | |
// then save to Application.persistentDataPath | |
File.Copy(loadDb, filepath); | |
#elif UNITY_WINRT | |
var loadDb = Application.dataPath + "/StreamingAssets/" + fileName; // this is the path to your StreamingAssets in iOS | |
// then save to Application.persistentDataPath | |
File.Copy(loadDb, filepath); | |
#else | |
var loadDb = Application.dataPath + "/StreamingAssets/" + fileName; // this is the path to your StreamingAssets in iOS | |
// then save to Application.persistentDataPath | |
File.Copy(loadDb, filepath); | |
#endif | |
Debug.Log("Database written"); | |
} | |
dbPath = filepath; | |
#endif | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment