No matter what I do to the terrain my FPSContoller just falls through the terrain for no reason.
Both the first person controller and the terrain need colliders on them. And the colliders need to have the isKinematic toggle unchecked (set to false).
Ensure that both have colliders on them. and check that your FPS controller starts the game above the terrain. If it is slightly submerged it will fall through.
Finally, you can check that they are both on layers that interact with each other ( easiest way to ensure this is to put them on the same layer).
You can check what layers are set to collide with which other layers in Edit → Project Settings → Physics.