Unity Developers Question: Download Unity 3D Developer PDF

Which of the following examples will run faster?

1000 GameObjects, each with a MonoBehaviour implementing the Update callback.
One GameObject with one MonoBehaviour with an Array of 1000 classes, each implementing a custom Update() callback?

Tweet Share WhatsApp

Answer:

The correct answer is 2.

The Update callback is called using a C# Reflection, which is significantly slower than calling a function directly. In our example, 1000 GameObjects each with a MonoBehaviour means 1000 Reflection calls per frame.

Creating one MonoBehaviour with one Update, and using this single callback to Update a given number of elements, is a lot faster, due to the direct access to the method.

Download Unity 3D Developer PDF Read All 27 Unity 3D Developer Questions
Previous QuestionNext Question
Arrange the event functions listed below in the order in which they will be invoked when an application is closed:

Update()
OnGUI()
Awake()
OnDisable()
Start()
LateUpdate()
OnEnable()
OnApplicationQuit()
OnDestroy()
Explain why Time.deltaTime should be used to make things that depend on time operate correctly?