Fading objects one by one

For starters, use code tags:

for (int i = 1; i <= amountOfBuildings; i++) {

   GameObject building = Instantiate(randomBuildingPrefeb, randomBuildingPosition, Quaternion.Euler(-90, 0, 0), parentObject);

   building.transform.FadeIn3D(1, 1);

}

Next, what you need to do is wait the duration between each instantiate and fade in:

for (int i = 1; i <= amountOfBuildings; i++) {

   GameObject building = Instantiate(randomBuildingPrefeb, randomBuildingPosition, Quaternion.Euler(-90, 0, 0), parentObject);

   building.transform.FadeIn3D(1, 1);
  
   yield return new WaitForSeconds(1f); //wait 1 second, the duration fade in takes

}

Note, this for loop needs to be happening in a coroutine itself.

I don’t know what your FadeIn3d method does either… but it appears to return an IEnumerator. Why is that? Does that mean it should be ran as a coroutine? Maybe you can yield that instead of the WaitForSeconds.