# Breakroom Documentation > Documentation for the Breakroom virtual-worlds platform and its Lua scripting API. - [Welcome to Breakroom](/index.md): The Metaverse is a powerful tool where opportunities for connection, education, and engagement abound. Breakroom makes it easy to customize your virtual World and invite others to explore it. ## Advanced Tutorials - [ADVANCED TUTORIALS](/advanced-tutorials.md) - [Creating and copying avatar shapes](/advanced-tutorials/creating-and-copying-avatar-shapes.md): Need to create a clothing item that can alter the body shape of those who wear it? Learn how to create, copy, and apply body shapes created in Breakroom to clothing items in Unity. - [Installing the Quest System](/advanced-tutorials/installing-the-quest-system.md): If you want to create fun events or gamify user engagement, Breakroom's Quest System can help you get started. Learn how to set up a quest, activate NPCs, and more. - [Registration and grid APIs](/advanced-tutorials/registration-and-grid-apis.md): There are several APIs you can use to manage users and Regions within your Breakroom World. Learn how to add users, delete users, update Regions, and more. - [Uploading your own Region](/advanced-tutorials/uploading-your-own-region.md): Harness the power of Breakroom's SDK and the Unity game engine to upload your own 3D models and scenes as Regions in your Breakroom World. - [Breakroom Basic Emojis](/advanced-tutorials/uploading-your-own-region/breakroom-basic-emojis.md): Encourage audience participation with Breakroom's built-in emoji menu. Learn how to install or remove the Breakroom Basic Emojis item. - [Breakroom Start Here UI](/advanced-tutorials/uploading-your-own-region/breakroom-start-here-ui.md): Give your users a head start by installing one of Breakroom's instrumental onboarding tools. The Start Here panel allows users to select a starter avatar and access help with just a few clicks. - [Creating and uploading custom chairs](/advanced-tutorials/uploading-your-own-region/creating-and-uploading-custom-chairs.md): In Breakroom, seating isn't just meant to be attractive—it's functional. Learn how to create custom chairs that can interface with Breakroom's gesture and camera systems. - [Installing the conference system components](/advanced-tutorials/uploading-your-own-region/installing-the-conference-system-components.md): When you upload a custom Region to Breakroom, you'll need to install the conference system components to achieve full functionality. Learn how to set up voice zones, navigation tools, and more. - [Installing Unity and the Breakroom SDK](/advanced-tutorials/uploading-your-own-region/installing-unity-and-the-breakroom-sdk.md): Through the combined power of Unity and the Breakroom SDK, you can create custom Regions, clothing items, 3D models, and branded promotional materials for your Breakroom World. - [Pushing items to the live server](/advanced-tutorials/uploading-your-own-region/pushing-items-to-the-live-server.md): Curator allows you to view, edit, or delete items you've uploaded to Breakroom's preview server, before pushing the final version to the live server. Learn more about Curator's features here. - [Reducing poly counts on CAD files](/advanced-tutorials/uploading-your-own-region/reducing-poly-counts-on-cad-files.md): 3D CAD files can open up a world of possibilities in Unity, but may need some adjustment for best performance. Learn how to reduce the polygon count of CAD files here. - [Testing items on the preview server](/advanced-tutorials/uploading-your-own-region/testing-items-on-the-preview-server.md): For best results, we recommend testing custom objects and Regions before "pushing them to live." Learn how to access your creations on Breakroom's preview server for preliminary testing and QA. - [Uploading a Region from Unity to Breakroom](/advanced-tutorials/uploading-your-own-region/uploading-a-region-from-unity-to-breakroom.md): By combining Unity with Breakroom, you can unlock almost limitless creative potential. Learn how to upload a custom Region to Breakroom with just a few steps. - [Uploading your own virtual clothing](/advanced-tutorials/uploading-your-own-virtual-clothing.md): Harness the power of Breakroom's SDK and the Unity game engine to create and upload your own custom clothing items to Breakroom. - [Uploading your own virtual objects](/advanced-tutorials/uploading-your-own-virtual-objects.md): If you have a design vision for your Breakroom World, you may want to upload your own furniture, animations, and decor. Learn how to create, import, and edit room items here. - [Video streaming](/advanced-tutorials/video-streaming.md): Breakroom allows you to stream live video directly into your virtual World. Here you'll find information about setting up and managing live video feeds. ## Breakroom For Training - [Breakroom for Training](/breakroom-for-training.md) - [Creating and managing courses](/breakroom-for-training/creating-and-managing-courses.md): Courses are the backbone of the Breakroom for Training LMS -- and once you've created them, you can edit and preserve their contents as needed. Learn how to create, edit, archive and retrieve courses. - [Installing Breakroom for Training](/breakroom-for-training/installing-breakroom-for-training.md): With Breakroom for Training, you can gather real metrics about virtual education. Learn how to create courses complete with consent waivers, quizzes, and student- or instructor-led content modules. - [Instructor orientation](/breakroom-for-training/instructor-orientation.md): While Breakroom for Training courses can be student-led, the system has been optimized to support live instruction. Learn more about logging in as an Instructor and accessing the LMS tools here. - [Quizzes](/breakroom-for-training/quizzes.md): Quizzes let you get create structured touchpoints or solicit student feedback in real time. Learn how to create, edit, and archive quizzes using the Breakroom for Training system. - [Reviewing student information](/breakroom-for-training/reviewing-student-information.md): Review student enrollment by course, verify that touchstones have been completed, and check quiz scores to ensure that students are on track for success. - [Syllabuses](/breakroom-for-training/syllabuses.md): Creating a syllabus on Breakroom for Training allows your team to deliver standardized educational content and administer touchpoints, either on-demand or as part of a supported learning environment. - [Waivers](/breakroom-for-training/waivers.md): Give students the information they need and record consent or encourage buy-in through the use of waivers. Learn how to create, edit, and archive waivers using the Breakroom for Training system. ## Building New Worlds - [BUILDING NEW WORLDS](/building-new-worlds.md) - [Breakroom Dashboard tour](/building-new-worlds/breakroom-dashboard-tour.md): You've got a whole World to play with—so let's start from the top. Use the Breakroom Dashboard to customize settings, manage user accounts, and access helpful analytics. - [Creating and managing Regions](/building-new-worlds/creating-and-managing-regions.md): With Breakroom, you can create virtual spaces where real work gets done. Learn the basics of editing, enabling, featuring, and deleting Regions via the Breakroom Dashboard. - [Default Landing and Orientation Regions](/building-new-worlds/default-landing-and-orientation-regions.md): By making key decisions about your Default Landing Regions, your users can log in to an orientation zone, a friendly welcome center, or the heart of the action. - [Region settings](/building-new-worlds/region-settings.md): The Region Information window allows team members to customize settings for individual Regions. Learn how to restrict access to individuals or groups, mute users, add an audio stream, and more. - [Region template descriptions](/building-new-worlds/region-template-descriptions.md): Need help deciding which Region to use? Read on for more information about Breakroom's Region templates, including navigation options and built-in features. ## Creating Custom Experiences - [CREATING CUSTOM EXPERIENCES](/creating-custom-experiences.md) - [Branding tools](/creating-custom-experiences/branding-tools.md): Customize your Breakroom World's login screen, application logo, and viewer installer image to create a polished, professional, and user-friendly experience. - [Exploring the Breakroom Toolkit](/creating-custom-experiences/exploring-the-breakroom-toolkit.md): Giving you the tools you need to succeed—that's the Breakroom way. Learn more about the items that make up the Breakroom Toolkit, including collaboration and navigation tools. - [Add-on seats](/creating-custom-experiences/exploring-the-breakroom-toolkit/add-on-seats.md): Whether you're creating a custom voice zone or a special presenter lounge, Breakroom's add-on furniture objects combine function with flexibility. - [Breakroom Games](/creating-custom-experiences/exploring-the-breakroom-toolkit/breakroom-games.md): Breakroom's easy-install gamification system brings the fun to you! Set up trivia nights, reward your most intrepid virtual explorers, and create magical moments of connection. - [Breakroom Image Viewer](/creating-custom-experiences/exploring-the-breakroom-toolkit/breakroom-image-viewer.md): Brand your event with engaging signage and graphics—anywhere, anytime. Here you'll learn how to deploy and customize the Breakroom Image Viewer. - [Breakroom Info Kiosk](/creating-custom-experiences/exploring-the-breakroom-toolkit/breakroom-info-kiosk.md): If you need dynamic text-based signage that your event team can edit on the fly, look no further. Read on for more information about setting up and using the Breakroom Info Kiosk. - [Breakroom Landmark](/creating-custom-experiences/exploring-the-breakroom-toolkit/breakroom-landmark.md): Need to direct users to a custom landing point in your Region, but don't need full voice zone functionality? Learn how to set up a Breakroom Landmark and get your users where they need to go. - [Breakroom Note Board](/creating-custom-experiences/exploring-the-breakroom-toolkit/breakroom-note-board.md): Brainstorming sessions, tutorials, icebreakers and more—the Breakroom Note Board allows you to literally throw your ideas at the wall. Learn how to set it up here. - [Breakroom Orientation Quest](/creating-custom-experiences/exploring-the-breakroom-toolkit/breakroom-orientation-quest.md): Get your users up to speed fast with the Breakroom Orientation Quest. When added to a Region, new users can rock a crash course in Metaverse logistics and communication—all with a few clicks. - [Breakroom Reactives](/creating-custom-experiences/exploring-the-breakroom-toolkit/breakroom-reactives.md): Add a touch of Metaverse magic to your event with whimsical, animated objects that react to avatar proximity. Read on for more information about setting up and using Breakroom Reactives. - [Breakroom Teleport Portal](/creating-custom-experiences/exploring-the-breakroom-toolkit/breakroom-teleport-portal.md): Whether you want to highlight a must-see Region, limit the number of Regions users can visit, or make it easier for your virtual explorers to get around—the Breakroom Teleport Portal is a key tool. - [Breakroom Tour Cameras](/creating-custom-experiences/exploring-the-breakroom-toolkit/breakroom-tour-cameras.md): Breakroom's built-in tour camera system can help you boost visitor engagement and streamline the orientation process. Read on for information about designing custom tours of your Region. - [Breakroom Video Player](/creating-custom-experiences/exploring-the-breakroom-toolkit/breakroom-video-player.md): The perfect tool for sharing training videos, highlighting sponsors, or creating dynamic event backdrops. Read on for more information about setting up and using the Breakroom Video Player. - [Breakroom Web Browser](/creating-custom-experiences/exploring-the-breakroom-toolkit/breakroom-web-browser.md): Foster engagement by giving users the ability to access web-based content without leaving the Metaverse. Here you'll learn how to set up and use the Breakroom Web Browser. - [Conference rooms and booths](/creating-custom-experiences/exploring-the-breakroom-toolkit/conference-rooms-and-booths.md): Foster deeper engagement and create networking opportunities with creative spaces. Learn more about installing and managing Breakroom's prefab breakout areas and event booths. - [Filtering the Sinewave Shop](/creating-custom-experiences/filtering-the-sinewave-shop.md): Control what your users see, wear, and spend in Breakroom. Here you'll find more information about filtering the Shop to meet your specific needs, as well as a discussion of Silver and Gold currency. - [Managing your Media Library](/creating-custom-experiences/managing-your-media-library.md): Breakroom's Media Library feature helps World Owners and World Administrators keep event images and videos organized. Learn how to upload, delete, and tag media elements straight from your browser. - [Selecting default avatars](/creating-custom-experiences/selecting-default-avatars.md): Breakroom's default avatars allow both new and seasoned users to pick a look and get right to work. Learn how to select and upload your personalized collection of default avatars. - [Default avatar collections](/creating-custom-experiences/selecting-default-avatars/default-avatar-collections.md): Conservative, casual, or charming—Breakroom's default avatars make an excellent first impression. Choose a collection of starter avatars so your users can feel confident and stylish. - [UI customization options](/creating-custom-experiences/ui-customization-options.md): Control the information and tools available to your users by building a custom Breakroom UI. We'll show you how to toggle UI options, change the default UI scale, and create a custom color palette. - [Using the Region Editor](/creating-custom-experiences/using-the-region-editor.md): Breakroom lets you build your Metaverse, your way. Use the Region Editor to add and remove objects, edit Region sky presets, and undo your work so you can start all over again. - [Editing and moving objects](/creating-custom-experiences/using-the-region-editor/editing-and-moving-objects.md): Whether you enter precise location data or freestyle it—Breakroom helps you put everything into its proper place. Learn how to manipulate and position virtual objects using the Region Editor. - [Editing terrain and sky](/creating-custom-experiences/using-the-region-editor/editing-terrain-and-sky.md): Breakroom lets you extend your editing reach to the stars. Learn how to use the Region Editor to control cloud formation, ambient lighting, and even the weather. - [The Region Editor ADVANCED window](/creating-custom-experiences/using-the-region-editor/the-region-editor-advanced-window.md): Up the "wow!" factor by customizing Region features using the Region Editor Advanced window. Learn how to swap materials, toggle additional template toys, play with lighting, and reset your changes. ## Exploring Breakroom - [EXPLORING BREAKROOM](/exploring-breakroom.md) - [Bookmarks and teleport invites](/exploring-breakroom/bookmarks-and-teleport-invites.md): There's no need for airports or carpool lanes in the Metaverse—with Breakroom's suite of teleportation tools, you can get exactly where you need to go fast. - [Networking with other users](/exploring-breakroom/networking-with-other-users.md): In Breakroom, networking is everything. Learn how to curate your contact list, join and create in-world groups, and turn your user profile into your digital calling card. - [Groups](/exploring-breakroom/networking-with-other-users/groups.md): In-world groups aren't just virtual social clubs—they can also be used as powerful tools for event management. Learn how to join, create, and manage Breakroom groups. - [People](/exploring-breakroom/networking-with-other-users/people.md): The People window makes it easy to build your Metaverse network. Learn how to add and remove contacts, send messages and in-world emails, and invite others to join you in the fun. - [Region navigation tools](/exploring-breakroom/region-navigation-tools.md): The Metaverse is meant to be explored—so don't just stand there! Here we'll review some basic movement commands before showing you new ways to explore your Breakroom World. - [Snapshots](/exploring-breakroom/snapshots.md): Build a library of virtual memories with Breakroom's Snapshot feature. Learn how to take pictures, share them with people both in and out of Breakroom, and add pictures to your user profile. - [Using the Explore window](/exploring-breakroom/using-the-explore-window.md): Regions are so fun, you can't visit just one. Learn how to use the Explore window to locate, learn about, and travel to Featured Regions. - [Using the Meetings window](/exploring-breakroom/using-the-meetings-window.md): Stay on task using Breakroom's built-in Meetings calendar, and never miss a beat. Advertise events, invite users to RSVP, and provide handy teleport bookmarks. ## Getting Started - [GETTING STARTED](/getting-started.md) - [Communicating with other users](/getting-started/communicating-with-other-users.md): You didn't come all the way to the Metaverse to hang out by yourself! Learn how to communicate with other users using text chat, voice chat, and in-world email. - [Controlling your avatar](/getting-started/controlling-your-avatar.md): Breakroom really helps you get around! Learn how to walk, fly, dance, and interact with other users through your virtual avatar. - [Controlling your camera](/getting-started/controlling-your-camera.md): Skilled camera work can open your eyes to the limitless possibilities of the Metaverse. Learn more about Breakroom's camera options here. - [Customizing your avatar](/getting-started/customizing-your-avatar.md): Breakroom allows users to truly represent themselves in the Metaverse. Learn more about our avatar customization tools, and use them to create an avatar as special and unique as you are. - [Choosing a starter avatar](/getting-started/customizing-your-avatar/choosing-a-starter-avatar.md): Conservative, casual, or charming—Breakroom's starter avatars make an excellent first impression. Here's how to pick a starter avatar from your curated lineup. - [Editing avatars in the Outfit window](/getting-started/customizing-your-avatar/editing-avatars-in-the-outfit-window.md): Bigger ears, brighter lipstick—it's time to let your virtual stand-in truly stand out. Using the Outfit window, you can edit your avatar's appearance and outfits with ease. - [Using the Sinewave Shop](/getting-started/customizing-your-avatar/using-the-sinewave-shop.md): The Sinewave Shop is full of clothes, accessories, and fun avatar details that are just waiting to be discovered. Here you'll learn more about navigating the Shop and purchasing items. - [Helpful terms](/getting-started/helpful-terms.md): How is a World different from a Region? Check out our guide to Breakroom-speak and learn how to define your virtual experience. - [Keyboard shortcuts](/getting-started/keyboard-shortcuts.md): Many actions in Breakroom are tied to easy keyboard shortcuts. Here's a cheat sheet. - [Language and accessibility](/getting-started/language-and-accessibility.md): Breakroom is for everyone—period. Learn more about our language support and visual accessibility options, and access the tools you need to make communication easier. - [Reporting issues](/getting-started/reporting-issues.md): True technological innovation never did run smooth. If you encounter technical issues or problematic users while accessing the Breakroom platform, here's how to let someone know. - [Settings](/getting-started/settings.md): The Settings window allows you to optimize your in-world Breakroom experience. Learn how to configure media and graphics settings, customize your camera behavior, and more. - [UI tour](/getting-started/ui-tour.md): Breakroom's UI gives you the tools you need to thrive in the Metaverse. Learn how to find your way around, manage your personal connections, and access various types of media. - [Using Breakroom for Training](/getting-started/using-breakroom-for-training.md): The Breakroom for Training system can be added to any Region to facilitate student- or teacher-led instruction. Learn how to track your learning progress, take quizzes, and access in-world tools. - [Using the conference system](/getting-started/using-the-conference-system.md): Breakroom's conference system is the foundation upon which virtual events are built. Learn how to access voice chat, screen share, emojis, and other important features. - [Troubleshooting audio and video issues](/getting-started/using-the-conference-system/troubleshooting-audio-and-video-issues.md): Running into audio or video issues? Learn how to test your connection, troubleshoot minor problems, and change your input and output devices. ## Help - [HELP](/help.md) - [Account management](/help/account-management.md): Need to recover your password, or want to tie your Breakroom subscription to a pre-existing account name? Here you'll find tips for managing your Breakroom account. - [System requirements](/help/system-requirements.md): Looking for the minimum viable technical specifications for Breakroom and its associated products? Read on for specific recommendations for World Stream, Breakroom's desktop apps, and more. - [Troubleshooting network ports and firewalls](/help/troubleshooting-network-ports-and-firewalls.md): World Stream uses standard web technologies such as WebRTC and Websockets. On particularly robust corporate or educational networks, you may need to whitelist these services. - [Tutorial video playlists](/help/tutorial-video-playlists.md): All the videos you need, organized by content category for ease of use. - [Breakroom for Training - Dashboard and Backend](/help/tutorial-video-playlists/breakroom-for-training-dashboard-and-backend.md): This video playlist serves as an introduction to the Breakroom for Training system for World Owners and builders. Learn how to install the LMS in a Region, create courses, and manage student data. - [Breakroom for Training - Instructors](/help/tutorial-video-playlists/breakroom-for-training-instructors.md): This video playlist serves as an introduction to the Breakroom for Training system for Instructors. Learn how to access the in-world tools, administer touchpoints, and review student progress. - [Breakroom for Training - Students](/help/tutorial-video-playlists/breakroom-for-training-students.md): This video playlist serves as an introduction to the Breakroom for Training system for students. Learn how to access the in-world tools, track your course progress, and complete quizzes and waivers. - [Breakroom Games](/help/tutorial-video-playlists/breakroom-games.md): This video playlist reviews the Breakroom Games components, which allow you to add no-code gamification to any Breakroom Region. - [Creator Core](/help/tutorial-video-playlists/creator-core.md): This video playlist serves as a structured introduction to the Region Editor, conference system components, and key objects included in the Breakroom Toolkit. - [Dashboard](/help/tutorial-video-playlists/dashboard.md): This video playlist reviews the Dashboard functions, including creating Regions, managing user accounts, changing billing details, and submitting support tickets. - [Moderator tools](/help/tutorial-video-playlists/moderator-tools.md): This video playlist reviews the tools available to help moderate in-world events. Learn how to direct crowds, message users, and cue audio-visual transitions. - [Platform basics](/help/tutorial-video-playlists/platform-basics.md): This video playlist helps orient new users, showing them how to get around, customize their avatars, communicate, and report issues. - [Where to find support](/help/where-to-find-support.md): If you need assistance with anything related to Breakroom, you can submit a ticket through the Support Tickets tab on Dashboard. Please note that whil ## Opening The Doors - [OPENING THE DOORS](/opening-the-doors.md) - [Analytics](/opening-the-doors/analytics.md): Get key insights into how users are accessing your World, and pivot to meet their business and educational needs. - [Creating and managing user accounts](/opening-the-doors/creating-and-managing-user-accounts.md): The Metaverse couldn't exist without the creativity and talents of its users. Learn how to add users via CSV file upload or manual account creation, and watch your Breakroom World come to life. - [Eventbrite integration](/opening-the-doors/creating-and-managing-user-accounts/eventbrite-integration.md): Breakroom makes it simple to sell or distribute tickets to your event through Eventbrite. Here's how to find the information you'll need to integrate your Breakroom and Eventbrite accounts. - [Region-level user permissions](/opening-the-doors/creating-and-managing-user-accounts/region-level-user-permissions.md): Learn how to assign advanced Region-level permissions to your teammates, and take full advantage of Breakroom's powerful Region editing and event management tools. - [Single sign-on](/opening-the-doors/creating-and-managing-user-accounts/single-sign-on.md): Learn how to enable SSO on Breakroom and customize your end-user login experience. - [World-level user permissions](/opening-the-doors/creating-and-managing-user-accounts/world-level-user-permissions.md): By assigning special permissions to your team members, you can take collaboration and customization to a whole new level. Learn how to appoint Administrators, Moderators, and more. - [Desktop viewers](/opening-the-doors/desktop-viewers.md): Breakroom's desktop application is a powerful tool for accessing your World. Use it for increased stability and performance while editing your Regions, or to conserve World Credits. - [Privacy Policies, EULAs, and data collection](/opening-the-doors/privacy-policies-eulas-and-data-collection.md): Consent is key. Learn how to use Breakroom's powerful tools to create custom EULAs, publicize your Privacy Policy, and comply with privacy and data retention legislation. - [Seats and concurrency](/opening-the-doors/seats-and-concurrency.md): With Breakroom, it's easy to make room for everyone to join the conversation. Learn more about seats, user licenses, concurrency, and how to expand user capacity as needed. - [Toggling World availability](/opening-the-doors/toggling-world-availability.md): Need to restrict access to users with advanced permissions, or want to automatically throw open the doors on a particular date? Breakroom makes it easy to secure the borders of your virtual kingdom. - [World Stream](/opening-the-doors/world-stream.md): World Stream makes Breakroom accessible to everyone, everywhere. Learn how everyone can meet in the Metaverse, even if they don't have a mind-blowing computer setup. - [Pre-allocation campaigns](/opening-the-doors/world-stream/pre-allocation-campaigns.md): If your World Stream event includes more than 50 people, you'll need to reserve virtual machines in advance. Learn more about pre-allocation campaigns, and how to submit your reservation. - [Purchasing and managing World Credits](/opening-the-doors/world-stream/purchasing-and-managing-world-credits.md): Make sure everyone has access to your virtual space by managing your World Credits. Learn how to track minute usage, purchase additional World Credits, and limit user session time. - [Troubleshooting World Stream issues on Chrome](/opening-the-doors/world-stream/troubleshooting-world-stream-issues-on-chrome.md): Encountering an issue with Breakroom's World Stream service? Learn how to troubleshoot common video and audio issues, as well as how to change the default device settings in Chrome. - [Troubleshooting World Stream issues on macOS](/opening-the-doors/world-stream/troubleshooting-world-stream-issues-on-macos.md): If you're running macOS, you may have to dig a little deeper to solve video and audio permissions issues. Learn more about granting and revoking media permissions for World Stream. - [World Stream keyboard shortcuts](/opening-the-doors/world-stream/world-stream-keyboard-shortcuts.md): Many actions in Breakroom are tied to easy keyboard shortcuts. Here's a cheat sheet for our World Stream service. - [World Stream viewer toolbars](/opening-the-doors/world-stream/world-stream-viewer-toolbars.md): Need to access stats for an online session, manage text input, or adjust your stream settings? Learn more about the World Stream toolbar. ## Release Notes - [RELEASE NOTES](/release-notes.md) - [Breakroom Dashboard](/release-notes/breakroom-dashboard.md): Release notes for Breakroom Dashboard v24282. - [Breakroom SDK](/release-notes/breakroom-sdk.md): Release notes for Breakroom SDK v2021.7.7.13756. - [Breakroom Viewer](/release-notes/breakroom-viewer.md): Release notes for Breakroom viewer v2025.5f20496 ## Running Your Event - [RUNNING YOUR EVENT](/running-your-event.md) - [Customizing the conference system components](/running-your-event/customizing-the-conference-system-components.md): Within the Metaverse, you can shape virtual reality to meet your actual needs. Whether you want to add plug-and-play breakout areas or create custom functionality, learn more about your options here. - [Adding breakout areas](/running-your-event/customizing-the-conference-system-components/adding-breakout-areas.md): Breakroom's prefab breakout areas make event setup easy. Learn how to add extra breakout spaces to your Region, enable and manage key conference features, and customize the built-in cameras. - [Creating custom voice zones](/running-your-event/customizing-the-conference-system-components/creating-custom-voice-zones.md): Adding custom voice zones to your Region is a useful way to control audio "traffic" and combat cross-talk while giving users the ability to make spontaneous connections. - [Designating triage zones](/running-your-event/customizing-the-conference-system-components/designating-triage-zones.md): You care about your visitors—and so do we. Learn how you can designate any voice zone a "triage zone," where you can offer users passive or active technical assistance. - [Setting up Presenter and Audience zones](/running-your-event/customizing-the-conference-system-components/setting-up-presenter-and-audience-zones.md): Breakroom's Presenter and Audience zone types both make use of special presenter seats. Learn how to customize the number of presenter seats available and restrict their use to official delegates. - [The RoomFurniture component](/running-your-event/customizing-the-conference-system-components/the-roomfurniture-component.md): The RoomFurniture component is an integral part of Breakroom's prefab Breakout Area and Voice Zone objects. Learn how to create custom audio effects, change the default cameras, and more. - [Troubleshooting duplicate zone errors](/running-your-event/customizing-the-conference-system-components/troubleshooting-duplicate-zone-errors.md): While setting up your breakout areas and voice zones, you may encounter duplicate zone errors in the Region Editor. Here you'll learn what these errors mean and how to fix them. - [Moderator tools](/running-your-event/moderator-tools.md): You work hard behind the scenes to make each and every event a success. Let Breakroom help with our collection of moderator tools. Communicate with users, share streaming media, and more. - [Audience questions](/running-your-event/moderator-tools/audience-questions.md): The moderator controls allow you to field questions and feedback from event attendees in real time. Assign a Moderator to screen audience questions, and keep the conversation going. - [Audio streams](/running-your-event/moderator-tools/audio-streams.md): Breakroom's moderator controls let you set up a live audio stream for your event, or stream open-source radio to add engaging background music. - [Broadcast messages](/running-your-event/moderator-tools/broadcast-messages.md): The Broadcast Message panel allows you to send text announcements, assist users individually through direct messages, and solicit user feedback. - [Crowd management](/running-your-event/moderator-tools/crowd-management.md): The Crowd Management panel lets you teleport users within your Region and restrict user access to voice chat. Learn how to move, mute, and manage users across multiple voice zones. - [Hidden UI toggle](/running-your-event/moderator-tools/hidden-ui-toggle.md): Moderators have access to UI components that may be otherwise disabled for general users. Learn how to access hidden UI functionality in order to assist with events. - [Participation](/running-your-event/moderator-tools/participation.md): Increase engagement (and track analytics in real time) by creating participant touchpoints using your favorite online software. Integrate Breakroom with Google forms, Slido, and more. - [Presentation controls](/running-your-event/moderator-tools/presentation-controls.md): Breakroom's presentation controls allow you to stage visual media for quick deployment during your events. Learn how to upload custom signs, create a video queue, and more. - [Raised hands](/running-your-event/moderator-tools/raised-hands.md): Raise the roof on engagement by monitoring users who've chosen to raise their hands using Breakroom's conference tools. Respond to questions, calculate the results of straw polls, and more. - [Understanding the conference system](/running-your-event/understanding-the-conference-system.md): Learn how Breakroom's conference system components work together—including voice zones, webcams, and more—and how you can customize them to suit your needs. - [Voice chat and spatial audio](/running-your-event/understanding-the-conference-system/voice-chat-and-spatial-audio.md): Empower your users to speak their minds. Read on for more information about Breakroom's spatial audio feature, as well as step-by-step instructions for disabling voice chat. - [Voice zones, zone types, and conference permissions](/running-your-event/understanding-the-conference-system/voice-zones-zone-types-and-conference-permissions.md): Understanding the relationship between voice zones, zone types, and conference system permissions is critical for customizing your Breakroom workspace. ## Scripting - [Welcome to Scripting API](/scripting.md): Get started with Lua scripting — components, the API reference, and guides for writing client and server scripts. - [Changelog](/scripting/changelog.md) - [API Changelog](/scripting/changelog/api-changelog.md): A list of changes to the Sinespace API - [Client Scripting API](/scripting/client-scripting-api-reference.md) - [Client](/scripting/client-scripting-api-reference/client.md): Entry points for dialogues, player input, shared data, and in-world UI available to client scripts. - [SDialogues](/scripting/client-scripting-api-reference/client/sdialogues.md): Function Namevoid ColorPicker (string title, string okbutton, Action&x3C; SColor onChange, Action&x3C; SColor onSelect, Action onCancel, SColor defaul - [SInput](/scripting/client-scripting-api-reference/client/sinput.md): bool GetKeyDown (string key) Returns true if 'key' was pressed during this frame. bool GetKeyUp (string key) Returns true if 'key' is no longer presse - [SShared](/scripting/client-scripting-api-reference/client/sshared.md): Function Namevoid SetGlobal(string ns, string key, DynValue value)void SetSuperGlobal(string ns, string key, DynValue value)DynValue GetGlobal(string - [SUI](/scripting/client-scripting-api-reference/client/sui.md): void AddNotification (string title, string text) Shows a notification void OpenAppearanceEditor() Opens the Appearance Editor (Outfit) void ShowPathTo - [Components](/scripting/client-scripting-api-reference/components.md): The components client scripts can read and control — rendering, physics, audio, animation, UI, and interaction. - [SAnimation](/scripting/client-scripting-api-reference/components/sanimation.md): SAnimationState GetState () \ SAnimationState GetState (string state) Returns the SAnimationState for the default animation clip. void Blend (string a - [SAnimator](/scripting/client-scripting-api-reference/components/sanimator.md): void Rebind () Rebind all the animated properties and mesh data with the Animator. void Stop () Stop the Animator. void SetTime (double time) Function - [SAudioReactiveAnimation](/scripting/client-scripting-api-reference/components/saudioreactiveanimation.md): bool Enabled get set Returns true if the Audio Reactive Animation Enabled. SAnimator Target get set The target Animator which the Audio Reactive Anima - [SAudioReactiveBase](/scripting/client-scripting-api-reference/components/saudioreactivebase.md): bool Enabled get set Whether the Audio Reactive component is enabled or not. int BandMin get set The Band Min property of an Audio Reactive component. - [SAudioReactiveLight](/scripting/client-scripting-api-reference/components/saudioreactivelight.md): bool Enabled get set Returns true if the Audio Reactive Light Enabled. SLight Target get set Returns true if the light target Enabled. bool Range get - [SAudioReactiveMaterial](/scripting/client-scripting-api-reference/components/saudioreactivematerial.md): bool Enabled get set Returns true if the Audio Reactive Material Enabled. SMaterial Target get set Property Description SMaterial OriginalMaterial get - [SAudioReactiveParticleSystem](/scripting/client-scripting-api-reference/components/saudioreactiveparticlesystem.md): bool Enabled get set Property Description SGameObject Target get set Property Description bool Position get set Property Description SVector MinPositi - [SAudioReactiveTransform](/scripting/client-scripting-api-reference/components/saudioreactivetransform.md): bool Enabled get set Whether the Audio Reactive Transform component is enabled or not. SGameObject Target get set The target GameObject which will be - [SAudioSource](/scripting/client-scripting-api-reference/components/saudiosource.md): void Play () Starts playing the audio clip. void Stop () Stops playing the audio clip. void Pause () Pauses the audio clip. void UnPause () Pauses the - [SBoxCollider](/scripting/client-scripting-api-reference/components/sboxcollider.md): SVector Center get set The position of the center of the Box Collider. SVector Size get set The size of the box. bool Enabled get set Enabled Collider - [SBrowserSurface](/scripting/client-scripting-api-reference/components/sbrowsersurface.md): void SetURL (string url) Sets the URL for the browser frame, and navigates to it. void Back () Equivalent to hitting the 'back' button within the brow - [SCamera](/scripting/client-scripting-api-reference/components/scamera.md): void TakePhoto () Triggers the Photo window in the UI, with the output of this camera. Perfect for photo booths. SResource TakeSnapshot () Captures a - [SCanvasGroup](/scripting/client-scripting-api-reference/components/scanvasgroup.md): float Alpha get set &x53;&x65;t the alpha of the group. bool BlocksRaycasts get set Does this group block raycasting (allow collision)? bool IgnorePar - [SCapsuleCollider](/scripting/client-scripting-api-reference/components/scapsulecollider.md): SVector Center get set The center of the capsule, measured in the object's local space. int Direction get set The direction of the capsule. float Heig - [SCharacterController](/scripting/client-scripting-api-reference/components/scharactercontroller.md): SVector ClosestPointOnBounds (SVector position) The closest point to the bounding box of the attached collider. This can be used to calculate hit poin - [SClickable](/scripting/client-scripting-api-reference/components/sclickable.md): void AddExtraAction (string name, string tooltip, Closure e) Add a new action for the object to perform when clicked. Can be useful for providing milt - [SCloth](/scripting/client-scripting-api-reference/components/scloth.md): float BendingStiffness get set Bending stiffness of cloth. float CollisionMassScale get set Increase the mass of colliding particles. bool EnableConti - [SCollider](/scripting/client-scripting-api-reference/components/scollider.md): bool Enabled get set Enable or disable the collider. bool IsTrigger get set Set Collider as a trigger. SGameObject GameObject get Property Description - [SContentSizeFitter](/scripting/client-scripting-api-reference/components/scontentsizefitter.md): void SetLayoutHorizontal () Function Description void SetLayoutVertical () Function Description void RefreshLayout () Function Description bool Enable - [SEmbeddedVideo](/scripting/client-scripting-api-reference/components/sembeddedvideo.md): void OnStateChange (Closure e) Function Description void Play () If URL is set, plays the video void Stop () Stops the playback void Pause () Pauses c - [SEventCalendar](/scripting/client-scripting-api-reference/components/seventcalendar.md): void SwitchEventType (int typeNumber) Function Description void ChangeRange (int range) Function Description int Range get set Property Description SG - [SFurniture](/scripting/client-scripting-api-reference/components/sfurniture.md): void StoreCustomData (string key, string value) Function Description string GetCustomData (string key) Function Description int InventoryItemID get Re - [SGraphicRaycaster](/scripting/client-scripting-api-reference/components/sgraphicraycaster.md): SUIRaycastResult Raycast () Perform the raycast against the list of graphics associated with the Canvas and returns first UI raycast result. int SortO - [SHingeJoint](/scripting/client-scripting-api-reference/components/shingejoint.md): SRigidbody ConnectedBody get set Set joint to a rigidbody. If not set, the joint connects to the world. SVector Axis get set The direction of the axis - [SLight](/scripting/client-scripting-api-reference/components/slight.md): bool Enabled get set Enable/Disable this light. float Range get set Get/Set the effective range of the light source. float SpotAngle get set The angle - [SLineRenderer](/scripting/client-scripting-api-reference/components/slinerenderer.md): void SetPosition (int index, SVector position) Set the position of a vertex in the line. SVector GetPosition (int index) Get the position of a vertex - [SMeshRenderer](/scripting/client-scripting-api-reference/components/smeshrenderer.md): bool IsVisible get Returns true if the renderer is visible on any camera. Note that the object is considered visible when it needs to be rendered in t - [SModularVehicle](/scripting/client-scripting-api-reference/components/smodularvehicle.md): void ForceSetOwner (int newOwner, int vehicleId) Force player of the id owned this vehicle, but only between this spawned vehicle. But it seems the ne - [SNavMeshAgent](/scripting/client-scripting-api-reference/components/snavmeshagent.md): float GetAreaCost (int areaIndex) Function Description void Move (SVector movement) Apply relative movement to current position. void Resume () Resume - [SNavMeshObstacle](/scripting/client-scripting-api-reference/components/snavmeshobstacle.md): bool CarveOnlyStationary get set When enabled, the obstacle is carved only when it is stationary. (Only can enabled after carve was ticked). bool Carv - [SNetworking](/scripting/client-scripting-api-reference/components/snetworking.md): void SendEvent (string eventName) Send a networking event event that will be received by other components in the scene with the same network name. voi - [SParticleSystem](/scripting/client-scripting-api-reference/components/sparticlesystem.md): void Play (bool withChildren)\ void Play () Sets the Particle Systems into play mode and enables emitting (if it has been disabled). If the Particle S - [SPlayableDirector](/scripting/client-scripting-api-reference/components/splayabledirector.md): void Play () Instantiates a Playable using the provided PlayableAsset and starts playback. void Stop () Stop playback of the current Playable and dest - [SPostProcessVolume](/scripting/client-scripting-api-reference/components/spostprocessvolume.md): bool Enabled get set Enable or disable post effect volume. bool IsGlobal get set Should this volume be applied to the whole scene? float? BlendDistanc - [SRectTransform](/scripting/client-scripting-api-reference/components/srecttransform.md): void SetParent (SGameObject parent, bool worldPositionStays) Set the parent of the transform. void SetInsetAndSizeFromParentEdge (int edge, float inse - [SReflectionProbe](/scripting/client-scripting-api-reference/components/sreflectionprobe.md): void RenderProbe () Refreshes the probe's cubemap. SVector Center get set The center of the box area in which reflections will be applied to the objec - [SRenderer](/scripting/client-scripting-api-reference/components/srenderer.md): bool IsVisible get Returns true if the renderer is visible on any camera. Note that the object is considered visible when it needs to be rendered in t - [SRigidbody](/scripting/client-scripting-api-reference/components/srigidbody.md): void AddExplosionForce (float explosionForce, SVector explosionPosition, float explosionRadius, float upwardsModifier) Applies a force to a rigidbody - [SRoomFloor](/scripting/client-scripting-api-reference/components/sroomfloor.md): bool Enabled get set Status of enable or disable room floor component string Name get Name of this floor string Description get Description of this fl - [SSceneBackgroundMusic](/scripting/client-scripting-api-reference/components/sscenebackgroundmusic.md): void Play () Plays the radio stream void PlayMP3Stream (string url) Sets the given MP3 stream url as current stream void PlayVorbisStream (string url) - [SScriptingData](/scripting/client-scripting-api-reference/components/sscriptingdata.md): object GetVariable (string name) Return the object of the variable. void SetVariable (string name, DynValue property, bool persistent=false) Set prope - [SScriptingEvents](/scripting/client-scripting-api-reference/components/sscriptingevents.md): void InvokeEvent (string name) Invoke the event with its name bool Enabled get set Whether the scriptingEvents component is enabled or not string\[] E - [SScriptingResources](/scripting/client-scripting-api-reference/components/sscriptingresources.md): SResource GetResource (string name) Returns the SResource with the specified name, or else returns nil if not found. bool Enabled get set Return wheth - [SScriptingRuntime](/scripting/client-scripting-api-reference/components/sscriptingruntime.md): SResource GetResource (string name) Get the resource by its name and return it. void CallScriptFunction (string name, params DynValue\[] arguments)\ v - [SSeat](/scripting/client-scripting-api-reference/components/sseat.md): void SitPlayer () Make a player sit. void UnseatPlayer () Make a player unseat. void OnStandUp (Closure e) Binds a function to the Seat's On Stand Up - [SSkinnedMeshRenderer](/scripting/client-scripting-api-reference/components/sskinnedmeshrenderer.md): float GetBlendShapeWeight (int index) Return the value of BlendShapeWeight. void SetBlendShapeWeight (int index, float value) Set the value to the Ble - [SSphereCollider](/scripting/client-scripting-api-reference/components/sspherecollider.md): SVector Center get set The center of the sphere in the object's local space. float Radius get set The radius of the sphere measured in the object's lo - [SStateMachine](/scripting/client-scripting-api-reference/components/sstatemachine.md): void NextState () Enter the next state void PrevState () void SetState (int state)\ void SetState (string state) Enters the state of being set that it - [STerrain](/scripting/client-scripting-api-reference/components/sterrain.md): Function NameDescriptionfloat GetHeight (float x, float y)Get an interpolated height at a point x,y.float GetSteepness (float x, float y)Get the gradi - [STrailRenderer](/scripting/client-scripting-api-reference/components/strailrenderer.md): void Clear () Function Description SVector GetPosition (int index) Get the position of a vertex in the trail. bool Enabled get set Whether this TrailR - [SUIButton](/scripting/client-scripting-api-reference/components/suibutton.md): void OnClick (Closure callback) Invoke when a user clicks the button and releases it. bool Enabled get set Whether the button component is Enabled. bo - [SUICanvas](/scripting/client-scripting-api-reference/components/suicanvas.md): bool IsRootCanvas get The avoidance radius for the agent. float ScaleFactor get set Scales all UI elements in the Canvas by this factor. float Referen - [SUIDropdown](/scripting/client-scripting-api-reference/components/suidropdown.md): void RefreshShownValue () Refreshes the text and image (if available) of the currently selected option.If you have modified the list of options, you s - [SUIImage](/scripting/client-scripting-api-reference/components/suiimage.md): SColor Color get set Default Color of UIImage SResource Sprite get set The sprite that is used to render this image. bool PreserveAspect get set Wheth - [SUIInputField](/scripting/client-scripting-api-reference/components/suiinputfield.md): void OnValueChanged (Closure callback) Given function will be called when text in Input Field has changed void OnEndEdit (Closure callback) Given func - [SUILayout](/scripting/client-scripting-api-reference/components/suilayout.md): bool Enabled get set Is this UI layout component Enabled? int PaddingLeft get set Space reserved for the left edge of the padding during the layout ph - [SUIRawImage](/scripting/client-scripting-api-reference/components/suirawimage.md): bool RaycastTarget get set Enable Raycast Target. bool Maskable get set To check if the graphic is maskable. SResource Texture get set The RawImage's - [SUIScrollbar](/scripting/client-scripting-api-reference/components/suiscrollbar.md): void OnValueChanged (Closure callback) Handling for when the scrollbar value is changed. float Size get set The size of the scrollbar handle where 1 m - [SUISlider](/scripting/client-scripting-api-reference/components/suislider.md): void OnValueChanged (Closure callback) Callback executed when the value of the slider is changed. bool Enabled get set Whether this Slider component i - [SUIText](/scripting/client-scripting-api-reference/components/suitext.md): bool SupportRichText get set Whether this Text will support rich text.&x20; bool ResizeTextForBestFit get set Should the text be allowed to auto resiz - [SUIToggle](/scripting/client-scripting-api-reference/components/suitoggle.md): void OnValueChanged (Closure callback) Binds a function to be triggered when value of the UIToggle changes. bool Enabled get set Whether the UIToggle - [SUIToolTipHint](/scripting/client-scripting-api-reference/components/suitooltiphint.md): bool Enabled get set Get or set whether the tool tip component is Enabled. string Text get set Get or set the string value this tool tip displays. SRe - [SVirtualCamera](/scripting/client-scripting-api-reference/components/svirtualcamera.md): bool Enabled get set Is this virtual camera enabled? float FieldOfView get set Field of view of this virtual camera. float Dutch get set Dutch of view - [SVoiceZone](/scripting/client-scripting-api-reference/components/svoicezone.md): void SetOverrideVoice (bool enabled) Set voice to override the original voice. void ClearOverrideVoice () Clear the overriding voice. void SetOverride - [Network](/scripting/client-scripting-api-reference/network.md): Networking APIs for client scripts — chat, network messages, web requests, and shared media. - [SChat](/scripting/client-scripting-api-reference/network/schat.md): void OnChat (Closure callback)\ void OnChat (Action trackInfoCallback) Bind a function to the OnChat event. This function will be called every time a - [SNetwork](/scripting/client-scripting-api-reference/network/snetwork.md): - Local network messages (region/shard scope) - Use SendNetworkMessage / SubscribeToNetwork with a string key. - Delivery is confined to the current r - [SNetworkMessageLua](/scripting/client-scripting-api-reference/network/snetworkmessagelua.md): string Key get The Key this message was sent with. Table Message get The contents of this message. - [SPhotos](/scripting/client-scripting-api-reference/network/sphotos.md): SResource GetUploadedTexture () Function Description void GetSavedTexture (string path, Closure onComplete) Function Description Table GetInventoryTex - [SVideos](/scripting/client-scripting-api-reference/network/svideos.md): Table GetInventoryVideos () Function Description void OpenUploadFileBrowser () Opens a window that let's you select a file you wish to upload. (white- - [SWebService](/scripting/client-scripting-api-reference/network/swebservice.md): To setup your server for communication with space, in the root of your domain, on the port you are using, place a file named 'sinewave.space.scripting - [Player](/scripting/client-scripting-api-reference/player.md): APIs for the local player — profile, inventory, economy, groups, and quests. - [SEconomy](/scripting/client-scripting-api-reference/player/seconomy.md): The SEconomy class gives us the ability to transfer silver or issue silver rewards from Sinespace's vault. Therefore, for the below methods to work, y - [SGroup](/scripting/client-scripting-api-reference/player/sgroup.md): bool IsMemberOf (int groupID) Whether is a member of this group. SGroupInfo GetGroupInfo (int groupID) Get the group info by groupID. void JoinGroup ( - [SInventory](/scripting/client-scripting-api-reference/player/sinventory.md): void Authorize (Closure onAuthorized=null, Closure onRejected=null) Requests access to inventory functions, must be called prior to attempting to acce - [SProfile](/scripting/client-scripting-api-reference/player/sprofile.md): void Authorize (Closure onAuthorized=null, Closure onRejected=null)\ void Authorize (Action onAuthorized=null, Action onRejected=null) Requests access - [SQuests](/scripting/client-scripting-api-reference/player/squests.md): void StartQuest (int id) Function Description int GetQuestStep (int questID) Function Description void ResetQuest (int id) Function Description void S - [Scene](/scripting/client-scripting-api-reference/region.md): APIs for the region a script runs in — scene, cameras, physics, rendering, and persistence. - [SCameraManager](/scripting/client-scripting-api-reference/region/scameramanager.md): bool IsLocked get Is the Camera locked?&x20; SGameObject MainCamera get Note, this property is generally read-only. It's position is driven by interna - [SGrid](/scripting/client-scripting-api-reference/region/sgrid.md): void GetEnabledUserRegions (Closure onComplete) Calling this function will asynchronously get and return information about this player's regions as SU - [SHost](/scripting/client-scripting-api-reference/region/shost.md): void InvokeEvent (string name) Invokes a UnityEvent attached to the Scripting Runtime component this script is executing in. void Stop () Pauses the c - [SPersistence](/scripting/client-scripting-api-reference/region/spersistence.md): void UpdateInfo (Closure onComplete) Call the onComplete function upon the server saving a value. string RetrieveValue (string key) Returns the saved - [SPhysics](/scripting/client-scripting-api-reference/region/sphysics.md): SPhysicsHit\[] RayCast (SVector origin, SVector normal, float distance, SLayerMask layerMask=null) Raycasts from origin along normal, distance meters - [SPostFX](/scripting/client-scripting-api-reference/region/spostfx.md): SCommandBuffer CreateCommandBuffer () Return a new CommandBuffer. void AddCommandBufferToCamera (SCommandBuffer commandbuffer, int cameraEvent=19) Add - [SRenderSettings](/scripting/client-scripting-api-reference/region/srendersettings.md): void SetGlobalShaderTexture (string name, SResource dir) Set a global texture property. void SetGlobalShaderFloat (string name, float dir) Set a globa - [SScene](/scripting/client-scripting-api-reference/region/sscene.md): SGameObject Find (string name) Finds a single Game Object matching 'Name' and returns it. Can use '/' characters to designate a path (e.g. 'Parent/Chi - [SScript](/scripting/client-scripting-api-reference/region/sscript.md): string TypeName (DynValue dv) Return the type name of the value. bool TrackingAllowed (string key) Returns true on white-label grids when the user has - [Types](/scripting/client-scripting-api-reference/types.md): Data types used by the client API — vectors, colours, transforms, math helpers, and resource structures. - [SAnimationState](/scripting/client-scripting-api-reference/types/sanimationstate.md): bool Enabled get set Is this Animation State enabled? float Length get Returns the length of current animation. string Name get Returns the name of cu - [SAnimatorStateInfo](/scripting/client-scripting-api-reference/types/sanimatorstateinfo.md): bool IsName (string name) Does name match the name of the active state in the statemachine? bool IsTag (string tag) Does tag match the tag of the acti - [SAvatar](/scripting/client-scripting-api-reference/types/savatar.md): void AttachTo (SGameObject target) Attaches the player to the target game object, keeping the avatar fixed in its current position/rotation relative t - [SAvatarAppearance](/scripting/client-scripting-api-reference/types/savatarappearance.md): void LoadOutfit (int outfitID) Changes the current Avatar's outfit to outfitID. For a player Avatar, this only works on white-label grid. For NPC avat - [SChatMessage](/scripting/client-scripting-api-reference/types/schatmessage.md): uint SenderID get ID of the sender of the message&x20; string Sender get Name of the sender of the message string Channel get Name of the channel stri - [SColor](/scripting/client-scripting-api-reference/types/scolor.md): string ToHex () Return the Hex value of the color. SColor Lerp (SColor b, float t) Linearly interpolates between current color and b by t. bool Equals - [SCommandBuffer](/scripting/client-scripting-api-reference/types/scommandbuffer.md): void DrawRenderer (SRenderer renderer, SMaterial material) Add a "draw renderer" command. void Blit (SMaterial mat) Add a "bit into a render texture" - [SDateTime](/scripting/client-scripting-api-reference/types/sdatetime.md): bool Equals (SDateTime other) Returns true if the datetimes are same. &96;&96;&96; ATargetDateTime = DateTime.Now().AddMinutes(5) AreEqual = ATargetDa - [SGameObject](/scripting/client-scripting-api-reference/types/sgameobject.md): void SubscribeToEvents () Causes this script to start listening to events on the object.&x20; This function is now automatically called by events that - [SGenre](/scripting/client-scripting-api-reference/types/sgenre.md): override string ToString () Function Description string Name get set Property Description string ID get set Property Description string HasChildren ge - [SGroupInfo](/scripting/client-scripting-api-reference/types/sgroupinfo.md): int ID get The ID of the group. int OwnerID get The ID of the group's owner. string Name get The name of the group. string Description get The descrip - [SInventoryItem](/scripting/client-scripting-api-reference/types/sinventoryitem.md): bool StoreCustomData (string data) Updates the inventory items custom data, and requests a synchronisation with the inventory server. It may not updat - [SJointLimits](/scripting/client-scripting-api-reference/types/sjointlimits.md): override string ToString () Returns this SJointLimits's properties as a string static SJointLimits New (float min, float max, float bounciness, float - [SJointMotor](/scripting/client-scripting-api-reference/types/sjointmotor.md): override string ToString () Returns this SJointMotor's properties as a string static SJointMotor New (float targetVelocity, float force, bool freeSpin - [SJointSpring](/scripting/client-scripting-api-reference/types/sjointspring.md): override string ToString () Returns this SJointSpring's properties as a string static SJointSpring New (float spring, float damper, float targetPositi - [SLandmark](/scripting/client-scripting-api-reference/types/slandmark.md): string Name get Landmark's Name SVector Position get Landmark's Position SQuaternion Rotation get Landmark's Rotation bool SpawnPoint get Is this Land - [SLayerMask](/scripting/client-scripting-api-reference/types/slayermask.md): void SetLayers (params string\[] layerNames)\ void SetLayers (Table layerNames) \Function that changes an existing layer mask \ void AddLayer (string - [SMaterial](/scripting/client-scripting-api-reference/types/smaterial.md): SMaterial Instantiate() Return a new SMaterial from old. void SetFloat (string key, float value) Sets a shader property to value float GetFloat (strin - [SMath](/scripting/client-scripting-api-reference/types/smath.md): static float Random () Returns a random float between 0 and 1 (inclusive) static float RandomRange (float min, float max) Returns a random float betwe - [SMusicDirectory](/scripting/client-scripting-api-reference/types/smusicdirectory.md): void GetTop100 (Closure onLoad) Function Description void GetGenreList (Closure onLoad, int parentId=0) Function Description void SearchByGenre (SGenr - [SMusicStation](/scripting/client-scripting-api-reference/types/smusicstation.md): override string ToString () Function Description string Name get set Property Description string Mt get set Property Description string Id get set Pro - [SMusicStationList](/scripting/client-scripting-api-reference/types/smusicstationlist.md): STuneIn TuneIn get set Property Description List Station get set Property Description - [SOutfit](/scripting/client-scripting-api-reference/types/soutfit.md): void GetPreview (Closure onComplete) Function Description int ID get Property Description string Name get Property Description - [SParticle](/scripting/client-scripting-api-reference/types/sparticle.md): SVector position get set The position of the particle. SVector velocity get set The velocity of the particle. SVector animatedVelocity get The animate - [SPhysicsHit](/scripting/client-scripting-api-reference/types/sphysicshit.md): SGameObject Object get Property Description SVector Position get Where the physics hit occurred SVector Normal get The normal of the hit SVector UV ge - [SPublicRegion](/scripting/client-scripting-api-reference/types/spublicregion.md): int ID get The Region ID of this region int OwnerID get The ID of the owner of this region string Name get The Name of this region string MapPath get - [SQuaternion](/scripting/client-scripting-api-reference/types/squaternion.md): string ToString () Converts a quaternion to a human readable string float Angle (SQuaternion b) Returns the angle between two quaternions SQuaternion - [SRay](/scripting/client-scripting-api-reference/types/sray.md): SVector Origin get The origin point of the ray. SVector Direction get The direction of the ray. - [SRect](/scripting/client-scripting-api-reference/types/srect.md): bool Contains (SVector point)\ bool Contains (SVector point, bool allowInverse) Returns true if the x and y components of point is a point inside this - [SResource](/scripting/client-scripting-api-reference/types/sresource.md): string Name get Returns the name of the resource as entered in the scripting runtime string Type get Returns the type of the resource as a string stri - [SScore](/scripting/client-scripting-api-reference/types/sscore.md): int Rank get Property Description long Score get Property Description string Username get Property Description - [SScoreRank](/scripting/client-scripting-api-reference/types/sscorerank.md): int Level get The level of current activity. SScore\[] AllTimeLeaderboard get The AllTimeLeaderboard of current activity. SScore\[] DailyLeaderboard g - [SSocialMedia](/scripting/client-scripting-api-reference/types/ssocialmedia.md): string Type get Property Description string MediaID get Property Description string Url get Property Description - [SString](/scripting/client-scripting-api-reference/types/sstring.md): static string MD5 (string input) Calculates the MD5Sum of input and returns the result as a hexadecimal string static string SHA1 (string input) Funct - [SSubRegion](/scripting/client-scripting-api-reference/types/ssubregion.md): int RegionID get Property Description int Count get Property Description string ServerLocation get Property Description - [STrackInfo](/scripting/client-scripting-api-reference/types/strackinfo.md): string Title get Title of the track string Artist get Artist of the track - [STuneIn](/scripting/client-scripting-api-reference/types/stunein.md): string Base get set Property Description string Basem3u get set Property Description string Basexspf get set Property Description - [SUIRaycastResult](/scripting/client-scripting-api-reference/types/suiraycastresult.md): void Clear () Reset all the parameters of this RaycastResult string ToString () Converts all the properties of this UIRaycastResult into a string floa - [SUserProfile](/scripting/client-scripting-api-reference/types/suserprofile.md): string UserName get Get player profile's Username string Title get Get player profile's Title string RealName get Get player profile's Real Name strin - [SUserRegions](/scripting/client-scripting-api-reference/types/suserregions.md): int SubscriptionTier get The subscription tier indicates which type of premium memberhsip the player has. (As found in "Region" window) int NumberOfRe - [SVector](/scripting/client-scripting-api-reference/types/svector.md): SVector Add (SVector other)\ SVector Add (float other) &x20;Adds this Vector SVector Scale (SVector other)\ SVector Scale (float other) Multiplies thi - [SWebResponse](/scripting/client-scripting-api-reference/types/swebresponse.md): string Error get Any error, will be empty or null if the request was successful string Response get The body text of the webpage response if error is - [Guides](/scripting/guides.md) - [Persistence](/scripting/guides/persistence.md): Guide on how to script persistence in Sinespace - [Server Scripts](/scripting/guides/server-scripts.md): The main difference between Server scripts and Client scripts is that they are running on the server.&x20; For Client scripts, each player is running - [Sample Projects](/scripting/sample-projects.md) - [Smart Lights](/scripting/sample-projects/smart-lights.md): This sample project is a panel that has switches to turn off/on and change the colors of all lights connected to it. This project demonstrates how we - [Trivia Box](/scripting/sample-projects/trivia-box.md): This sample project is a box that when pressed will show a trivia question on screen and users will be able to attempt to answer the trivia question u - [Server Scripting API](/scripting/server-scripting-api-reference.md) - [Library](/scripting/server-scripting-api-reference/library.md): Helper libraries available to server scripts, including math utilities. - [SMath](/scripting/server-scripting-api-reference/library/smath.md): static float Random () Returns a random float between 0 and 1 (inclusive) static float RandomRange (float min, float max) Returns a random float betwe - [Network](/scripting/server-scripting-api-reference/network.md): Networking APIs for server scripts — shared data and outbound web requests. - [SShared](/scripting/server-scripting-api-reference/network/sshared.md): void SetGlobal (string ns, string key, DynValue value) Sets a global key to a value. The value can be any object type. DynValue GetGlobal (string ns, - [SWebservice](/scripting/server-scripting-api-reference/network/swebservice.md): void Get (string url, Closure onComplete, Table headers=null) Performs an HTTP\[S] GET. The callback receives two parameters: success (bool) and respo - [Scene](/scripting/server-scripting-api-reference/region.md): Server-side region APIs — scenes, parcels, cells, objects, and avatars. - [SAvatar](/scripting/server-scripting-api-reference/region/savatar.md): int ID get Avatar's ID Vector3 Position get Avatar's position Vector3 Velocity get Avatar's Velocity Quaternion Rotation get Avatar's Rotation string - [SCell](/scripting/server-scripting-api-reference/region/scell.md): SObject GetObject (string id) Function Description Table Objects get Property Description - [SObject](/scripting/server-scripting-api-reference/region/sobject.md): string GetProperty (string property) Function Description void SetProperty (string property, string value) Function Description SCell Cell get Propert - [SParcel](/scripting/server-scripting-api-reference/region/sparcel.md): string ID get Property Description string Name get Property Description string DescriptionName get Property Description bool ForSale get Property Desc - [SParcelManager](/scripting/server-scripting-api-reference/region/sparcelmanager.md): SParcel GetParcel (string id) Function Description Table AllParcels get Property Description - [SRegionScript](/scripting/server-scripting-api-reference/region/sregionscript.md): void Log (string message) Log a message to console. (only works on preview grid) void SubscribeToNetwork (string key) Subscribe to network messages on - [SScene](/scripting/server-scripting-api-reference/region/sscene.md): int ConnectedAvatars get Returns the number of Avatars connected to the region. Table Avatars get Returns a table of SAvatar objects currently in the - [Storage](/scripting/server-scripting-api-reference/storage.md): Persistent server-side storage, including the database API. - [SDatabase](/scripting/server-scripting-api-reference/storage/sdatabase.md): void GetRegionValue (string key, Closure onResult) Get a value stored in the region database. (this does not access the same database as the SPersiste - [Support](/scripting/support.md) - [Report An Issue](/scripting/support/report-an-issue.md): How to report issues within the Sinespace Scripting Documentation ## Tips For Success - [TIPS FOR SUCCESS](/tips-for-success.md) - [Onboarding new users](/tips-for-success/onboarding-new-users.md): Need to quickly orient your team or high-profile guests? Here are the top onboarding hacks Breakroom clients have taught us. - [Region Editor best practices](/tips-for-success/region-editor-best-practices.md): Breakroom's Region Editor is intuitive and powerful—once you get the hang of it! Here you'll find tips and shortcuts collected from some of our most skilled Region designers.