Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
1
Question by AmazingDeveloper2 · Oct 30, 2017 at 07:53 AM · c#unity 5steam

Save game for Steam

I make the game on Unity3D and I have a save system there. When I upload assembly of my game to the Steam, then it works fine, but when I upload an update to Steam, then then all the saving from the old assembly is overwritten by the new one. How can I prevent this?

Here how I save my game:

 public void ButtonSave()
 {
     PlayerPrefs.SetString("date time" + currentActiveSlot, System.DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + " ");
     PlayerPrefs.SetFloat("transform position x" + currentActiveSlot, playerTransform.position.x);
     PlayerPrefs.SetFloat("transform position y" + currentActiveSlot, playerTransform.position.y);
     PlayerPrefs.SetFloat("transform position z" + currentActiveSlot, playerTransform.position.z);
     PlayerPrefs.SetInt("latestSaveSlot", latestSaveSlot);
     PlayerPrefs.SetInt("act number" + currentActiveSlot, gameManagerScript.currentActNumber);
     PlayerPrefs.SetString("sceneName" + currentActiveSlot, SceneManager.GetActiveScene().name);
     PlayerPrefs.SetInt("slotImage" + currentActiveSlot, imageNumberForCurrentSlot);
     PlayerPrefs.Save();
 }

Edit 1 Here is my new class, where I save all my data:

 [Serializable]
 public class Saves : MonoBehaviour
 {
     public string dateTime;
     public float transformPositionX;
     public float transformPositionY;
     public float transformPositionZ;
     public int latestSaveSlot;
     public int actNumber;
     public string sceneName;
     public int slotImage;
     public int currentActiveSlot;
     public int stepNumber;
 }

and here how I save it:

 public void ButtonSave()
     {
         saves.dateTime = System.DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss");
         saves.transformPositionX = playerTransform.position.x;
         ...
     }

But in my previous code I've loaded data like this from the saveslot I need: gameManagerScript.currentActNumber = PlayerPrefs.GetInt("act number" + currentActiveSlot);, and now I can't do it like this: gameManagerScript.currentActNumber = saves.actNumber + currentActiveSlot;, because it change value of the variable. How can I load data from the saveslot I need?

Edit 2 Here how I save the data:

 public void ButtonSave()
 { 
     ...
     var serializedSave = JsonUtility.ToJson(saves);
     var saveFileName = Application.persistentDataPath + "/Save_" + currentActiveSlot + ".save";
     File.WriteAllText(saveFileName, serializedSave);
 }

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

2 Replies

· Add your reply
  • Sort: 
avatar image
2
Best Answer

Answer by x4637x · Oct 30, 2017 at 09:13 AM

PlayerPrefs is not a permanent saving solution. You should create your own saving file and place them under Application.persistentDataPath. For the file format, you could use anything you want. Json, XML or even text file will do. It is completely up to you.

Comment
Add comment · Show 5 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image AmazingDeveloper2 · Oct 30, 2017 at 11:11 AM 0
Share

Thanks, I've updated my question

avatar image x4637x AmazingDeveloper2 · Oct 30, 2017 at 11:27 AM 1
Share

First of all, you should use ScriptableObject ins$$anonymous$$d of $$anonymous$$onoBehaviour for your serializable class. Secondly, what you have right now is still an object instance that lives in your computer's memory. If you want to save it for each game session, you need to save it to your hard disk. I suggest you use AssetDatabase.CreateAsset to save your ScriptableObject instance to an asset file at the Application.persistentDataPath. And for loading, you could use AssetDatabase.LoadAssetAtPath. PS: If you do not want to edit your save file directly you could use EditorUtility.CopySerialized after loaded your save asset file for copying your saved data to the current data instance.

avatar image x4637x AmazingDeveloper2 · Oct 30, 2017 at 11:58 AM 1
Share

Forgot to check one important thing with you, when will you call this saving/loading function? At play-time or edit-time? If you are doing this save/load at play-time, AssetDatabase & ScriptableObject is no good for you, since it needs to use UnityEditor class. You can try JsonUtility or if you are good with the database, you could try using a SQLite database file for all your saves.

avatar image AmazingDeveloper2 x4637x · Oct 30, 2017 at 12:06 PM 0
Share

Sorry, I forgot to add some code. Yes, I use JsonUtility, now I will update my question. I don't understand, how to load data from the current slot

Show more comments
avatar image
0

Answer by Propagant · Oct 30, 2017 at 12:17 PM

Hey, you should check out this asset.. https://www.assetstore.unity3d.com/en/#!/content/53978

Which is the asset for saving and loading whole scene... But if you are interested how it works [basically] you can check out the Save-It free version here

https://mega.nz/#!W4QFVIbY!E-nA92Ylevd5o-PYJIZGUhJdAuSDjJf2j0oZ0KVdmm0

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

441 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Multiple Cars not working 1 Answer

Distribute terrain in zones 3 Answers

Editor Crashes When Switching from VR to Standalone 0 Answers

A real head-scratcher 0 Answers

Object from list in scriptableobject in list 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges