I may use the wrong term here. The idea is, it would be nice if we could group sprites in a hierarchy one being the "parent" and others can be the childs. The idea is that when we move, rotate or scale a parent, childs follow and keep relative rotation, position and angle to the parent. Different engines call this different ways. Some call it "parent", some call it "pining" other call it "grouping". I prefer to call it "parent-child" because it is describe perfectly the relation.
We could have a property for sprites called "parent" where we could enter the name of the sprite object that is being considered the parent and so once we update the position, rotation of that parent sprite it is going to also effect the childs. Or the other way is to have a property called "childs" where we could enter the name of sprites to be considered a child. Essentially, it would store the ID of the parent and all child sprites inside an array similar to groups, but in this case, the code would move, rotate only the parent in global space (the first element of the array maybe) and the rest 1 to Array.Length being moved and rotated in local space relative to the parent. So for example if I have a child on the right side of the parent, it is remain on the right side of the parent at all times.
I know it is already possible with a little math, but I think it would be very useful to be able to setup something like this without coding.
It would be also important to have commands to either add and remove childs from the array during gameplay so for example if you want to add a new rocket to your ship at runtime, you can or remove it so the rocket can fly on it own once launched while the parent (the ship) still moving around but we no longer want to effect the rocket we launched.
Thanks.