Source file unity-csharp/nature-of-code/random-walker-2d/WalkerBootstrap.cs from the GDnD code examples. Download raw file

// GDnD wiki example
// Demonstrates: spawning a small population of random walkers in Unity 2D
// Related pages: [[procedural-generation]], [[overview-unity-nature-of-code-examples]]
 
using UnityEngine;
 
public class WalkerBootstrap : MonoBehaviour
{
    [SerializeField] private RandomWalker2D walkerPrefab;
    [SerializeField] private int walkerCount = 25;
    [SerializeField] private Vector2 spawnExtents = new Vector2(6f, 4f);
 
    private void Start()
    {
        if (walkerPrefab == null)
        {
            Debug.LogWarning("WalkerBootstrap needs a RandomWalker2D prefab.");
            return;
        }
 
        for (int i = 0; i < walkerCount; i++)
        {
            Vector3 spawnOffset = new Vector3(
                Random.Range(-spawnExtents.x, spawnExtents.x),
                Random.Range(-spawnExtents.y, spawnExtents.y),
                0f
            );
 
            RandomWalker2D walker = Instantiate(
                walkerPrefab,
                transform.position + spawnOffset,
                Quaternion.identity,
                transform
            );
 
            walker.name = $"Walker {i + 1}";
        }
    }
}