I am currently making a 3D endless runner game in unity in C#. I now need to make the platform(3D Tiles) infinite but I don't know how. I already did some research but I don't find the right tutorial.
I already asked a similar question and I got the answer that I need to do it with object pooling but I don't find any good tutorial for object pooling. Does someone know how to make an infinite terrain with object pooling in unity?
Thanks
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TerrainScript : MonoBehaviour
{
public GameObject[] tilePrefabs;
public Transform playerTransform;
private float spawnZ = 4500.56f;
private float tileLength = 2.0f;
private int amtOfTilesOnScreen = 2;
void Start()
{
for (int i = 0; i < amtOfTilesOnScreen; i++)
{
SpawnTile(0);
}
}
void Update()
{
if (playerTransform.position.z > (spawnZ - amtOfTilesOnScreen * tileLength))
{
SpawnTile(0);
}
}
private void SpawnTile(int prefabIndx = 0)
{
GameObject go;
go = Instantiate(tilePrefabs[prefabIndx]) as GameObject;
go.transform.SetParent(transform);
go.transform.position = Vector3.forward * spawnZ;
spawnZ += tileLength;
}
}