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 Digital-Phantom · Jan 29, 2015 at 04:10 PM · errorgameobjectpositionmember

Getting Error I don't Understand - 'position' is not a member of 'UnityEngine.GameObject[]'.

Bare with me please if I explain this badly. I currently have 2 scripts running on a game object that work fine on their own.

The first is a simple script that allows my game object to find another object and move towards it (avoiding obstacles using navmesh/navigation)

 #pragma strict
 
 public var victim : Transform;
 private var navComponent : NavMeshAgent;
 
 function Start()
 {
     navComponent = this.transform.GetComponent(NavMeshAgent);
 }
 
 function Update()
 {
     if(victim)
     {
         navComponent.SetDestination(victim.position);
     }
 }
 

The 2nd script simply finds all objects in the scene with the tag 'Resource' and prints the name of the nearest one -

 public var gos : GameObject[];
 
 // Print the name of the closest enemy
 print(FindClosestResource().name); 
     
 // Find the name of the closest enemy
 function FindClosestResource () : GameObject
 {
 // Find all game objects with tag Enemy
 gos = GameObject.FindGameObjectsWithTag("Resource");
  
 var closest : GameObject; 
 var distance = Mathf.Infinity; 
 var position = transform.position; 
 
 // Iterate through them and find the closest one
 for (var go : GameObject in gos)
 { 
 var diff = (go.transform.position - position);
 var curDistance = diff.sqrMagnitude; 
 if (curDistance < distance)
 { 
     closest = go; 
     distance = curDistance; 
 }
  
 } 
 return closest;    
 }
 

I've been trying to make a script that will take the variable from script 2 and use it to define the destination for my first script. Or more easily put I want it to find the nearest object with the tag and move to that object.

This is what I have so far -

 #pragma strict
 
 private var navComponent : NavMeshAgent;
 
 var targetResource : GameObject = GameObject.Find( "Harvester" );
 
 var otherScript : FindClosestObject = targetResource.GetComponent( FindClosestObject );
 
 var newGos = otherScript.gos;
 
 function Start()
 {
     navComponent = this.transform.GetComponent(NavMeshAgent);
 }
 
 function Update()
 {
     if(newGos)
     {
         navComponent.SetDestination(newGos.position);
     }
 }
 

I've managed to fix a few compile errors but this error message has me stuck. What exactly does it mean and how can I fix it ?

Assets/AI Scripts/Move to Closest Object.js(20,52): BCE0019: 'position' is not a member of 'UnityEngine.GameObject[]'.

Any suggestions guys ?? (oh and please make any comments idiot proof...lol)

Thanks

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
1
Best Answer

Answer by meat5000 · Jan 29, 2015 at 04:29 PM

position is a member of transform, not gameobject

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 tanoshimi · Jan 29, 2015 at 04:36 PM 1
Share

And definitely not a member of GameObject[]...

avatar image Digital-Phantom · Jan 29, 2015 at 04:47 PM 0
Share

Hmm... ok

But if I try and make it of type transform by

var newGos : Transform = otherScript.gos;

I get this error -

Assets/AI Scripts/$$anonymous$$ove to Closest Object.js(20,52): BCE0019: 'position' is not a member of 'UnityEngine.GameObject[]'.

???

avatar image meat5000 ♦ · Jan 29, 2015 at 05:11 PM 1
Share

Just access the transform of the gameobject.

gameObject.transform

Of course your inner code is not exposed but you access the transform from a gameobject array by including the index.

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

20 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

Related Questions

Cant access a gameobject's position 1 Answer

An object reference is required to acess non-static member. 1 Answer

Y-Positionen angleichen / Align the Y positions 0 Answers

I want to move a cube with rotation but I find this problem 1 Answer

If gameobject moves do this 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