- Home /
Simple problem: Can't save Input in Editor GUI's Propertyfield.
So I'm trying to SetDirty() a public GameObject that appears through ScriptableObject Serialization in the Editor Window. I drag in the gameObjects from the scene into the Editor fields, GUI changed lights up, everything works as intended, I save the project, close unity, restart...And they're empty, like i dragged nothing in. What's missing?
Cause everything works, considering editor serialization with scriptableobject etc. it's all fine and quadruple checked. I just can't get Unity to save the object we imported in the editor window.
I'm sure I'm missing something...
Sorry but you need to be much more specific where you actually want to save what. Since you talk about scriptable objects and gameobjects in a scene i have the feeling you try to reference an object in a scene from a scriptable object that is saved in the project? If that's the case this doesn't work at all. A scene is like a seperate subspace. Things in a scene can reference objects in the project (assets). However assets which are stored in the project can not reference things in a scene. A scene is not always loaded and availlable unlike assets.
Yeah that's exactly the thing... Saving a file from the project into the editor window gets saved...but saving something from the scene into the editor window doesnt... So I guess this solves it, but it still confuses me that scenefiles saved in the inspector on a monobehaviour script 'do' get saved. Is it because monobehaviour is constrained to work in runtime only?
Do you mean the "SceneAsset" type can be saved on a $$anonymous$$onoBehaviour? Well yes, because it's an asset in the project folder, but not an object within a scene. Btw, the new Playables Director component uses a new system in which data is stored as an asset, but it actually references scene objects. They resolve these references as soon as they are required within a scene (after which the objects are loaded), by using the director component as a bridge to the scene. I was interested in using the Unity system for my custom components, but I couldn't make it work yet because some parts were still internal. You can, however, always create your own solution which basically stores a serializable version of your scene reference and then finds some special component in the scene to resolve the reference.
Your answer
Follow this Question
Related Questions
Use for loops and still assign gameObjects in editor 1 Answer
Is it possible to align Multiline strings with siblings in EditorWindow? 0 Answers
Get Mouse Events with EditorWindow 3 Answers
How to specify the rotation angle in degrees, in the inspector? 2 Answers
Getting GUI.skin in editor script changed entire Unity Editor GUI 1 Answer