The game "Mario Maker" has shadows in the 2D worlds so you can tell the background apart (provided screenshot.) The shadows are transparent and above the background but behind all of the sprites.
Mario Maker uses shaders for their shadows, but in godot 4 we have the CanvasGroup node where all of the nodes are drawn as one.
My idea was to make a script that clones the object, changes it's position, then reparents it to the CanvasGroup node that has a modulate effect to make it look like a shadow.
My concern is that you would have to do this every single frame, and do it with up to hundreds of sprites on the screen at once. I don't know if the system can handle that. Any tips?
I added the "Shaders" tag just in case anybody knows how to do this with shaders (You don't gotta provide any specific code, just list the steps)