I have been going over services and checking them out for a while now but there is one service that I just couldn’t understand it’s use, it goes by the name of “PermissionsService” I need someone to explain to me what this service does please so me and other people know what it’s about.
Because this service isn’t mentioned literally anywhere I couldn’t find it on youtube, google and I couldn’t even find anything about it in the devforum and if you try to mention it in ROBLOX Studio with a colon or a dot to see what it does it won’t bring up anything new, I’m seriously extremely confused as to what this service does exactly.
you can check it’s Roblox API Reference here but it’s empty it doesn’t have any explanation as to what this service does: PermissionsService
That’s probably what it’s used for but like I said it would be awesome if we all can get confirmation from ROBLOX Staff or people who work at ROBLOX about this, it’s almost like if they are hiding this service from us for some reason by giving us absolutely no information about this service.
I think you’re being unreasonably speculative about this. You can infer just from the name what it’s for, staff don’t have to respond.
There are many pages (services, objects, methods and more) which are missing documentation, have vague documentation or intentionally have none. You don’t need to know about a service you can’t use in the first place. There are many topics actually relevant to us that IX can write about with input - see the Developer Hub category here for more information.
Some Roblox CoreScripts operate within the game environment as well and use internal services to run or store relevant engine code. PermissionsService is one of them.
There are many other examples of internal services with likewise little to no documentation and cannot be used by developers: CorePackages, FlyweightService, Visit, so on.
Why doesn’t it say that we can’t use PermissionsService on the ROBLOX API Reference website like it does with FlyweightService thought?
As you can see it says “Internal service with no functionality available to developers.” for the FlyweightService now my question is why doesn’t it say the same for PermissionsService?
They didn’t say that it was an “Internal service with no functionality available to developers.” so I think that means that we can use in some way or it won’t make sense this way.
There is often oversights with documentation. This is one of them. I would not assume that the permissions service does have a use for developers. Otherwise all of its members would be documented
The page simply exists to note that it’s there in the engine at all. I wouldn’t be surprised if their creation was automated either, though don’t quote me on that. Pages are seeing more automation now with the Developer Hub: in 2014, the Wiki still existed, meaning maintaining pages was mostly manual.
Some of these services are old so it could just simply be that they created the page but didn’t leave a note in that it’s internal. PermissionsService was only added as of build 420, February 19th of this year. FlyweightService was added in build 162, August 6th of 2014.
You likely won’t ever have a need to use PermissionsService because all the developer-facing interactions with it will be from modals (for example, plugin permissions that are rolling out). Not intuitive to handle permissions from a service and integration in your own systems, no, just write your own system if you need permission-locked features in your game.
The announcement he linked to is from the Roblox staff. It is the official release announcement from two weeks ago. The service is new, which is why documentation may be missing.
Correct. I was the one who documented this page back when I was an editor on the Roblox wiki.
Many low-priority APIs like this one have been left untended to, hence why this description lingers to this day. If it were introduced in say, 2018, then it would probably have no documentation at all.
At the time I set a milestone goal to have everything on the wiki documented in some shape or form, even if it’s to sway interest away from pages like these due to their internal backend nature.
Sometimes Roblox introduces C++ only services like these because they need threaded access to the DataModel to do something. It’s all very fuzzy and complicated, I don’t remember many of the details at this point, but I know the DataModel can be a hassle to interact with outside the context of an Instance.
As to the question of what this specific service does, I believe it’s related to granting permissions to plugins to do things like HttpService requests, with prompted permissions from the user. It’s used by Roblox’s built-in Plugin Management plugin.
Here’s a full list of files that reference it in my Client Tracker:
Here’s a dump of the API for this class:
Class PermissionsService : Instance [NotCreatable] [Service]
Function Array PermissionsService:GetPermissions(string assetId) {RobloxScriptSecurity}
Function void PermissionsService:SetPermissions(string assetId, Array permissions) {RobloxScriptSecurity}
“PermissionsService” in short is basically the game settings feature in studio.
It controls how the server will behave and it’s also mirrored to studio so lets say u enable HTTP REQUESTS or you enable THIRD PARTY TELEPORTS then this service is used silently in the background that’s the main use of this matter of fact this service is one EVERYONE actually uses it’s just all internal and you cant really use it other than parenting instances there lol
It has nothing to do with plugins it’s the entire behaviour of the game server itself (whether if it’s studio or not)
But even if you did lets say have permissions to even access this service well you’d still need to have the authentication key which is a hash key that only Roblox will know and to obtain it well you’re gonna have to really figure that one out…
It could also be giving permissions related to the game servers itself such as the ability to allow third party teleports it’s most likely more than just plugins