Currently, it is impossible for any type of BasePart to cast shadow when it is invisible.
Making some model cast shadow while all its constituent BaseParts are invisible (transparency = 1)
is especially useful when dealing with FirstPerson camera settings.
Where, our First Person view model is completely different from the Third Person view model.
We don’t want to see the Third Person view model because it will overlap and obstruct the camera vision and we want to see the first person view model only.
Disabling shadow for the first person view model is as simple as setting CastShadow to false.
But its not currently possible for the third person to cast shadow while being invisible.
Adding a property for BasePart such as AlwaysCastShadow/CastShadowWhenTransparent that either has true or false as its value.
Or going much further, Roblox could add a number property such as TransparencyForCastingShadows whose value range from 0 to 1 much like the Transparency property, but that shadows casted by the BasePart will be casted as if the Part’s Transparency be that.
For example, the transparency of a BasePart is 1 (invisible), and the TransparencyForCastingShadows is 0.5. Therefore the casted shadow will be much lighter than if it was fully opaque, somewhere in between of the shadows casted by a fully opaque object and one with 0.9 transparency.
Now, about the use cases.
In any game, shadows play an important role, greater or lesser depending on the type of the genre.
A lot in competitive FPS/Hide N See games or games in which keeping our position secret from the opponents matters a lot.
While very negligible in puzzle/obby/arcade games.
Lets take the example of a famous competitive game, Counter Strike 2.
In this game, on certain maps, it is possible to give away our position to enemy even when they cant see us because of shadows.
So the players must be aware of their shadows and where they are being casted too.
To achieve this, the game shows them the shadow of their Third Person model, and not the First Person model, because its the Third Person that the enemy is gonna see.
Also, to note that the game doesn’t render the third person model to the player who is playing with that character in game.
In Roblox, this is done by making the third person model’s all BasePart’s Transparency to 1.
And the engine doesn’t render the shadow too.
This is why, as mentioned above, this feature is absolutely necessary to be added to achieve this specific mechanic of shadows.
Also to make up for the formalities as said by How to post a Feature Request topic that tells the format for making a feature request.
Here’s how if this issue is addressed, it would improve my development experience because
it would allow me to make a certain type of game mechanic involving shadows as mentioned above that would in turn make the playing experience better for players where they get feedback for even the smallest actions they make in game.
Thats all! Thank you for reading, excuse me if I made any grammatical mistakes, I am not even that good in english.