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
0
Question by Brrokken · Oct 22, 2016 at 05:07 PM · loadingsaving

Scriptable objects as inventory items unable to save reference

I recently implemented scriptable objects as data container for inventory items. Upon collecting an item a reference to the scriptable object is stored along with information specific to that item instance such as number stacked and durability.

This system works well until I try to save the inventory to be loaded later. Its trivial to save dynamic information number stacked and durability. It does not seem possible to directly save a reference to scriptable object. I'm wondering if anyone has any idea for a work around? Or if I just need to give up on this route and remove scriptable objects from my inventory system?

As a side note I'm a disappointed that on both Unity's scriptable object tutorials the basic use case is for inventory items because its extremely limited if a reference to the scriptable object cannot be saved.

links to tutorials: https://unity3d.com/learn/tutorials/topics/scripting/overthrowing-monobehaviour-tyranny-glorious-scriptableobject

https://unity3d.com/learn/tutorials/modules/beginner/live-training-archive/scriptable-objects

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

1 Reply

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

Answer by Brrokken · Oct 23, 2016 at 09:08 AM

After trying a couple more things I came to workable solution, and now see how its possible save and load a reference to a scriptable objects . Heres my solution.

Add unique ID to a scriptable object. Store a list/array of scriptable object on your script. Save the unique Id to file using player prefs or binary ( https://unity3d.com/learn/tutorials/topics/scripting/persistence-saving-and-loading-data) When loading iterate through scriptable object list and set correct references.

Although it be easier to save a reference to a scriptable object this isn't too much extra work, so I'm rejoining the glorious scriptable object revolution.

Comment
Add comment · Show 1 · 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 Hornkvern · Aug 28, 2020 at 09:29 PM 0
Share

Can you please tell me how and where you stored the list with scriptable objects and how to save the id in the binary script?

Cant seem to figure this out. I have added an unique id to all items.

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

How can I save a character during runtime using script? 3 Answers

Refesh after making or deleting folders/files 0 Answers

Save/Load Animation State of Instantiated Prefabs 0 Answers

Saving frequently throughout game lifecycle (Android) 1 Answer

System.IO Help! 2 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