CoreGui Should Be Opened To Devs (With Safety Measures)

:light_bulb: Overview

Right now, Roblox developers can’t fully access or edit CoreGui. I’m suggesting that Roblox should allow complete read and write access to CoreGui through the normal game:GetService("CoreGui"), while still keeping sensitive systems locked down for safety.

This would give developers way more creative control over the UI, letting us restyle, reposition, or replace default Core UI like the chat, leaderboard, backpack, health bar, etc. — without using hacky workarounds or disabling them entirely.


:locked_with_key: Safety & Security

To keep it safe and prevent abuse, here’s what should stay locked or limited:

  • Reporting system: All reporting interfaces and the actual report submission flow should stay fully secure and cannot be removed, cloned, or replaced.
  • Gamepass / purchase logic: Developers should not be able to clone, modify, or bypass the gamepass or purchase verification scripts. You should still be allowed to change the theme or visuals (colors, fonts, layouts), but not the actual purchase handling or server checks.
  • Core restrictions: Anything related to moderation, platform security, or payment flow remains read-only or protected internally.

:gear: How It Could Work

Access would stay under the existing CoreGui service, for example:

local CoreGui = game:GetService("CoreGui")

-- Read CoreGui elements directly
local chatUI = CoreGui:FindFirstChild("Chat")
chatUI.BackgroundColor3 = Color3.fromRGB(15, 15, 15)

-- Add or modify elements
local newLabel = Instance.new("TextLabel")
newLabel.Text = "Server Online"
newLabel.Size = UDim2.new(0, 200, 0, 30)
newLabel.Parent = CoreGui

Sensitive components (like ReportAbusePrompt, PurchasePrompt, etc.) would simply return a warning or read-only reference when accessed, so they can’t be replaced or cloned.


:artist_palette: Why This Matters

This change would let developers:

  • Match the entire Core UI with their game’s style or theme.
  • Create better accessibility features (contrast modes, text scaling, etc.).
  • Build smoother and more immersive HUDs without replacing everything manually.
  • Improve performance and reliability by not having to re-create Roblox’s entire UI from scratch.

:white_check_mark: Benefits

  • Keeps Roblox secure and fair — no fake report or purchase screens.
  • Makes Roblox more flexible for both small devs and advanced creators.
  • Encourages consistency and accessibility across experiences.

:puzzle_piece: Summary

Let us read and write to CoreGui directly through the default service while locking down sensitive stuff like reporting and gamepass scripts. Give us freedom to theme, rearrange, and extend the UI, but keep the safety barriers where they need to be.

I believe this would massively improve the developer experience and creativity across Roblox — especially for those of us already working with new APIs like Server Authority Core in the early access program.

8 Likes

I like the idea of this because now I dont need to rip the coregui off its roots and replant it into startergui.

(also wrong category)

2 Likes

yep. it saves ton of time like you don’t have to clone or rip them off

could you explain how you do that? i want to check when the player’s inventory is open and cant figure out a way how since roblox doesnt provide any event for it.

Set “Show Core GUI in Explorer while Playing” in studio settings to true, then open it up while playing, you can then store it all into your clipboard and paste it into startergui after you end the session.

(then I recode for 5 hours because the existing core scripts are protected)

1 Like

This won’t happen. They already rejected my suggestion.
But “scripting support” is an extremely wrong category for this.

5 Likes

theres no event as of now, so the best way is to make your own inventory system and use frame.visible property to know if its open or closed

its such a pain i cannot even clone the default textchatservice ui without scripting it for another 4 hours which is a little time consuming

ik but had no option
since they didn’t give me permisson for engine features
Edit: A Moderator Moved So Now Its in Correct One

I think the only way that we’d ever see anything like this is through a proxy, like with StarterGui or with API for certain things. I don’t see Roblox ever giving developers full control of even part of CoreGui, as that could easily lead to maliciously hide the escape menu. I think that the customization would have to be limited, if it were to exist at all.

I totally get it though, I’d love to customize the CoreGui to match the style of my game. Even better, I’d love if I could customize the escape menu to be a custom menu, with custom settings in the settings menu. It’s a shame that the escape key is hogged up.

But I think there are too many risks with allowing developers to customize it at all. It also just makes things feel less connected and might be confusing to some players, who are expecting the CoreGui to look a certain way and be positioned at a certain spot.

Even so, this should still be placed in the most relevant category as possible. I believe the closest would be Lounge > Creating on Roblox (previously called Developer Discussion). Sometimes moderation doesn’t like it there either, but they tend to be fine with it if the topic is posed more as a discussion than a feature request, which I think this should be anyway.

1 Like

You Are Correct, Since developers are craving to change the stupid black esc ui with smt much cooler but there is some risks involved like some bad dev can hide the report feature which is very bad

1 Like