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 Emilyanis · Nov 25, 2016 at 06:39 AM · guiarraycustom-editorcustom class

Custom Window array inside custom class

Hi, Unity Community.

I am trying to make custom window to my script. And the problem is displaying array in custom class of this script. I founded way to display arrays:

 ScriptableObject target = this;
 SerializedObject so = new SerializedObject(target);
 SerializedProperty prop= so.FindPropertyRelative("prop");

but this didnt work in my case.

There is MonoBehaviour example:

 public class Script: MonoBehaviour {
 
     [System.Serializable]
     public class CustomClass {
         public GameObject[] goArray;
     }
 
 }

As you can see, there is GameObject array inside custom class of script. So, how to display 'goArray' in Custom Window?

Thanks for your attention!

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 25, 2016 at 08:25 AM

I'm not sure what you mean by "CustomWindow". Do you mean inside an EditorWindow or inside a CustomEditor (which is a custom inspector)?

Apart from that this line makes not much sense:

 ScriptableObject target = this;

That would mean you are inspecting a ScriptableObject and not your MonoBehaviour.

Furthermore your MonoBehaviour class named "Script" is actually empty. It doesn't has any variables. Your nested class "CustomClass" is just a class definition. It has no relation to it's containing class To actually have an instance of that class you need a variable inside the "Script" class. For example:

 public class Script: MonoBehaviour
 {
     public CustomClass someVariable;
 
     [System.Serializable]
     public class CustomClass {
         public GameObject[] goArray;
     }
 }

Now Script has someVariable which is an instance of your CustomClass. To use the SerializedObject to access the array in an editor script you would do something like:

 SerializedObject so = new SerializedObject(yourScriptInstance);
 SerializedProperty property = so.FindProperty("someVariable.goArray");
 SerializedProperty elementAtIndex1 = property.GetArrayElementAtIndex(1);
 Debug.Log("Name of the second element:" +elementAtIndex1.objectReferenceValue.name);


It's still not clear what you want to do but i hope this clears some questions you had.

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

DateTime, get all dates for the current week? 1 Answer

Custom Inspector GUI, Instantiating some classes 2 Answers

Mysterious crash involving an array 2 Answers

how to randomly pick a string from an array 3 Answers

C# Random String Array 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