Casting shadows on certain objects

Is there a way to cast a shadow from one object and have the shadow only affect certain other objects?

Also, is there a way to have a shadow affect objects but actually have the shadow invisible?

Thanks.

a.) Yes, you can set Cast Shadows and Receive shadows for each individual mesh in their Mesh renderer settings.

b.) Inbuilt shadow system is for visual effect only. If you want to have a gameplay mechanic based on whether the player is in shadow, say, perform a raycast from the light source to the player object in question. If the raycast hits the player within the range of the light, it is not in shadow. If the raycast hits a different object on the way, the light is obstructed and the player is in shadow.