Make a sprite visible only on some objects

I have a shadow sprite, and I want it to be only visible on some objects, like an astreoid. How can I achieve this?
(The shadow is a sprite, not done by lighting/shadowing)

You can accomplish this with Sprite Masks. Add a SpriteMask component to your asteroids and assign the sprite to be the same one the SpriteRenderer is using. Then on your shadows SpriteRenderer set the Mask Interaction property to ‘Visible Inside Mask’. The default SpriteMask options worked fine for me, but depending on the complexity of your scene / layer setup you may need to tweak them a bit.