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 /
  • Help Room /
avatar image
0
Question by joelfernandes23 · Mar 18, 2017 at 06:49 PM · c#uiarraystringcs1061

Error CS1061: Are you missing an assembly reference?

Hello, Im getting the following error. Im trying to reference the text from the Scriptable scripts class and Im getting the following error .

 error CS1061: Type `Scriptable.Info[]' does not contain a definition for `text' and no extension method `text' of type `Scriptable.Info[]' could be found. Are you missing an assembly reference?

The code

 using UnityEngine;
        using System.Collections;
        using UnityEngine.UI;
        
        public class Scriptable : ScriptableObject {
        
            #region singleton
            public static Scriptable instance;
            public static Scriptable Instance
        {
            get{if(instance == null) instance = Resources.Load("Scriptable") as 
        
        Scriptable; return instance;}
        }
            #endregion
        
            [System.Serializable]
                 public  class Info{
                   public string text;
                [Space()]
                public float price = 0f;
                public bool somethingElse = false;
                public bool somethingMore = false;
                public bool somethingEvenMore = false;
                public bool thisIsSomething = false;
                public bool somethingSomething = false;
           }
             public  Info[] info;
     }

and the script where I access it with is here

 using System.Collections;
        using System.Collections.Generic;
        using UnityEngine;
        using UnityEngine.UI;
        
        public class handler : MonoBehaviour {
        
                        public Scriptable script;
                        public Text thisText; 
                        public string randomStringSelected;
      
           void Start () {
           Scriptable = transform.GetComponent<Scriptable> ();
           if (script)
                    {
                           randomStringSelected = script.info.text.RandomItem(); //THIS IS WHERE THE ERROR SHOWS. Here .text is not shown in the auto completion.
                          thisText.text = randomStringSelected.toString();
        }
    }
    
    }
   
    public static class ArrayExtensions
    {
    public static T RandomItem<T>(this T[] array)
        {
            return array[Random.Range(0, array.Length)];
        }
    }


This is my 3rd post about this error. The user @Hellium keeps deleting it. I did try using

 script.info[index].text.RandomItem();

as suggested by him. But I get the error

 Assets/Scripts/handler.cs(84,4): error CS0103: The name `index' does not exist in the current context
Comment
Add comment · Show 2
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 Hellium · Mar 18, 2017 at 07:22 PM 0
Share

Simply because you have declared script.info as an array, and thus, you must access an info using an index ! Simply declare an index somewhere and set its value or declare script.info as a simple instance of the Info class.

And, for you information :

FAQ :

Some reasons for getting a post rejected:

  • Posting about a specific compiling error or NullReferenceException: there is a myriad of these questions with answers already, have a look at those posts to get hints on what could possibly be your issue. Also, take a look at the Unity's support website, many errors and how to solve them are described here

avatar image PizzaPie Hellium · Mar 18, 2017 at 07:31 PM 1
Share

You are wrong about the index part :/ RandomItem() is returning an Info item so no index is needed and the .text should be in the end as it is the field you are trying to reach.

2 Replies

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

Answer by PizzaPie · Mar 18, 2017 at 07:21 PM

 randomStringSelected = script.info.RandomItem().text;

replace the line with the error with this^^. cheers.

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 joelfernandes23 · Mar 19, 2017 at 06:35 AM 0
Share

Thanks a lot. It works. :)

avatar image
0

Answer by Commoble · Mar 18, 2017 at 07:32 PM

Your Scriptable class is a ScriptableObject. ScriptableObjects are not Components. ScriptableObjects cannot be attached to GameObjects, nor can they be retrieved with GetComponent.

To get a reference to a scriptable object, add [CreateAssetMenu] to your class declaration, like this:

 [CreateAssetMenu]
 public Scriptable : ScriptableObject

This adds your Scriptable class to Unity's create asset menu (ScriptableObjects are user-defined assets). You can now right-click in your asset folders to create an instance of your Scriptable asset, which can then be dragged into your handler component's inspector field.

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

348 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

Related Questions

Memory problem on android/ios 1GB ram with string[]? 0 Answers

how to connect my Health to my UI 1 Answer

trying to get an Array string to read an Int 0 Answers

Storing input to array 1 Answer

Is it possible to have 2 references in an array? 1 Answer


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