Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 Aram-Azhari · Nov 18, 2013 at 01:37 PM · serializationsavescriptableobjecteditorwindow

Save EditorWindow to disk

Hi,

Is there a way to save an editor window using AssetDatabase.CreateAsset() ?

What I have is a class that inherits EditorWindow, and it include multiple ScriptableObjects as its members. I have also set the hideFlags to HideAndDontSave in the OnEnable() method to prevent the window losing its data during serialization.

Now I want to save those ScriptableObjects from that editorWindow class to disk so I can load them later in the editor window.

Is this possible?

if not AssetDatabase.CreateAsset(), Even if I could serialize those objects to a file using any serialization method, that would be great.

Thank you.

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

Answer by Bunny83 · Nov 18, 2013 at 01:44 PM

ScriptableObjects have to be saved on their own. I'm not sure if you can save an editorwindow with CreateAsset, i've never tried this, but it might work since EditorWindows are also ScriptableObjects. I wrote an answer (+ a quite long comment) on this question a few hours ago.

edit
It seems that it's not possible to save and retrive an EditorWindow via Unitys serialization system. See my comment below.

Comment
Add comment · Show 3 · 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 Aram-Azhari · Nov 18, 2013 at 01:46 PM 0
Share

Thanks. I'll have a look at the link. I know that it may have something to do with the hideflag, while we tell unity to not take care of the saving, at the same time I'm trying to save it and it checks for the flag.

avatar image Bunny83 · Nov 18, 2013 at 02:17 PM 1
Share

I just tested it myself and i'm pretty sure that it doesn't work. That's because the AssetDatabase is the runtime asset database. So erializing editorclasses kind of works, however if the objects is destroyed (i closed the window) the asset file becomes corrupted since the class it represents doesn't exists in the runtime.

The Unity editor of course has the functionality to save such scriptable objects only for the editor (see ProjectSettings and the actual window layout files) however it seems that they don't gave us access to those functions.

So i would say no, it's not possible, but that's my guess at the moment.

avatar image Bunny83 · Nov 18, 2013 at 02:22 PM 0
Share

btw you actually have to allow saving before you use CreateAsset or you get an assert. The hideFlags of EditorWindows contains by default DontSave. Setting the flags to 0 ((HideFlags)0) i was able to save it without problems, but once i closed the window the asset got currupted and i can't even delete it in Unity (only in the explorer).

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

18 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

Related Questions

ScriptableObject does not serialize 0 Answers

Unity Not Loading 0 Answers

Serialization depth limit 7 exceeded 1 Answer

Abstract classes in a ScriptableObject 1 Answer

Save/load playerprefs 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