• 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
Question by ShiftedClock · Sep 12, 2012 at 12:48 AM · nullreferenceexceptiongetcomponent

NullReferenceException when using GetComponent to access script variables

Hi, I've been trying to figure this out for a few days, and I feel utterly defeated coming here to ask. Any help is greatly appreciated.

I'm getting a NullReferenceException on what appears to be straightforward code. I think this stems from a basic misunderstanding of mine about how GetComponent works. Here's the exact error:

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

centerCamera..ctor () (at Assets/Scripts/centerCamera.js:5) And here's the code: in centerCamera.js: var target : GameObject; private var grid = target.GetComponent(generateGrid); <-- Line 5 private var gridCenter : Vector3 = grid.gridCenter;
function Update () { transform.LookAt(gridCenter); } and in generateGrid.js: var gridCenter : Vector3 = Vector3(originX, originY, zDepth); // basically Vector3(0, 0, 0.1) Then in the inspector I have a prefab Empty called gameGrid with the script generateGrid attached to it. The script centerCamera is on the mainCamera object in the hierarchy, with "target" being the gameGrid object. Why am I getting this error? Does target.GetComponent(generateGrid) not give me access to the script variables? Shouldn't NullReferenceException not occur if I properly set the target in the inspector? Thanks for your time.
Comment

People who like this

0 Show 0
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

  • Sort: 
avatar image
Best Answer

Answer by DaveA · Sep 12, 2012 at 12:50 AM

private var grid = target.GetComponent(generateGrid); <-- Line 5

You can't do that outside a function. Declare the variable, but set it in Start()

Comment

People who like this

0 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 ShiftedClock · Sep 14, 2012 at 03:19 PM 0
Share

Awesome, thanks a bunch. Based on your comment, I was able to figure it out. This also gave me an indicator that I needed to study how Unity's scripting works in a bit more detail. So I've been doing that for a few days, and it's amazing how everything starts to fall into place. Thanks again. :)

Unity Answers is in Read-Only mode

Unity Answers content will be migrated to a new Community platform and we are aiming to launch a public beta by June 9. Please note, Unity Answers is now in read-only so we can prepare for the final data migration.

For more information and updates, please read our full announcement thread in the Unity Forum.

Follow this Question

Answers Answers and Comments

10 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

Related Questions

script GetComponent, nullReference error 1 Answer

How do I assign a script to an instantiated prefab? 2 Answers

Can't access other script of other object 1 Answer

Personaje cambie de sprite al teleportarse [Characters change sprite to teleport] 0 Answers

NullReferenceException: Object reference not set to an instance of an object (when doing js to add value to c#) 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