Rooms 2.0 Player Properties
Customize attributes such as walk speed and jump height per player using CV2. This provides more precise control compared to the previously hierarchical system of Player Roles.
One of the most important things that Roles do in Rooms V1 is grant access to player settings such as how fast someone moves, whether they can fly, the distance of their voice rolloff, etc. Unfortunately, using Roles as a middleman also comes with some limitations. Since you can only have a certain number of Roles, something like “Increase Gribbly’s movement speed by 5% every level” is basically impossible unless changing movement speed is all you’re using Roles for.Looking at all the ways we could have made Roles better, it became pretty obvious that they were trying to do too many things, and as a result, they couldn’t do any of them very well. Practically, Roles would be difficult to update since they do so many things, and we wanted something more flexible. So we started thinking - what if we removed Roles and just let you do all this stuff directly with circuits? That’s where Properties comes in.
What’s a Property?In general, a property is an inherent characteristic of something’s behavior, like the color of a cube, the intensity of a light, or the maximum speed of a player. A lot of the chips in the palette today are already accessing the properties of objects. Spotlight Set Intensity, for example, accesses the Intensity property of a spotlight and allows you to change it.In Rec Room, a Property is one of these inherent traits that we’ve chosen to expose to Circuits. If something is a Property, it probably has these things:
  • A field in the config menu of the object where you can set the property’s Home Value (which can be overridden with circuits, but will reset on join/load or Reset)
  • A “Set” chip, e.g. Button Set Text
  • A “Get” chip, e.g. Beacon Get Color
Player Properties are the same thing. Instead of using a Role to set a bunch of player properties and then assigning that Role to a player, you can now Get and Set each property individually.
How to change a player’s propertiesAs of this post, these properties are available:
  • Walk Input Enabled
  • Walk Speed
  • Sprint Input Enabled
  • Sprint Speed
  • Force Manual Sprint
  • Jump Input Enabled
  • Jump Height
  • Crouch Input Enabled
  • Can Teleport
  • Teleport Delay
  • Teleport Distance
  • Force VR Walk
  • Force Virtual Height Mode
  • Crouch Speed
  • Prone Speed
  • Slide Speed
  • Voice Rolloff Distance
And there will be more coming soon:
  • Can Fly
  • Avatar Is Visible
  • ..and more!
You’ll find chips for each of these properties in the Rooms 2 palette. Target a player directly to change that property for that player. That’s it!
Page image
How to set a new default for the roomThe room-wide starting values for Player Properties are defined on the active Player Definition Board.  Configure a definition, set your starting values, and then set that definition as active, and it will apply to all players who join the room.
Page image
Page image
When you first configure a player board definition, you’ll see that the available Properties have starting values that match Rec Room’s default settings. Adjust these settings and push an updated definition to change the defaults for the room. You can still use the Set Property chips to change these values per player.
What about the other stuff that Roles used to do?Of course, there’s a bunch of stuff that Roles used to do that’s still missing here. We’re working on it - it’s important to us that you’re able to do more stuff in Rooms 2, not less!  Without going into too much detail:Holsters will be re-introduced as part of Equipment Slots, since they need to share the same on-screen real estate. In most other ways, they’ll behave just like existing holsters (though some of the Equip chips will change to take an Equipment Slot input.) When you set up an Equipment Slot, you’ll decide whether it’s an Inventory Slot or a Holster Slot.Pickup Restrictions will exist on each object, now based on player tags instead of Roles.Creator Roles won’t be returning, but all objects will have an Owner Lock setting that prevents anyone who isn’t a co-owner or above from selecting them.
What’s next for Properties?Most objects also have many more inherent properties than we’ve chosen to build chips for. In the future, we’d like to expand the options here and let you not only choose which inherent properties to expose, but define custom Properties - bits of information that describe your object, show up in the config menu, and can be set with circuits just like all of the “real” ones. No need to use a variable chip to track and change how much damage a sword does - instead, give it a Damage property.We’ll be adding more Player Properties as we go along. If there’s anything you’re hoping for that isn’t listed above, let us know on our Upvote Board.