We don’t actually need a collision volume,
Here’s what I did:
I created a new array of actors variable called Tiles in the game mode.
Inside the SpawnTile method I add the tile that has been spawned to the Tiles array.
I created a function in the game mode called RemoveTile in which i check if the Tiles array’s length is greater than 3
If this condition passes, I get the first element (index 0) of the Tiles array which is obviously an actor, and call the DestroyActor method,
Upon completion of the destroying of the actor I remove the first element (index 0) from the Tiles array
Now on the Tile Blueprint, After calling SpawnTile I immediately call RemoveTile. Now a better name for this method would be something like RemoveTileIfMoreThanThree, but that seems a bit overkill
Now at first I was a bit concerned that the index of the array wouldn’t reset after removing the 0th index, (eg, the first element would be index 1), but this does not seem to be the case