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 asimov · Jul 17, 2012 at 12:22 PM · optimizationglobal variables

Optimisation - When to use Global variables or GameObject.Find() ?

Hi,

I was wondering about this as I've heard that if you are regularly referencing objects in a scene then it is better/more efficient to use Global variables rather then GameObject.Find() in real-time. Can anyone clarify this, and provide any more information on when to use each of these and how/where to assign them for maximum optimisation?

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
0

Answer by ScroodgeM · Jul 17, 2012 at 01:43 PM

best way for optimization is:

  • if you use GameObject.Find() more then once for some object, then you should use it once and store a link to it for future use.

you can store it in private variable, on in public static for other components can access it too

Comment
Add comment · Show 2 · 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 asimov · Jul 17, 2012 at 01:48 PM 0
Share

Hi Scroodge$$anonymous$$,

Really, so you're saying that using GameObject.Find() is more efficient than pre-caching it using a Global variable and dragging in from the Inspector beforehand? I was under the impression that doing the latter eli$$anonymous$$ated the work done to Find the object whilst running?

Thanks

avatar image ScroodgeM · Jul 17, 2012 at 01:55 PM 0
Share

in any program$$anonymous$$g language any method that needs to check large array of objects is expensive. especially it uses a string comparison.

GameObject.Find() should check all objects until it finds one that matches condition.

just imagine situation where in first case you should find a man named '$$anonymous$$ike' in a crowd of thouthands people (where can be more then one '$$anonymous$$ike'), and in the second you have an end of rope marked '$$anonymous$$ike' and the other end of this rope is attached to $$anonymous$$ike you need

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

5 People are following this question.

avatar image avatar image avatar image avatar image avatar image

Related Questions

Optimizing large numbers of trail renderers 0 Answers

HUD with a lot of elements, efficient way? 3 Answers

Are there any performance differences between a timer and using Invoke? 1 Answer

Android lag 1 Answer

Reasonable heap alloc. per second and total ? 0 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