Rotated UI Elements do not Clip with Clip Descendants Active

Reproduction Steps

Create a Frame with any Size and Position. Turn the Frames ClipDescendants to Active/True. Create a Second Frame inside of the Previous Frame, Position this frame Outside or Half Outside of the Parent Frame. Rotate the Second Frame to anything above or below 0.

For My Example:
ParentFrame.Position = UDim2.new(0.5,0,0.5,0)
ParentFrame.Size = UDim2.new(0.5,0,0.5,0)
ParentFrame.AnchorPoint = Vector2.new(0.5,0.5)
ParentFrame.ClipDescendants = true

SubFrame.Position = UDim2.new(-0.2, 0,0.5, 0)
SubFrame.Size= UDim2.new(0.4, 0,0.2, 0)
SubFrame.AnchorPoint = Vector2.new(0,0.5)
SubFrame.Rotation = 2

Expected Behavior

You would expect the SubFrame or any other UI Element for that matter to continue being Invisible if it is outside of the Parent Frame and the Parents Frame has ClipDescendants Active.

Actual Behavior

You will notice that it will actually show Visible even though it is outside of the Parents Frame. This can be extremely irritating especially when you’re working with Rotated UI Elements within ScrollingFrames.

ClipDescendants = false, Rotation = 0

Clip Descendants = true, Rotation = 0

Clip Descendants = true, Rotation = 2

This Final Image shows 1 Frame with Rotation Set to 0 and the Other Frame Set to 2


Workaround

Sadly there is no Workaround. The only way to solve this is to just never have Rotated UI Elements within a Frame that has ClipDescendants Active.

This has been an issue for well over 3 Years and probably even longer. I’m surprised this has never been reported before.

Issue Area: Studio
Issue Type: Display
Impact: High
Frequency: Constantly
Date First Experienced: 2019-02-10 00:02:00 (+00:00)
Date Last Experienced: 2022-08-27 00:08:00 (+01:00)

2 Likes

When looking at a previous post (From 2015):

According to these, this was intentional, which is quite saddening.

But! There is a feature request for this:

3 Likes