Right, so classes have a number of methods in them and it can get a bit confusing as to when each of them are called, especially when you require a very specific sequence of events to occur.
So let’s say that you are instantiating a prefab from a class method.
yourPrefab yPre = Instantiate(yourPrefab, transform.position, transform.rotation);
.SpawnAsteroid();
ast.gameObject.name = "Asteroid_" + i.ToString("00");
// Find a good location for the Asteroid to spawn
Vector3 pos;
do
{
pos = ScreenBounds.RANDOM_ON_SCREEN_LOC;
} while ((pos - PlayerShip.POSITION).magnitude < MIN_ASTEROID_DIST_FROM_PLAYER_SHIP);
ast.transform.position = pos;
ast.size = asteroidsSO.initialSize;