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 ghaddar0292 · Aug 26, 2013 at 04:35 PM · gameobjectnullreferenceexception

NullReferenceException: Object reference not set to an instance of an object error?

Alright, I am currently instantiating a gameObject that will first figure out where the player position is. The following is my code.

 var player : GameObject;
 
 function Awake ()
 {
 player = GameObject.Find("First Person Controller");
 }
 
 function Update () 
 {
 
 var target : Vector3 = player.position;
 
 }

When I hit run I keep getting the error "NullReferenceException: Object reference not set to an instance of an object error". It is also referring to the line var target :....

I am not sure why this is happening I am sure it is something stupid but I cannot just figure it out for the past couple of hours. In the inspector it shows that after instantiating the first person controller is there but the gameObject does not to do any of the things I need it to do.

Any help is appreciated, thank you very much.

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 perchik · Aug 26, 2013 at 04:39 PM

Your error message means that you are trying to access an object that does not exist. The line you've referred to (line 11 in your post) is the culprit.

Therefore, on that line, you're only trying to access one object - player. This should tell you that player does not exist in this context.

So then you should look to see where player is created/assigned, which happens in your Start function. If you put in a debug statement after you find the player:

Debug.Log("player name is " + player.name);

that should print out the name of the GameObject that was found and assigned.

Unfortunately, that will probably throw an error too, which should suggest to you that you never actually found the player object.

Because of that, you would then need to check to see if you actually have a game object named "First Person Controller"

At which point, you'd realize either that you don't OR that it's name is actually FirstPersonController, in which case you're searching for the wrong name.

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 ghaddar0292 · Aug 26, 2013 at 05:23 PM 0
Share

Thanks for your comment, but I had the name "First Person Controller" in my scene and should work fine. Anyways Im searching now for the gameobject with tag but I still get the same error! Heres my code:

 var player : GameObject;
 
 function Awake ()
 {
 player = GameObject.FindWithTag("player");
 print(player.tag);
 }
 
 function Update () 
 {
 var target : Vector3 = player.position;
 }

And I actually do get "player" as output in the unity console. It is also weird that I used the exact same method on another prefab with a different gameObject and it worked. This one is just trying to frustrate me. I hope you have any more ideas of what could be the problem. Thanks again for your comment.

avatar image perchik · Aug 26, 2013 at 05:42 PM 0
Share

Oh. It's because player doesn't have a position. It has a transform which has a position.

var target : Vector3 = player.transform.position;

avatar image ghaddar0292 · Aug 26, 2013 at 05:49 PM 0
Share

Thanks :).

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

16 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

Related Questions

Destroy object last on application close. 1 Answer

Why does my bullet prefab get destroyed? 1 Answer

Can't find gameobjects being spawned getting a nullreferenceexception 1 Answer

Can't add GameObjects to a List 2 Answers

Access variable from script on other gameobject. 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