Parents of those entities are scaled with different values per axes, this leads to local coordinates of children to be stretched, that is why you see this skewing.
Or rotate parent, or apply scale to child, not parent of it.
I cannot rotate the parent because the collision box must remain where it is while the model rotates. Is there a way for me to keep the parent in the same position and same size while rotating the child?
I tried the rotation in world space and it has the same result
Separating them from the parent seems extreme because I need to maintain the link (which I could do through naming I guess) but it might be the only solution.
I told you the solution - do not scale parent, scale the child that you are rotating. Or have one parent with two children.
And in fact parent that has collision has no need of scale what so ever. It has no model to it, so scale is irrelevant on it. Scale child, not parent.
Confused by your comment, if a collision has no need of scale then how do you create trigger volumes of a particular shape?
I need to scale the collision box so that it has the same dimensions as the model. Basically I need the collision box to be a rectangle with the same size as the model but it must stay stationary while the model moves.
The collision box is basically a trigger for a particular model but the collision box needs to have a particular position and size.
I can work around it, it’s not a big problem. You explained why the rotation causes a skew and that’s all I really need.