I found a way to change the entity:GetUserGroup(), but by doing so it changes how the ULib and ULX see your rank meaning you cannot use any commands.
function meta:GetUserGroup()
local realgroup = self:GetNetworkedString( "UserGroup", "user" )
local fakegroup = self:GetNWString( "FakeGroup", "user" )
if not self:IsFakenamed() then
return realgroup
else
return fakegroup
end
end
As I said though, when the ULX and ULib look at this it thinks that it is your actual rank and not a fake one, so any powers you have are unusable while hidden. I tried to overwrite a ULib function in order to look at it as your real group instead of as a fakegroup, but I can't seem to get it to work.
NOTE: I should note that the rank MUST exist with this method, attempting to use a rank that is not on the server will cause errors and the ULiband ULX will break/lock you out until you change map/reset server and set your rank back.
As for the issue with the networked varibles, the NWVars were updated in the latest big update so I knew something was going to be up with them. Setting it as nil instead of false also works.