ClipsDescendants should work with rotated UI elements

Thanks for explaining the issue in detail, It does help to know that it comes down to a more technical problem. But I do hope it’s still something considered in the future as I know many devs like myself who would love to be able to rotate GUIs while keeping them clipped to the parent.


As a temporary workaround, you can take an approach that Jailbreak took with it’s minimap, placing a UI dot in the center of the map, and panning the map around based on the player’s position.

It wouldn’t rotate obviously, but it’s better than nothing while waiting for this feature request to be implemented.


Yeah rotating the icons and such is no problem because it never goes outside of the clips. But I think for the best appeal for any minimap it needs to rotate.


Hey that’s me. I remember Sorcus saying that it was such a large task that it wasn’t worth taking the time and effort to actually do. Things may have changed in the 3-4 years since then.


Just thought I would bring this back up. I ran into issues with this while testing a new design for my shop/inventory UI.


The sideways text completely ignores ClipsDescendants.


It’s on our roadmap to fix this some time in 2019.


We are in halfway 2019, are you guys working on a fix? This is still needed. Also, I can’t find it on the High-Level Roadmap.


She never stated that they were actively working on a fix, but it is on their roadmap to fix the issue. Often, smaller issues or features like this will get pushed back due to other features or bug fixes being prioritized.

Also, the roadmap you linked is only for high-level features and not an internal roadmap run by each team so that they can keep track.


We’re in Q2 of 2020 now and ClipDescendants support for rotated UI objects is still very much needed. With recent ‘bonus’ additions to the UI system like UIGradient, which multiplies any given UI object with a given color range and supports rotation, support for ClipDescendants with rotated objects (even if it only works for rotated objects inside of grid-aligned objects) seems like a great candidate to implement/fix next.


We are continuing to evaluate hardware features and different approaches to implementing this. Right now it’s scheduled for later this year, but no promises. This is a complex feature and we want to be sure we deliver a performant solution that works on all devices, particularly mobile platforms where graphics APIs are somewhat limited in capability. This is currently on our roadmap for Q4 of this year, but it could be pushed back depending on how things stand then.


cc @Tiffblocks

Been well over 4 years since this request was made, over 7 years since the first request for this and over a year with no further word, and still not implemented :upside_down_face: how hard can it possibly be?

All these awesome UI features like UICorner, UIStroke, Richtext, all (I’d imagine) would be a lot more complex to add. But simple clipping of rotated items still isn’t here? Hell, since the introduction of CSG, I’d imagine something like this, which is only 2D, would be infinitely easier to implement.

Not even on this years roadmap either, so we can’t even expect it to come out till 2022 (or at this rate, another decade)


Wanted to add on that this would make developing flight computer UIs much, much easer for flight sims. Currently to make an artificial horizon, I have to Add black frames around a solid blue frame, and set the z index of the brown frame in between the black borders and the and blue horizon. This takes up more time and resources to achieve the same result if ClipDescendants would behave properly for rotated objects.


This behaviour can be achieved with the release of CanvasGroups.


As stated in the above reply, this feature was implemented in the form of CanvasGroups

1 Like

Ah turns out it works if the ZIndexBehaviour is on:
I was testing on Global…

I’m afraid I have to disagree that it is hard. It involves Math, not stencil buffer or CanvasGroups. When the parent GUI intersects with the child GUI, Find the intersection point, then split into multiple triangles around the origin point. that should work.


If implemented in C++, this shouldn’t be too expensive, or too difficult. Again, we have CSG, which is essentially the 3D version of this.


its been 6 years and this feature still has not been added


I am surprised this is not a thing yet


I still can’t believe this hasn’t been added yet. It must be possible now? Is there seriously no way of doing it?