Are there any alternatives to CoreGuiChangedSignal?

I’ve created an icon for the Topbar, to toggle a page on and off, as explained in this post: How to get the position of Topbar icons?

My aim is to detect when a Core GUI is changed, then alter the position of my icon accordingly.

The problem is though, https://www.robloxdev.com/api-reference/event/StarterGui/CoreGuiChangedSignal has an elevated context, so can’t be used.

Are there any alternatives for this method, and why was this made a secure feature in the first place?

Update:
DataExhauster suggested detecting when a game descendant is added/removed, which does work but is a very hacky and inefficient method.

https://www.robloxdev.com/api-reference/event/PlayerGui/TopbarTransparencyChangedSignal doesn’t have an elevated context so I can’t see any reason for CoreGuiChangedSignal to be?

1 Like

This is probably the most inefficient way to resolve this in the world, but it works as a quick fix, you could loop through https://www.robloxdev.com/api-reference/function/StarterGui/GetCoreGuiEnabled to check if anything’s changed.

EDIT, seeing as you are the developer and script when you change your coregui, just update the position when you use SetCoreGui?

I did consider this, but this is still arguably quite inefficient and would also display an obvious time delay between the core GUIs being changed and the icon moving accordingly.

This will be a feature within HD Admin so it’s unfortunately not that easy - I have to prepare for every possible way the core GUIs could be altered, but without sacrificing efficiency in doing so.