Member-only story

Unity Game Development Optimization Tips

Optimize Coroutines

//Fine tune your code for smooth gameplay

Valdarix Games

--

Photo by Tudor Baciu on Unsplash

Today I just have quick tip to share to help optimize your C# coroutines for better performance in Unity.

Lets look at a script for spawning enemies.

private IEnumerator SpawnPowerup()
{
yield return new WaitForSeconds(3.0f);
while (_canSpawn)
{
yield return new WaitForSeconds(Random.Range(8f,10.0f));
// roll random 100. Tier 1 = 0 - 60, Tier 2 = 61 - 85, Tier 3 = 75 - 99
var randomRoll = Random.Range(1f, 100f);
var randomLocation = new Vector3(Random.Range(-8f, 8f), 7, 0);
GameObject newPowerup;
switch (randomRoll)
{
case >= 1 and <= 60:
newPowerup = Instantiate(_powerUpObjectT1[Random.Range(0, _powerUpObjectT1.Length)], randomLocation, Quaternion.identity);
newPowerup.transform.parent = _powerUpContainer.transform;
break;
case >= 61 and <= 89:
newPowerup = Instantiate(_powerUpObjectT2[Random.Range(0, _powerUpObjectT2.Length)], randomLocation, Quaternion.identity);
newPowerup.transform.parent = _powerUpContainer.transform;
break;
case >= 90 and <= 100:
newPowerup =…

--

--

No responses yet