Also a way you might be able to tell whether you’re inside/outside is to use a Physical Material on the ground surfaces where it matters. You can create child classes of physical materials to add your own properties to them. You’d basically do a line trace down all the time (or once every so often) to sample what physical material is below the player, and switch sound effects depending.
An alternative would be to make decisions based on the specific visual material below the player, I’m not sure quite how that would work unless you wanted to be maintaining a mapping of materials to sound effects somewhere.