VRC Permission System
- Digital0 JPY

This is a permission management system to toggle objects on/off or teleport players depending on the assigned permission. It comes with a rudimentary UI for management during runtime and allows to set permissions in the inspector or through an externally supplied file. Objects used in this are for demo purposes and can be easily replaced. The UI Panel is built using your chosen role names. Permissions can be granted with the DisplayName of a user, either directly in the Inspector or using an external file. There's a parallel solution that I created that supplies a list of display names by querying a VRC group and fetching the members. This may be featured as a service in the future. Support: There's no official support for this asset. For general questions you may contact me using the mail supplied in the license agreement. Dependancies & Compatibility: - Requires Textmesh pro (TPM) - This has been tested on Unity 2022.3.22f1 - This has been tested in PCVR, Android and Desktop Mode File Content: - License_PermissionSystem.txt - PermissionSystem1.1.unitypackage - SetupGuide_PermissionSystem.txt
EULA / Software License
Permission System – License Agreement By using this asset, you agree to the following terms: 1. Usage - You may use this asset in personal and commercial projects. - "Commercial projects" means works that include this asset as part of a larger whole (e.g., avatars, games, applications). - You may distribute projects containing this asset (including paid projects). 2. Modification - You may modify this asset for your own use. - If you share a modified version, it must remain free and be released under this same license. 3. Redistribution - You may not re-upload or host the original, unmodified asset files on other platforms or websites. - Sharing the official download link from Scribble Clash’s designated storefront(s) is allowed and encouraged. 4. Restrictions - You may not sell or resell this asset as a standalone product. - You may not include this asset in any paid asset pack, library, or collection. - You may not imply endorsement or association by Scribble Clash without explicit permission. 5. Attribution - Please credit Scribble Clash where reasonably possible (e.g., in your project description, documentation, or storefront page). 6. Disclaimer - This asset is provided “as is,” without warranty of any kind. For questions about this license, contact: scribble.clash@mythicalvrc.net
Setup Guide
Preamble: This Prefab only contains the basic code and UI elements, as well as examplary objects. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// User Guide: To start setting up the permission system, drag and drop the PermissionSystem.prefab into your scene. If you haven't added them, Import TMP Essentials. Setting up permissions: Select PermissionManager. Here you can rename your roles. Keep the format of POWER,ROLENAME (e.g. 0,No Role). Your roles should always contain a default role for 0. The list of roles will be automatically built in the UI. Having more than 5 roles may cause problems with the UI Panel as there will be too many buttons in the UI. Manual User Entries allow you to add the displayName for permitted users in the Inspector. The format is displayName,POWER (e.g.: Scribble Clash,100) URL Loaders: Drag & Drop a URL List into here. You can add multiple URL lists and give them different role-powers. The assigned role power and the URL are configured in the URL List. (PermissionManager>URL Lists>VisitorRole) Controlling Objects with Permissions: Objects are controlled using the "Access Control" script. The example shows all three variants of how to control objects. Set the PermissionManager Object as Manager. Set a value for Required Role and set the requirement to what you need (usualy Greater or Equal results in the desired outcome). Target the Object you want to influence. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// !IMPORTANT! If your object is to be hidden or shown, make sure that the Script is not on that object or a child of the object. The script disables the object and would disable itself. However if you want to use a teleporter, the script has to be on the object that has the collider that triggers the teleport! //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// When creating a teleporter, set the object that serves as your teleport target. UI: You can scale and alter the permission panel to suit your needs. Select UI Panel and change its scale, rotation and position. The Bouncer Tool only sets the teleport target and maximum distance a user can be target at. Notificationsystem notifies users with Admin Power. If you plan to only use preset permissions or URL lists, you do not require BouncerTool, UI Panel or NotificationSystem in your Project.