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}