I Solved it by detaching the image from the mask parent, move the mask, and then reattach it (Set the image’s parent to the canvas and after moving the mask set it to be the image’s parent again).
That way the image stays still and the mask is slowly revealing the image.
You can actually do masking without using direct ancestors. Setup your hierarchy like so:
- left mask (Image)
- right mask (Image)
- mask parent (Image + Mask + this object should be 0 size because you dont actually want its mask to be applied)
- child object that gets masked
- child object that gets masked
- child object that gets masked
Once you set it up like that, you have to go into 1 of your child objects and toggle the rendering component on and off to refresh the masking setup.