// <auto-generated>
//     Generated by the protocol buffer compiler.  DO NOT EDIT!
//     source: rec_room/player_roles/player_game_role_data.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021, 8981
#region Designer generated code

using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace RecRoom.Protobuf {

  /// <summary>Holder for reflection information generated from rec_room/player_roles/player_game_role_data.proto</summary>
  public static partial class PlayerGameRoleDataReflection {

    #region Descriptor
    /// <summary>File descriptor for rec_room/player_roles/player_game_role_data.proto</summary>
    public static pbr::FileDescriptor Descriptor {
      get { return descriptor; }
    }
    private static pbr::FileDescriptor descriptor;

    static PlayerGameRoleDataReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "CjFyZWNfcm9vbS9wbGF5ZXJfcm9sZXMvcGxheWVyX2dhbWVfcm9sZV9kYXRh",
            "LnByb3RvEghyZWNfcm9vbRoxcmVjX3Jvb20vcGVyc2lzdGVuY2Uvb3ZlcnJp",
            "ZGFibGVfZmllbGRfZGF0YS5wcm90byLOKAoSUGxheWVyR2FtZVJvbGVEYXRh",
            "Eg8KB3JvbGVfaWQYASABKAUSEQoJcm9sZV9yYW5rGAIgASgFEhYKDmlzX3Jv",
            "bGVfYWN0aXZlGAMgASgIEhIKCmlzX2FnX3JvbGUYBCABKAgSEQoJcm9sZV9u",
            "YW1lGAUgASgJEi0KBG5hbWUYBiABKAsyHy5yZWNfcm9vbS5PdmVycmlkYWJs",
            "ZVN0cmluZ0RhdGESMwoNdGVsZXBvcnRfbW9kZRgHIAEoCzIcLnJlY19yb29t",
            "Lk92ZXJyaWRhYmxlSW50RGF0YRI2Cg50ZWxlcG9ydF9kZWxheRgIIAEoCzIe",
            "LnJlY19yb29tLk92ZXJyaWRhYmxlRmxvYXREYXRhEjYKDnRlbGVwb3J0X3Nw",
            "ZWVkGAkgASgLMh4ucmVjX3Jvb20uT3ZlcnJpZGFibGVGbG9hdERhdGESLwoI",
            "Y2FuX3dhbGsYCiABKAsyHS5yZWNfcm9vbS5PdmVycmlkYWJsZUJvb2xEYXRh",
            "EjkKEmZvcmNlX3dhbGtfYWxsb3dlZBgcIAEoCzIdLnJlY19yb29tLk92ZXJy",
            "aWRhYmxlQm9vbERhdGESQAoZZXhwZXJpbWVudGFsX3dhbGtfZW5hYmxlZBgd",
            "IAEoCzIdLnJlY19yb29tLk92ZXJyaWRhYmxlQm9vbERhdGESNQoNdnJfd2Fs",
            "a19zcGVlZBgLIAEoCzIeLnJlY19yb29tLk92ZXJyaWRhYmxlRmxvYXREYXRh",
            "EjQKDXZyX2Nhbl9zcHJpbnQYDCABKAsyHS5yZWNfcm9vbS5PdmVycmlkYWJs",
            "ZUJvb2xEYXRhElEKKXZyX3NwcmludF9tYXhfc3BlZWRfd2Fsa19zcGVlZF9t",
            "dWx0aXBsaWVyGA0gASgLMh4ucmVjX3Jvb20uT3ZlcnJpZGFibGVGbG9hdERh",
            "dGESLgoHY2FuX2ZseRgOIAEoCzIdLnJlY19yb29tLk92ZXJyaWRhYmxlQm9v",
            "bERhdGESMgoLdnJfY2FuX2p1bXAYJCABKAsyHS5yZWNfcm9vbS5PdmVycmlk",
            "YWJsZUJvb2xEYXRhEjMKDHZyX2Nhbl9kb2RnZRglIAEoCzIdLnJlY19yb29t",
            "Lk92ZXJyaWRhYmxlQm9vbERhdGESOgoSdnJfbWF4X2p1bXBfaGVpZ2h0GDMg",
            "ASgLMh4ucmVjX3Jvb20uT3ZlcnJpZGFibGVGbG9hdERhdGESNgoPdnJfY2Fu",
            "X3dhbGxfcnVuGD4gASgLMh0ucmVjX3Jvb20uT3ZlcnJpZGFibGVCb29sRGF0",
            "YRI4ChF2cl9jYW5fZ2V0X3B1c2hlZBhAIAEoCzIdLnJlY19yb29tLk92ZXJy",
            "aWRhYmxlQm9vbERhdGESMQoKdnJfY2FuX3JhbRhCIAEoCzIdLnJlY19yb29t",
            "Lk92ZXJyaWRhYmxlQm9vbERhdGESNAoNaXNfaW52aW5jaWJsZRgPIAEoCzId",
            "LnJlY19yb29tLk92ZXJyaWRhYmxlQm9vbERhdGESQgoab3V0Z29pbmdfZGFt",
            "YWdlX211bHRpcGxpZXIYECABKAsyHi5yZWNfcm9vbS5PdmVycmlkYWJsZUZs",
            "b2F0RGF0YRI+ChhpdGVtX3BpY2t1cF9yZXN0cmljdGlvbnMYESABKAsyHC5y",
            "ZWNfcm9vbS5PdmVycmlkYWJsZUludERhdGESQgoVaXRlbV9waWNrdXBfYWxs",
            "b3dsaXN0GBIgASgLMiMucmVjX3Jvb20uT3ZlcnJpZGFibGVMaXN0U3RyaW5n",
            "RGF0YRJCChVpdGVtX3BpY2t1cF9ibG9ja2xpc3QYEyABKAsyIy5yZWNfcm9v",
            "bS5PdmVycmlkYWJsZUxpc3RTdHJpbmdEYXRhEi8KCGNhbl90YWxrGBQgASgL",
            "Mh0ucmVjX3Jvb20uT3ZlcnJpZGFibGVCb29sRGF0YRI3ChBjYW5fc3dpdGNo",
            "X3RlYW1zGBUgASgLMh0ucmVjX3Jvb20uT3ZlcnJpZGFibGVCb29sRGF0YRI9",
            "ChVtYXhfdGVsZXBvcnRfZGlzdGFuY2UYFiABKAsyHi5yZWNfcm9vbS5PdmVy",
            "cmlkYWJsZUZsb2F0RGF0YRJAChhtYXhfdGVsZXBvcnRfZHJvcF9oZWlnaHQY",
            "FyABKAsyHi5yZWNfcm9vbS5PdmVycmlkYWJsZUZsb2F0RGF0YRI6ChJtYXhf",
            "dGVsZXBvcnRfYW5nbGUYGCABKAsyHi5yZWNfcm9vbS5PdmVycmlkYWJsZUZs",
            "b2F0RGF0YRIdChVpc19tb2RpZmllZF9ieV9wbGF5ZXIYGSABKAgSQAoadm9p",
            "Y2Vfcm9sbG9mZl9tYXhfZGlzdGFuY2UYGiABKAsyHC5yZWNfcm9vbS5PdmVy",
            "cmlkYWJsZUludERhdGESFAoMcm9sZV92ZXJzaW9uGBsgASgFEjEKCmhpZGVz",
            "X25hbWUYHiABKAsyHS5yZWNfcm9vbS5PdmVycmlkYWJsZUJvb2xEYXRhEi8K",
            "CGNhbl9tb3ZlGB8gASgLMh0ucmVjX3Jvb20uT3ZlcnJpZGFibGVCb29sRGF0",
            "YRI6ChJzY3JlZW5zX3dhbGtfc3BlZWQYICABKAsyHi5yZWNfcm9vbS5PdmVy",
            "cmlkYWJsZUZsb2F0RGF0YRI5ChJzY3JlZW5zX2Nhbl9zcHJpbnQYISABKAsy",
            "HS5yZWNfcm9vbS5PdmVycmlkYWJsZUJvb2xEYXRhElYKLnNjcmVlbnNfc3By",
            "aW50X21heF9zcGVlZF93YWxrX3NwZWVkX211bHRpcGxpZXIYIiABKAsyHi5y",
            "ZWNfcm9vbS5PdmVycmlkYWJsZUZsb2F0RGF0YRI3ChBzY3JlZW5zX2Nhbl9q",
            "dW1wGCYgASgLMh0ucmVjX3Jvb20uT3ZlcnJpZGFibGVCb29sRGF0YRI4ChFz",
            "Y3JlZW5zX2Nhbl9kb2RnZRgnIAEoCzIdLnJlY19yb29tLk92ZXJyaWRhYmxl",
            "Qm9vbERhdGESPwoXc2NyZWVuc19tYXhfanVtcF9oZWlnaHQYNCABKAsyHi5y",
            "ZWNfcm9vbS5PdmVycmlkYWJsZUZsb2F0RGF0YRI7ChRzY3JlZW5zX2Nhbl93",
            "YWxsX3J1bhg/IAEoCzIdLnJlY19yb29tLk92ZXJyaWRhYmxlQm9vbERhdGES",
            "PQoWc2NyZWVuc19jYW5fZ2V0X3B1c2hlZBhBIAEoCzIdLnJlY19yb29tLk92",
            "ZXJyaWRhYmxlQm9vbERhdGESNgoPc2NyZWVuc19jYW5fcmFtGEMgASgLMh0u",
            "cmVjX3Jvb20uT3ZlcnJpZGFibGVCb29sRGF0YRI2Cg9jYW5fYXV0b19zcHJp",
            "bnQYRiABKAsyHS5yZWNfcm9vbS5PdmVycmlkYWJsZUJvb2xEYXRhEj0KFWFp",
            "cl9jb250cm9sX3BhcmFtZXRlchhHIAEoCzIeLnJlY19yb29tLk92ZXJyaWRh",
            "YmxlRmxvYXREYXRhEjYKD2Nhbl9qdW1wX2N1dG9mZhhIIAEoCzIdLnJlY19y",
            "b29tLk92ZXJyaWRhYmxlQm9vbERhdGESMgoLY2FuX2NsYW1iZXIYSSABKAsy",
            "HS5yZWNfcm9vbS5PdmVycmlkYWJsZUJvb2xEYXRhEjkKEXdhbGxfcnVuX2R1",
            "cmF0aW9uGEogASgLMh4ucmVjX3Jvb20uT3ZlcnJpZGFibGVGbG9hdERhdGES",
            "RAocd2FsbF9ydW5fZHJvcF9yYXRlX3BhcmFtZXRlchhLIAEoCzIeLnJlY19y",
            "b29tLk92ZXJyaWRhYmxlRmxvYXREYXRhEkIKGndhbGxfcnVuX3N0YXJ0X3Nw",
            "ZWVkX2Jvb3N0GEwgASgLMh4ucmVjX3Jvb20uT3ZlcnJpZGFibGVGbG9hdERh",
            "dGESPAoUd2FsbF9ydW5fanVtcF9oZWlnaHQYTSABKAsyHi5yZWNfcm9vbS5P",
            "dmVycmlkYWJsZUZsb2F0RGF0YRJJCiF3YWxsX3J1bl9qdW1wX2RpcmVjdGlv",
            "bl9wYXJhbWV0ZXIYTiABKAsyHi5yZWNfcm9vbS5PdmVycmlkYWJsZUZsb2F0",
            "RGF0YRJMCiR3YWxsX3J1bl9qdW1wX2Fpcl9jb250cm9sX211bHRpcGxpZXIY",
            "TyABKAsyHi5yZWNfcm9vbS5PdmVycmlkYWJsZUZsb2F0RGF0YRIwCgljYW5f",
            "c2xpZGUYUCABKAsyHS5yZWNfcm9vbS5PdmVycmlkYWJsZUJvb2xEYXRhEjwK",
            "FWNhbl9zbGlkZV9kb3duX3Nsb3BlcxhRIAEoCzIdLnJlY19yb29tLk92ZXJy",
            "aWRhYmxlQm9vbERhdGESOgoSc2xpZGVfbWluX2R1cmF0aW9uGFIgASgLMh4u",
            "cmVjX3Jvb20uT3ZlcnJpZGFibGVGbG9hdERhdGESQAoYc2xpZGVfc3RlZXJp",
            "bmdfcGFyYW1ldGVyGFMgASgLMh4ucmVjX3Jvb20uT3ZlcnJpZGFibGVGbG9h",
            "dERhdGESPwoXc2xpZGVfc3RhcnRfc3BlZWRfYm9vc3QYVCABKAsyHi5yZWNf",
            "cm9vbS5PdmVycmlkYWJsZUZsb2F0RGF0YRJEChxzbGlkZV9haXJfY29udHJv",
            "bF9tdWx0aXBsaWVyGFUgASgLMh4ucmVjX3Jvb20uT3ZlcnJpZGFibGVGbG9h",
            "dERhdGESNQoOY2FuX3dhbGxfY2xpbWIYViABKAsyHS5yZWNfcm9vbS5PdmVy",
            "cmlkYWJsZUJvb2xEYXRhEkQKHWNhbl93YWxsX2NsaW1iX3dpdGhvdXRfbWFy",
            "a3VwGFcgASgLMh0ucmVjX3Jvb20uT3ZlcnJpZGFibGVCb29sRGF0YRJCChtj",
            "YW5fd2FsbF9ydW5fd2l0aG91dF9tYXJrdXAYWCABKAsyHS5yZWNfcm9vbS5P",
            "dmVycmlkYWJsZUJvb2xEYXRhEjMKDGhpZGVzX2F2YXRhchhZIAEoCzIdLnJl",
            "Y19yb29tLk92ZXJyaWRhYmxlQm9vbERhdGESOAoLcGxheWVyX3RhZ3MYWiAB",
            "KAsyIy5yZWNfcm9vbS5PdmVycmlkYWJsZUxpc3RTdHJpbmdEYXRhEjYKD2Fk",
            "ZF9wbGF5ZXJfdGFncxhbIAEoCzIdLnJlY19yb29tLk92ZXJyaWRhYmxlQm9v",
            "bERhdGESOQoScmVtb3ZlX3BsYXllcl90YWdzGFwgASgLMh0ucmVjX3Jvb20u",
            "T3ZlcnJpZGFibGVCb29sRGF0YRJCChtjcmVhdGlvbl9yZXN0cmljdGlvbnNf",
            "YXBwbHkYXSABKAsyHS5yZWNfcm9vbS5PdmVycmlkYWJsZUJvb2xEYXRhEjgK",
            "EWNhbl91c2VfbWFrZXJfcGVuGF4gASgLMh0ucmVjX3Jvb20uT3ZlcnJpZGFi",
            "bGVCb29sRGF0YRI6ChNjYW5fc2F2ZV9pbnZlbnRpb25zGF8gASgLMh0ucmVj",
            "X3Jvb20uT3ZlcnJpZGFibGVCb29sRGF0YRI7ChRjYW5fc3Bhd25faW52ZW50",
            "aW9ucxhgIAEoCzIdLnJlY19yb29tLk92ZXJyaWRhYmxlQm9vbERhdGESQAoZ",
            "Y2FuX3VzZV9yb29tX3Jlc2V0X2J1dHRvbhhhIAEoCzIdLnJlY19yb29tLk92",
            "ZXJyaWRhYmxlQm9vbERhdGESQAoZY2FuX3VzZV9kZWxldGVfYWxsX2J1dHRv",
            "bhhiIAEoCzIdLnJlY19yb29tLk92ZXJyaWRhYmxlQm9vbERhdGESRwogY2Fu",
            "X2NyZWF0ZV9yb2xlX2Fzc2lnbm1lbnRfY2hpcHMYYyABKAsyHS5yZWNfcm9v",
            "bS5PdmVycmlkYWJsZUJvb2xEYXRhEkEKGmNhbl91c2VfcGxheV9naXptb3Nf",
            "dG9nZ2xlGGQgASgLMh0ucmVjX3Jvb20uT3ZlcnJpZGFibGVCb29sRGF0YRI4",
            "ChFjYW5fZWRpdF9jaXJjdWl0cxhlIAEoCzIdLnJlY19yb29tLk92ZXJyaWRh",
            "YmxlQm9vbERhdGESTwopc2NyZWVuc19kZWZhdWx0X2ZpcnN0X3BlcnNvbl9j",
            "b250cm9sX3R5cGUYMiABKAsyHC5yZWNfcm9vbS5PdmVycmlkYWJsZUludERh",
            "dGESTwopc2NyZWVuc19kZWZhdWx0X3RoaXJkX3BlcnNvbl9jb250cm9sX3R5",
            "cGUYKCABKAsyHC5yZWNfcm9vbS5PdmVycmlkYWJsZUludERhdGESOwoVZW5h",
            "YmxlX2VxdWlwX3Nsb3RfaGlwGCkgASgLMhwucmVjX3Jvb20uT3ZlcnJpZGFi",
            "bGVJbnREYXRhEjwKFmVxdWlwX3Jlc3RyaWN0aW9uc19oaXAYKiABKAsyHC5y",
            "ZWNfcm9vbS5PdmVycmlkYWJsZUludERhdGESQAoTZXF1aXBfaGlwX2FsbG93",
            "bGlzdBgrIAEoCzIjLnJlY19yb29tLk92ZXJyaWRhYmxlTGlzdFN0cmluZ0Rh",
            "dGESQAoTZXF1aXBfaGlwX2Jsb2NrbGlzdBgsIAEoCzIjLnJlY19yb29tLk92",
            "ZXJyaWRhYmxlTGlzdFN0cmluZ0RhdGESQQoaZW5hYmxlX2VxdWlwX3Nsb3Rf",
            "c2hvdWxkZXIYLSABKAsyHS5yZWNfcm9vbS5PdmVycmlkYWJsZUJvb2xEYXRh",
            "EkEKG2VxdWlwX3Jlc3RyaWN0aW9uc19zaG91bGRlchguIAEoCzIcLnJlY19y",
            "b29tLk92ZXJyaWRhYmxlSW50RGF0YRJFChhlcXVpcF9zaG91bGRlcl9hbGxv",
            "d2xpc3QYLyABKAsyIy5yZWNfcm9vbS5PdmVycmlkYWJsZUxpc3RTdHJpbmdE",
            "YXRhEkUKGGVxdWlwX3Nob3VsZGVyX2Jsb2NrbGlzdBgwIAEoCzIjLnJlY19y",
            "b29tLk92ZXJyaWRhYmxlTGlzdFN0cmluZ0RhdGESEQoJcm9sZV9ndWlkGDEg",
            "ASgJQhOqAhBSZWNSb29tLlByb3RvYnVmYgZwcm90bzM="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::RecRoom.Protobuf.OverridableFieldDataReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::RecRoom.Protobuf.PlayerGameRoleData), global::RecRoom.Protobuf.PlayerGameRoleData.Parser, new[]{ "RoleId", "RoleRank", "IsRoleActive", "IsAgRole", "RoleName", "Name", "TeleportMode", "TeleportDelay", "TeleportSpeed", "CanWalk", "ForceWalkAllowed", "ExperimentalWalkEnabled", "VrWalkSpeed", "VrCanSprint", "VrSprintMaxSpeedWalkSpeedMultiplier", "CanFly", "VrCanJump", "VrCanDodge", "VrMaxJumpHeight", "VrCanWallRun", "VrCanGetPushed", "VrCanRam", "IsInvincible", "OutgoingDamageMultiplier", "ItemPickupRestrictions", "ItemPickupAllowlist", "ItemPickupBlocklist", "CanTalk", "CanSwitchTeams", "MaxTeleportDistance", "MaxTeleportDropHeight", "MaxTeleportAngle", "IsModifiedByPlayer", "VoiceRolloffMaxDistance", "RoleVersion", "HidesName", "CanMove", "ScreensWalkSpeed", "ScreensCanSprint", "ScreensSprintMaxSpeedWalkSpeedMultiplier", "ScreensCanJump", "ScreensCanDodge", "ScreensMaxJumpHeight", "ScreensCanWallRun", "ScreensCanGetPushed", "ScreensCanRam", "CanAutoSprint", "AirControlParameter", "CanJumpCutoff", "CanClamber", "WallRunDuration", "WallRunDropRateParameter", "WallRunStartSpeedBoost", "WallRunJumpHeight", "WallRunJumpDirectionParameter", "WallRunJumpAirControlMultiplier", "CanSlide", "CanSlideDownSlopes", "SlideMinDuration", "SlideSteeringParameter", "SlideStartSpeedBoost", "SlideAirControlMultiplier", "CanWallClimb", "CanWallClimbWithoutMarkup", "CanWallRunWithoutMarkup", "HidesAvatar", "PlayerTags", "AddPlayerTags", "RemovePlayerTags", "CreationRestrictionsApply", "CanUseMakerPen", "CanSaveInventions", "CanSpawnInventions", "CanUseRoomResetButton", "CanUseDeleteAllButton", "CanCreateRoleAssignmentChips", "CanUsePlayGizmosToggle", "CanEditCircuits", "ScreensDefaultFirstPersonControlType", "ScreensDefaultThirdPersonControlType", "EnableEquipSlotHip", "EquipRestrictionsHip", "EquipHipAllowlist", "EquipHipBlocklist", "EnableEquipSlotShoulder", "EquipRestrictionsShoulder", "EquipShoulderAllowlist", "EquipShoulderBlocklist", "RoleGuid" }, null, null, null, null)
          }));
    }
    #endregion

  }
  #region Messages
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class PlayerGameRoleData : pb::IMessage<PlayerGameRoleData>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PlayerGameRoleData> _parser = new pb::MessageParser<PlayerGameRoleData>(() => new PlayerGameRoleData());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PlayerGameRoleData> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::RecRoom.Protobuf.PlayerGameRoleDataReflection.Descriptor.MessageTypes[0]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PlayerGameRoleData() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PlayerGameRoleData(PlayerGameRoleData other) : this() {
      roleId_ = other.roleId_;
      roleRank_ = other.roleRank_;
      isRoleActive_ = other.isRoleActive_;
      isAgRole_ = other.isAgRole_;
      roleName_ = other.roleName_;
      name_ = other.name_ != null ? other.name_.Clone() : null;
      teleportMode_ = other.teleportMode_ != null ? other.teleportMode_.Clone() : null;
      teleportDelay_ = other.teleportDelay_ != null ? other.teleportDelay_.Clone() : null;
      teleportSpeed_ = other.teleportSpeed_ != null ? other.teleportSpeed_.Clone() : null;
      canWalk_ = other.canWalk_ != null ? other.canWalk_.Clone() : null;
      forceWalkAllowed_ = other.forceWalkAllowed_ != null ? other.forceWalkAllowed_.Clone() : null;
      experimentalWalkEnabled_ = other.experimentalWalkEnabled_ != null ? other.experimentalWalkEnabled_.Clone() : null;
      vrWalkSpeed_ = other.vrWalkSpeed_ != null ? other.vrWalkSpeed_.Clone() : null;
      vrCanSprint_ = other.vrCanSprint_ != null ? other.vrCanSprint_.Clone() : null;
      vrSprintMaxSpeedWalkSpeedMultiplier_ = other.vrSprintMaxSpeedWalkSpeedMultiplier_ != null ? other.vrSprintMaxSpeedWalkSpeedMultiplier_.Clone() : null;
      canFly_ = other.canFly_ != null ? other.canFly_.Clone() : null;
      vrCanJump_ = other.vrCanJump_ != null ? other.vrCanJump_.Clone() : null;
      vrCanDodge_ = other.vrCanDodge_ != null ? other.vrCanDodge_.Clone() : null;
      vrMaxJumpHeight_ = other.vrMaxJumpHeight_ != null ? other.vrMaxJumpHeight_.Clone() : null;
      vrCanWallRun_ = other.vrCanWallRun_ != null ? other.vrCanWallRun_.Clone() : null;
      vrCanGetPushed_ = other.vrCanGetPushed_ != null ? other.vrCanGetPushed_.Clone() : null;
      vrCanRam_ = other.vrCanRam_ != null ? other.vrCanRam_.Clone() : null;
      isInvincible_ = other.isInvincible_ != null ? other.isInvincible_.Clone() : null;
      outgoingDamageMultiplier_ = other.outgoingDamageMultiplier_ != null ? other.outgoingDamageMultiplier_.Clone() : null;
      itemPickupRestrictions_ = other.itemPickupRestrictions_ != null ? other.itemPickupRestrictions_.Clone() : null;
      itemPickupAllowlist_ = other.itemPickupAllowlist_ != null ? other.itemPickupAllowlist_.Clone() : null;
      itemPickupBlocklist_ = other.itemPickupBlocklist_ != null ? other.itemPickupBlocklist_.Clone() : null;
      canTalk_ = other.canTalk_ != null ? other.canTalk_.Clone() : null;
      canSwitchTeams_ = other.canSwitchTeams_ != null ? other.canSwitchTeams_.Clone() : null;
      maxTeleportDistance_ = other.maxTeleportDistance_ != null ? other.maxTeleportDistance_.Clone() : null;
      maxTeleportDropHeight_ = other.maxTeleportDropHeight_ != null ? other.maxTeleportDropHeight_.Clone() : null;
      maxTeleportAngle_ = other.maxTeleportAngle_ != null ? other.maxTeleportAngle_.Clone() : null;
      isModifiedByPlayer_ = other.isModifiedByPlayer_;
      voiceRolloffMaxDistance_ = other.voiceRolloffMaxDistance_ != null ? other.voiceRolloffMaxDistance_.Clone() : null;
      roleVersion_ = other.roleVersion_;
      hidesName_ = other.hidesName_ != null ? other.hidesName_.Clone() : null;
      canMove_ = other.canMove_ != null ? other.canMove_.Clone() : null;
      screensWalkSpeed_ = other.screensWalkSpeed_ != null ? other.screensWalkSpeed_.Clone() : null;
      screensCanSprint_ = other.screensCanSprint_ != null ? other.screensCanSprint_.Clone() : null;
      screensSprintMaxSpeedWalkSpeedMultiplier_ = other.screensSprintMaxSpeedWalkSpeedMultiplier_ != null ? other.screensSprintMaxSpeedWalkSpeedMultiplier_.Clone() : null;
      screensCanJump_ = other.screensCanJump_ != null ? other.screensCanJump_.Clone() : null;
      screensCanDodge_ = other.screensCanDodge_ != null ? other.screensCanDodge_.Clone() : null;
      screensMaxJumpHeight_ = other.screensMaxJumpHeight_ != null ? other.screensMaxJumpHeight_.Clone() : null;
      screensCanWallRun_ = other.screensCanWallRun_ != null ? other.screensCanWallRun_.Clone() : null;
      screensCanGetPushed_ = other.screensCanGetPushed_ != null ? other.screensCanGetPushed_.Clone() : null;
      screensCanRam_ = other.screensCanRam_ != null ? other.screensCanRam_.Clone() : null;
      canAutoSprint_ = other.canAutoSprint_ != null ? other.canAutoSprint_.Clone() : null;
      airControlParameter_ = other.airControlParameter_ != null ? other.airControlParameter_.Clone() : null;
      canJumpCutoff_ = other.canJumpCutoff_ != null ? other.canJumpCutoff_.Clone() : null;
      canClamber_ = other.canClamber_ != null ? other.canClamber_.Clone() : null;
      wallRunDuration_ = other.wallRunDuration_ != null ? other.wallRunDuration_.Clone() : null;
      wallRunDropRateParameter_ = other.wallRunDropRateParameter_ != null ? other.wallRunDropRateParameter_.Clone() : null;
      wallRunStartSpeedBoost_ = other.wallRunStartSpeedBoost_ != null ? other.wallRunStartSpeedBoost_.Clone() : null;
      wallRunJumpHeight_ = other.wallRunJumpHeight_ != null ? other.wallRunJumpHeight_.Clone() : null;
      wallRunJumpDirectionParameter_ = other.wallRunJumpDirectionParameter_ != null ? other.wallRunJumpDirectionParameter_.Clone() : null;
      wallRunJumpAirControlMultiplier_ = other.wallRunJumpAirControlMultiplier_ != null ? other.wallRunJumpAirControlMultiplier_.Clone() : null;
      canSlide_ = other.canSlide_ != null ? other.canSlide_.Clone() : null;
      canSlideDownSlopes_ = other.canSlideDownSlopes_ != null ? other.canSlideDownSlopes_.Clone() : null;
      slideMinDuration_ = other.slideMinDuration_ != null ? other.slideMinDuration_.Clone() : null;
      slideSteeringParameter_ = other.slideSteeringParameter_ != null ? other.slideSteeringParameter_.Clone() : null;
      slideStartSpeedBoost_ = other.slideStartSpeedBoost_ != null ? other.slideStartSpeedBoost_.Clone() : null;
      slideAirControlMultiplier_ = other.slideAirControlMultiplier_ != null ? other.slideAirControlMultiplier_.Clone() : null;
      canWallClimb_ = other.canWallClimb_ != null ? other.canWallClimb_.Clone() : null;
      canWallClimbWithoutMarkup_ = other.canWallClimbWithoutMarkup_ != null ? other.canWallClimbWithoutMarkup_.Clone() : null;
      canWallRunWithoutMarkup_ = other.canWallRunWithoutMarkup_ != null ? other.canWallRunWithoutMarkup_.Clone() : null;
      hidesAvatar_ = other.hidesAvatar_ != null ? other.hidesAvatar_.Clone() : null;
      playerTags_ = other.playerTags_ != null ? other.playerTags_.Clone() : null;
      addPlayerTags_ = other.addPlayerTags_ != null ? other.addPlayerTags_.Clone() : null;
      removePlayerTags_ = other.removePlayerTags_ != null ? other.removePlayerTags_.Clone() : null;
      creationRestrictionsApply_ = other.creationRestrictionsApply_ != null ? other.creationRestrictionsApply_.Clone() : null;
      canUseMakerPen_ = other.canUseMakerPen_ != null ? other.canUseMakerPen_.Clone() : null;
      canSaveInventions_ = other.canSaveInventions_ != null ? other.canSaveInventions_.Clone() : null;
      canSpawnInventions_ = other.canSpawnInventions_ != null ? other.canSpawnInventions_.Clone() : null;
      canUseRoomResetButton_ = other.canUseRoomResetButton_ != null ? other.canUseRoomResetButton_.Clone() : null;
      canUseDeleteAllButton_ = other.canUseDeleteAllButton_ != null ? other.canUseDeleteAllButton_.Clone() : null;
      canCreateRoleAssignmentChips_ = other.canCreateRoleAssignmentChips_ != null ? other.canCreateRoleAssignmentChips_.Clone() : null;
      canUsePlayGizmosToggle_ = other.canUsePlayGizmosToggle_ != null ? other.canUsePlayGizmosToggle_.Clone() : null;
      canEditCircuits_ = other.canEditCircuits_ != null ? other.canEditCircuits_.Clone() : null;
      screensDefaultFirstPersonControlType_ = other.screensDefaultFirstPersonControlType_ != null ? other.screensDefaultFirstPersonControlType_.Clone() : null;
      screensDefaultThirdPersonControlType_ = other.screensDefaultThirdPersonControlType_ != null ? other.screensDefaultThirdPersonControlType_.Clone() : null;
      enableEquipSlotHip_ = other.enableEquipSlotHip_ != null ? other.enableEquipSlotHip_.Clone() : null;
      equipRestrictionsHip_ = other.equipRestrictionsHip_ != null ? other.equipRestrictionsHip_.Clone() : null;
      equipHipAllowlist_ = other.equipHipAllowlist_ != null ? other.equipHipAllowlist_.Clone() : null;
      equipHipBlocklist_ = other.equipHipBlocklist_ != null ? other.equipHipBlocklist_.Clone() : null;
      enableEquipSlotShoulder_ = other.enableEquipSlotShoulder_ != null ? other.enableEquipSlotShoulder_.Clone() : null;
      equipRestrictionsShoulder_ = other.equipRestrictionsShoulder_ != null ? other.equipRestrictionsShoulder_.Clone() : null;
      equipShoulderAllowlist_ = other.equipShoulderAllowlist_ != null ? other.equipShoulderAllowlist_.Clone() : null;
      equipShoulderBlocklist_ = other.equipShoulderBlocklist_ != null ? other.equipShoulderBlocklist_.Clone() : null;
      roleGuid_ = other.roleGuid_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PlayerGameRoleData Clone() {
      return new PlayerGameRoleData(this);
    }

    /// <summary>Field number for the "role_id" field.</summary>
    public const int RoleIdFieldNumber = 1;
    private int roleId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RoleId {
      get { return roleId_; }
      set {
        roleId_ = value;
      }
    }

    /// <summary>Field number for the "role_rank" field.</summary>
    public const int RoleRankFieldNumber = 2;
    private int roleRank_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RoleRank {
      get { return roleRank_; }
      set {
        roleRank_ = value;
      }
    }

    /// <summary>Field number for the "is_role_active" field.</summary>
    public const int IsRoleActiveFieldNumber = 3;
    private bool isRoleActive_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsRoleActive {
      get { return isRoleActive_; }
      set {
        isRoleActive_ = value;
      }
    }

    /// <summary>Field number for the "is_ag_role" field.</summary>
    public const int IsAgRoleFieldNumber = 4;
    private bool isAgRole_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsAgRole {
      get { return isAgRole_; }
      set {
        isAgRole_ = value;
      }
    }

    /// <summary>Field number for the "role_name" field.</summary>
    public const int RoleNameFieldNumber = 5;
    private string roleName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RoleName {
      get { return roleName_; }
      set {
        roleName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "name" field.</summary>
    public const int NameFieldNumber = 6;
    private global::RecRoom.Protobuf.OverridableStringData name_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableStringData Name {
      get { return name_; }
      set {
        name_ = value;
      }
    }

    /// <summary>Field number for the "teleport_mode" field.</summary>
    public const int TeleportModeFieldNumber = 7;
    private global::RecRoom.Protobuf.OverridableIntData teleportMode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableIntData TeleportMode {
      get { return teleportMode_; }
      set {
        teleportMode_ = value;
      }
    }

    /// <summary>Field number for the "teleport_delay" field.</summary>
    public const int TeleportDelayFieldNumber = 8;
    private global::RecRoom.Protobuf.OverridableFloatData teleportDelay_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData TeleportDelay {
      get { return teleportDelay_; }
      set {
        teleportDelay_ = value;
      }
    }

    /// <summary>Field number for the "teleport_speed" field.</summary>
    public const int TeleportSpeedFieldNumber = 9;
    private global::RecRoom.Protobuf.OverridableFloatData teleportSpeed_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData TeleportSpeed {
      get { return teleportSpeed_; }
      set {
        teleportSpeed_ = value;
      }
    }

    /// <summary>Field number for the "can_walk" field.</summary>
    public const int CanWalkFieldNumber = 10;
    private global::RecRoom.Protobuf.OverridableBoolData canWalk_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanWalk {
      get { return canWalk_; }
      set {
        canWalk_ = value;
      }
    }

    /// <summary>Field number for the "force_walk_allowed" field.</summary>
    public const int ForceWalkAllowedFieldNumber = 28;
    private global::RecRoom.Protobuf.OverridableBoolData forceWalkAllowed_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData ForceWalkAllowed {
      get { return forceWalkAllowed_; }
      set {
        forceWalkAllowed_ = value;
      }
    }

    /// <summary>Field number for the "experimental_walk_enabled" field.</summary>
    public const int ExperimentalWalkEnabledFieldNumber = 29;
    private global::RecRoom.Protobuf.OverridableBoolData experimentalWalkEnabled_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData ExperimentalWalkEnabled {
      get { return experimentalWalkEnabled_; }
      set {
        experimentalWalkEnabled_ = value;
      }
    }

    /// <summary>Field number for the "vr_walk_speed" field.</summary>
    public const int VrWalkSpeedFieldNumber = 11;
    private global::RecRoom.Protobuf.OverridableFloatData vrWalkSpeed_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData VrWalkSpeed {
      get { return vrWalkSpeed_; }
      set {
        vrWalkSpeed_ = value;
      }
    }

    /// <summary>Field number for the "vr_can_sprint" field.</summary>
    public const int VrCanSprintFieldNumber = 12;
    private global::RecRoom.Protobuf.OverridableBoolData vrCanSprint_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData VrCanSprint {
      get { return vrCanSprint_; }
      set {
        vrCanSprint_ = value;
      }
    }

    /// <summary>Field number for the "vr_sprint_max_speed_walk_speed_multiplier" field.</summary>
    public const int VrSprintMaxSpeedWalkSpeedMultiplierFieldNumber = 13;
    private global::RecRoom.Protobuf.OverridableFloatData vrSprintMaxSpeedWalkSpeedMultiplier_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData VrSprintMaxSpeedWalkSpeedMultiplier {
      get { return vrSprintMaxSpeedWalkSpeedMultiplier_; }
      set {
        vrSprintMaxSpeedWalkSpeedMultiplier_ = value;
      }
    }

    /// <summary>Field number for the "can_fly" field.</summary>
    public const int CanFlyFieldNumber = 14;
    private global::RecRoom.Protobuf.OverridableBoolData canFly_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanFly {
      get { return canFly_; }
      set {
        canFly_ = value;
      }
    }

    /// <summary>Field number for the "vr_can_jump" field.</summary>
    public const int VrCanJumpFieldNumber = 36;
    private global::RecRoom.Protobuf.OverridableBoolData vrCanJump_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData VrCanJump {
      get { return vrCanJump_; }
      set {
        vrCanJump_ = value;
      }
    }

    /// <summary>Field number for the "vr_can_dodge" field.</summary>
    public const int VrCanDodgeFieldNumber = 37;
    private global::RecRoom.Protobuf.OverridableBoolData vrCanDodge_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData VrCanDodge {
      get { return vrCanDodge_; }
      set {
        vrCanDodge_ = value;
      }
    }

    /// <summary>Field number for the "vr_max_jump_height" field.</summary>
    public const int VrMaxJumpHeightFieldNumber = 51;
    private global::RecRoom.Protobuf.OverridableFloatData vrMaxJumpHeight_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData VrMaxJumpHeight {
      get { return vrMaxJumpHeight_; }
      set {
        vrMaxJumpHeight_ = value;
      }
    }

    /// <summary>Field number for the "vr_can_wall_run" field.</summary>
    public const int VrCanWallRunFieldNumber = 62;
    private global::RecRoom.Protobuf.OverridableBoolData vrCanWallRun_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData VrCanWallRun {
      get { return vrCanWallRun_; }
      set {
        vrCanWallRun_ = value;
      }
    }

    /// <summary>Field number for the "vr_can_get_pushed" field.</summary>
    public const int VrCanGetPushedFieldNumber = 64;
    private global::RecRoom.Protobuf.OverridableBoolData vrCanGetPushed_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData VrCanGetPushed {
      get { return vrCanGetPushed_; }
      set {
        vrCanGetPushed_ = value;
      }
    }

    /// <summary>Field number for the "vr_can_ram" field.</summary>
    public const int VrCanRamFieldNumber = 66;
    private global::RecRoom.Protobuf.OverridableBoolData vrCanRam_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData VrCanRam {
      get { return vrCanRam_; }
      set {
        vrCanRam_ = value;
      }
    }

    /// <summary>Field number for the "is_invincible" field.</summary>
    public const int IsInvincibleFieldNumber = 15;
    private global::RecRoom.Protobuf.OverridableBoolData isInvincible_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData IsInvincible {
      get { return isInvincible_; }
      set {
        isInvincible_ = value;
      }
    }

    /// <summary>Field number for the "outgoing_damage_multiplier" field.</summary>
    public const int OutgoingDamageMultiplierFieldNumber = 16;
    private global::RecRoom.Protobuf.OverridableFloatData outgoingDamageMultiplier_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData OutgoingDamageMultiplier {
      get { return outgoingDamageMultiplier_; }
      set {
        outgoingDamageMultiplier_ = value;
      }
    }

    /// <summary>Field number for the "item_pickup_restrictions" field.</summary>
    public const int ItemPickupRestrictionsFieldNumber = 17;
    private global::RecRoom.Protobuf.OverridableIntData itemPickupRestrictions_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableIntData ItemPickupRestrictions {
      get { return itemPickupRestrictions_; }
      set {
        itemPickupRestrictions_ = value;
      }
    }

    /// <summary>Field number for the "item_pickup_allowlist" field.</summary>
    public const int ItemPickupAllowlistFieldNumber = 18;
    private global::RecRoom.Protobuf.OverridableListStringData itemPickupAllowlist_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableListStringData ItemPickupAllowlist {
      get { return itemPickupAllowlist_; }
      set {
        itemPickupAllowlist_ = value;
      }
    }

    /// <summary>Field number for the "item_pickup_blocklist" field.</summary>
    public const int ItemPickupBlocklistFieldNumber = 19;
    private global::RecRoom.Protobuf.OverridableListStringData itemPickupBlocklist_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableListStringData ItemPickupBlocklist {
      get { return itemPickupBlocklist_; }
      set {
        itemPickupBlocklist_ = value;
      }
    }

    /// <summary>Field number for the "can_talk" field.</summary>
    public const int CanTalkFieldNumber = 20;
    private global::RecRoom.Protobuf.OverridableBoolData canTalk_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanTalk {
      get { return canTalk_; }
      set {
        canTalk_ = value;
      }
    }

    /// <summary>Field number for the "can_switch_teams" field.</summary>
    public const int CanSwitchTeamsFieldNumber = 21;
    private global::RecRoom.Protobuf.OverridableBoolData canSwitchTeams_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanSwitchTeams {
      get { return canSwitchTeams_; }
      set {
        canSwitchTeams_ = value;
      }
    }

    /// <summary>Field number for the "max_teleport_distance" field.</summary>
    public const int MaxTeleportDistanceFieldNumber = 22;
    private global::RecRoom.Protobuf.OverridableFloatData maxTeleportDistance_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData MaxTeleportDistance {
      get { return maxTeleportDistance_; }
      set {
        maxTeleportDistance_ = value;
      }
    }

    /// <summary>Field number for the "max_teleport_drop_height" field.</summary>
    public const int MaxTeleportDropHeightFieldNumber = 23;
    private global::RecRoom.Protobuf.OverridableFloatData maxTeleportDropHeight_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData MaxTeleportDropHeight {
      get { return maxTeleportDropHeight_; }
      set {
        maxTeleportDropHeight_ = value;
      }
    }

    /// <summary>Field number for the "max_teleport_angle" field.</summary>
    public const int MaxTeleportAngleFieldNumber = 24;
    private global::RecRoom.Protobuf.OverridableFloatData maxTeleportAngle_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData MaxTeleportAngle {
      get { return maxTeleportAngle_; }
      set {
        maxTeleportAngle_ = value;
      }
    }

    /// <summary>Field number for the "is_modified_by_player" field.</summary>
    public const int IsModifiedByPlayerFieldNumber = 25;
    private bool isModifiedByPlayer_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsModifiedByPlayer {
      get { return isModifiedByPlayer_; }
      set {
        isModifiedByPlayer_ = value;
      }
    }

    /// <summary>Field number for the "voice_rolloff_max_distance" field.</summary>
    public const int VoiceRolloffMaxDistanceFieldNumber = 26;
    private global::RecRoom.Protobuf.OverridableIntData voiceRolloffMaxDistance_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableIntData VoiceRolloffMaxDistance {
      get { return voiceRolloffMaxDistance_; }
      set {
        voiceRolloffMaxDistance_ = value;
      }
    }

    /// <summary>Field number for the "role_version" field.</summary>
    public const int RoleVersionFieldNumber = 27;
    private int roleVersion_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RoleVersion {
      get { return roleVersion_; }
      set {
        roleVersion_ = value;
      }
    }

    /// <summary>Field number for the "hides_name" field.</summary>
    public const int HidesNameFieldNumber = 30;
    private global::RecRoom.Protobuf.OverridableBoolData hidesName_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData HidesName {
      get { return hidesName_; }
      set {
        hidesName_ = value;
      }
    }

    /// <summary>Field number for the "can_move" field.</summary>
    public const int CanMoveFieldNumber = 31;
    private global::RecRoom.Protobuf.OverridableBoolData canMove_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanMove {
      get { return canMove_; }
      set {
        canMove_ = value;
      }
    }

    /// <summary>Field number for the "screens_walk_speed" field.</summary>
    public const int ScreensWalkSpeedFieldNumber = 32;
    private global::RecRoom.Protobuf.OverridableFloatData screensWalkSpeed_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData ScreensWalkSpeed {
      get { return screensWalkSpeed_; }
      set {
        screensWalkSpeed_ = value;
      }
    }

    /// <summary>Field number for the "screens_can_sprint" field.</summary>
    public const int ScreensCanSprintFieldNumber = 33;
    private global::RecRoom.Protobuf.OverridableBoolData screensCanSprint_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData ScreensCanSprint {
      get { return screensCanSprint_; }
      set {
        screensCanSprint_ = value;
      }
    }

    /// <summary>Field number for the "screens_sprint_max_speed_walk_speed_multiplier" field.</summary>
    public const int ScreensSprintMaxSpeedWalkSpeedMultiplierFieldNumber = 34;
    private global::RecRoom.Protobuf.OverridableFloatData screensSprintMaxSpeedWalkSpeedMultiplier_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData ScreensSprintMaxSpeedWalkSpeedMultiplier {
      get { return screensSprintMaxSpeedWalkSpeedMultiplier_; }
      set {
        screensSprintMaxSpeedWalkSpeedMultiplier_ = value;
      }
    }

    /// <summary>Field number for the "screens_can_jump" field.</summary>
    public const int ScreensCanJumpFieldNumber = 38;
    private global::RecRoom.Protobuf.OverridableBoolData screensCanJump_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData ScreensCanJump {
      get { return screensCanJump_; }
      set {
        screensCanJump_ = value;
      }
    }

    /// <summary>Field number for the "screens_can_dodge" field.</summary>
    public const int ScreensCanDodgeFieldNumber = 39;
    private global::RecRoom.Protobuf.OverridableBoolData screensCanDodge_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData ScreensCanDodge {
      get { return screensCanDodge_; }
      set {
        screensCanDodge_ = value;
      }
    }

    /// <summary>Field number for the "screens_max_jump_height" field.</summary>
    public const int ScreensMaxJumpHeightFieldNumber = 52;
    private global::RecRoom.Protobuf.OverridableFloatData screensMaxJumpHeight_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData ScreensMaxJumpHeight {
      get { return screensMaxJumpHeight_; }
      set {
        screensMaxJumpHeight_ = value;
      }
    }

    /// <summary>Field number for the "screens_can_wall_run" field.</summary>
    public const int ScreensCanWallRunFieldNumber = 63;
    private global::RecRoom.Protobuf.OverridableBoolData screensCanWallRun_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData ScreensCanWallRun {
      get { return screensCanWallRun_; }
      set {
        screensCanWallRun_ = value;
      }
    }

    /// <summary>Field number for the "screens_can_get_pushed" field.</summary>
    public const int ScreensCanGetPushedFieldNumber = 65;
    private global::RecRoom.Protobuf.OverridableBoolData screensCanGetPushed_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData ScreensCanGetPushed {
      get { return screensCanGetPushed_; }
      set {
        screensCanGetPushed_ = value;
      }
    }

    /// <summary>Field number for the "screens_can_ram" field.</summary>
    public const int ScreensCanRamFieldNumber = 67;
    private global::RecRoom.Protobuf.OverridableBoolData screensCanRam_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData ScreensCanRam {
      get { return screensCanRam_; }
      set {
        screensCanRam_ = value;
      }
    }

    /// <summary>Field number for the "can_auto_sprint" field.</summary>
    public const int CanAutoSprintFieldNumber = 70;
    private global::RecRoom.Protobuf.OverridableBoolData canAutoSprint_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanAutoSprint {
      get { return canAutoSprint_; }
      set {
        canAutoSprint_ = value;
      }
    }

    /// <summary>Field number for the "air_control_parameter" field.</summary>
    public const int AirControlParameterFieldNumber = 71;
    private global::RecRoom.Protobuf.OverridableFloatData airControlParameter_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData AirControlParameter {
      get { return airControlParameter_; }
      set {
        airControlParameter_ = value;
      }
    }

    /// <summary>Field number for the "can_jump_cutoff" field.</summary>
    public const int CanJumpCutoffFieldNumber = 72;
    private global::RecRoom.Protobuf.OverridableBoolData canJumpCutoff_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanJumpCutoff {
      get { return canJumpCutoff_; }
      set {
        canJumpCutoff_ = value;
      }
    }

    /// <summary>Field number for the "can_clamber" field.</summary>
    public const int CanClamberFieldNumber = 73;
    private global::RecRoom.Protobuf.OverridableBoolData canClamber_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanClamber {
      get { return canClamber_; }
      set {
        canClamber_ = value;
      }
    }

    /// <summary>Field number for the "wall_run_duration" field.</summary>
    public const int WallRunDurationFieldNumber = 74;
    private global::RecRoom.Protobuf.OverridableFloatData wallRunDuration_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData WallRunDuration {
      get { return wallRunDuration_; }
      set {
        wallRunDuration_ = value;
      }
    }

    /// <summary>Field number for the "wall_run_drop_rate_parameter" field.</summary>
    public const int WallRunDropRateParameterFieldNumber = 75;
    private global::RecRoom.Protobuf.OverridableFloatData wallRunDropRateParameter_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData WallRunDropRateParameter {
      get { return wallRunDropRateParameter_; }
      set {
        wallRunDropRateParameter_ = value;
      }
    }

    /// <summary>Field number for the "wall_run_start_speed_boost" field.</summary>
    public const int WallRunStartSpeedBoostFieldNumber = 76;
    private global::RecRoom.Protobuf.OverridableFloatData wallRunStartSpeedBoost_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData WallRunStartSpeedBoost {
      get { return wallRunStartSpeedBoost_; }
      set {
        wallRunStartSpeedBoost_ = value;
      }
    }

    /// <summary>Field number for the "wall_run_jump_height" field.</summary>
    public const int WallRunJumpHeightFieldNumber = 77;
    private global::RecRoom.Protobuf.OverridableFloatData wallRunJumpHeight_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData WallRunJumpHeight {
      get { return wallRunJumpHeight_; }
      set {
        wallRunJumpHeight_ = value;
      }
    }

    /// <summary>Field number for the "wall_run_jump_direction_parameter" field.</summary>
    public const int WallRunJumpDirectionParameterFieldNumber = 78;
    private global::RecRoom.Protobuf.OverridableFloatData wallRunJumpDirectionParameter_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData WallRunJumpDirectionParameter {
      get { return wallRunJumpDirectionParameter_; }
      set {
        wallRunJumpDirectionParameter_ = value;
      }
    }

    /// <summary>Field number for the "wall_run_jump_air_control_multiplier" field.</summary>
    public const int WallRunJumpAirControlMultiplierFieldNumber = 79;
    private global::RecRoom.Protobuf.OverridableFloatData wallRunJumpAirControlMultiplier_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData WallRunJumpAirControlMultiplier {
      get { return wallRunJumpAirControlMultiplier_; }
      set {
        wallRunJumpAirControlMultiplier_ = value;
      }
    }

    /// <summary>Field number for the "can_slide" field.</summary>
    public const int CanSlideFieldNumber = 80;
    private global::RecRoom.Protobuf.OverridableBoolData canSlide_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanSlide {
      get { return canSlide_; }
      set {
        canSlide_ = value;
      }
    }

    /// <summary>Field number for the "can_slide_down_slopes" field.</summary>
    public const int CanSlideDownSlopesFieldNumber = 81;
    private global::RecRoom.Protobuf.OverridableBoolData canSlideDownSlopes_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanSlideDownSlopes {
      get { return canSlideDownSlopes_; }
      set {
        canSlideDownSlopes_ = value;
      }
    }

    /// <summary>Field number for the "slide_min_duration" field.</summary>
    public const int SlideMinDurationFieldNumber = 82;
    private global::RecRoom.Protobuf.OverridableFloatData slideMinDuration_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData SlideMinDuration {
      get { return slideMinDuration_; }
      set {
        slideMinDuration_ = value;
      }
    }

    /// <summary>Field number for the "slide_steering_parameter" field.</summary>
    public const int SlideSteeringParameterFieldNumber = 83;
    private global::RecRoom.Protobuf.OverridableFloatData slideSteeringParameter_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData SlideSteeringParameter {
      get { return slideSteeringParameter_; }
      set {
        slideSteeringParameter_ = value;
      }
    }

    /// <summary>Field number for the "slide_start_speed_boost" field.</summary>
    public const int SlideStartSpeedBoostFieldNumber = 84;
    private global::RecRoom.Protobuf.OverridableFloatData slideStartSpeedBoost_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData SlideStartSpeedBoost {
      get { return slideStartSpeedBoost_; }
      set {
        slideStartSpeedBoost_ = value;
      }
    }

    /// <summary>Field number for the "slide_air_control_multiplier" field.</summary>
    public const int SlideAirControlMultiplierFieldNumber = 85;
    private global::RecRoom.Protobuf.OverridableFloatData slideAirControlMultiplier_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableFloatData SlideAirControlMultiplier {
      get { return slideAirControlMultiplier_; }
      set {
        slideAirControlMultiplier_ = value;
      }
    }

    /// <summary>Field number for the "can_wall_climb" field.</summary>
    public const int CanWallClimbFieldNumber = 86;
    private global::RecRoom.Protobuf.OverridableBoolData canWallClimb_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanWallClimb {
      get { return canWallClimb_; }
      set {
        canWallClimb_ = value;
      }
    }

    /// <summary>Field number for the "can_wall_climb_without_markup" field.</summary>
    public const int CanWallClimbWithoutMarkupFieldNumber = 87;
    private global::RecRoom.Protobuf.OverridableBoolData canWallClimbWithoutMarkup_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanWallClimbWithoutMarkup {
      get { return canWallClimbWithoutMarkup_; }
      set {
        canWallClimbWithoutMarkup_ = value;
      }
    }

    /// <summary>Field number for the "can_wall_run_without_markup" field.</summary>
    public const int CanWallRunWithoutMarkupFieldNumber = 88;
    private global::RecRoom.Protobuf.OverridableBoolData canWallRunWithoutMarkup_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanWallRunWithoutMarkup {
      get { return canWallRunWithoutMarkup_; }
      set {
        canWallRunWithoutMarkup_ = value;
      }
    }

    /// <summary>Field number for the "hides_avatar" field.</summary>
    public const int HidesAvatarFieldNumber = 89;
    private global::RecRoom.Protobuf.OverridableBoolData hidesAvatar_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData HidesAvatar {
      get { return hidesAvatar_; }
      set {
        hidesAvatar_ = value;
      }
    }

    /// <summary>Field number for the "player_tags" field.</summary>
    public const int PlayerTagsFieldNumber = 90;
    private global::RecRoom.Protobuf.OverridableListStringData playerTags_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableListStringData PlayerTags {
      get { return playerTags_; }
      set {
        playerTags_ = value;
      }
    }

    /// <summary>Field number for the "add_player_tags" field.</summary>
    public const int AddPlayerTagsFieldNumber = 91;
    private global::RecRoom.Protobuf.OverridableBoolData addPlayerTags_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData AddPlayerTags {
      get { return addPlayerTags_; }
      set {
        addPlayerTags_ = value;
      }
    }

    /// <summary>Field number for the "remove_player_tags" field.</summary>
    public const int RemovePlayerTagsFieldNumber = 92;
    private global::RecRoom.Protobuf.OverridableBoolData removePlayerTags_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData RemovePlayerTags {
      get { return removePlayerTags_; }
      set {
        removePlayerTags_ = value;
      }
    }

    /// <summary>Field number for the "creation_restrictions_apply" field.</summary>
    public const int CreationRestrictionsApplyFieldNumber = 93;
    private global::RecRoom.Protobuf.OverridableBoolData creationRestrictionsApply_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CreationRestrictionsApply {
      get { return creationRestrictionsApply_; }
      set {
        creationRestrictionsApply_ = value;
      }
    }

    /// <summary>Field number for the "can_use_maker_pen" field.</summary>
    public const int CanUseMakerPenFieldNumber = 94;
    private global::RecRoom.Protobuf.OverridableBoolData canUseMakerPen_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanUseMakerPen {
      get { return canUseMakerPen_; }
      set {
        canUseMakerPen_ = value;
      }
    }

    /// <summary>Field number for the "can_save_inventions" field.</summary>
    public const int CanSaveInventionsFieldNumber = 95;
    private global::RecRoom.Protobuf.OverridableBoolData canSaveInventions_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanSaveInventions {
      get { return canSaveInventions_; }
      set {
        canSaveInventions_ = value;
      }
    }

    /// <summary>Field number for the "can_spawn_inventions" field.</summary>
    public const int CanSpawnInventionsFieldNumber = 96;
    private global::RecRoom.Protobuf.OverridableBoolData canSpawnInventions_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanSpawnInventions {
      get { return canSpawnInventions_; }
      set {
        canSpawnInventions_ = value;
      }
    }

    /// <summary>Field number for the "can_use_room_reset_button" field.</summary>
    public const int CanUseRoomResetButtonFieldNumber = 97;
    private global::RecRoom.Protobuf.OverridableBoolData canUseRoomResetButton_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanUseRoomResetButton {
      get { return canUseRoomResetButton_; }
      set {
        canUseRoomResetButton_ = value;
      }
    }

    /// <summary>Field number for the "can_use_delete_all_button" field.</summary>
    public const int CanUseDeleteAllButtonFieldNumber = 98;
    private global::RecRoom.Protobuf.OverridableBoolData canUseDeleteAllButton_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanUseDeleteAllButton {
      get { return canUseDeleteAllButton_; }
      set {
        canUseDeleteAllButton_ = value;
      }
    }

    /// <summary>Field number for the "can_create_role_assignment_chips" field.</summary>
    public const int CanCreateRoleAssignmentChipsFieldNumber = 99;
    private global::RecRoom.Protobuf.OverridableBoolData canCreateRoleAssignmentChips_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanCreateRoleAssignmentChips {
      get { return canCreateRoleAssignmentChips_; }
      set {
        canCreateRoleAssignmentChips_ = value;
      }
    }

    /// <summary>Field number for the "can_use_play_gizmos_toggle" field.</summary>
    public const int CanUsePlayGizmosToggleFieldNumber = 100;
    private global::RecRoom.Protobuf.OverridableBoolData canUsePlayGizmosToggle_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanUsePlayGizmosToggle {
      get { return canUsePlayGizmosToggle_; }
      set {
        canUsePlayGizmosToggle_ = value;
      }
    }

    /// <summary>Field number for the "can_edit_circuits" field.</summary>
    public const int CanEditCircuitsFieldNumber = 101;
    private global::RecRoom.Protobuf.OverridableBoolData canEditCircuits_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData CanEditCircuits {
      get { return canEditCircuits_; }
      set {
        canEditCircuits_ = value;
      }
    }

    /// <summary>Field number for the "screens_default_first_person_control_type" field.</summary>
    public const int ScreensDefaultFirstPersonControlTypeFieldNumber = 50;
    private global::RecRoom.Protobuf.OverridableIntData screensDefaultFirstPersonControlType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableIntData ScreensDefaultFirstPersonControlType {
      get { return screensDefaultFirstPersonControlType_; }
      set {
        screensDefaultFirstPersonControlType_ = value;
      }
    }

    /// <summary>Field number for the "screens_default_third_person_control_type" field.</summary>
    public const int ScreensDefaultThirdPersonControlTypeFieldNumber = 40;
    private global::RecRoom.Protobuf.OverridableIntData screensDefaultThirdPersonControlType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableIntData ScreensDefaultThirdPersonControlType {
      get { return screensDefaultThirdPersonControlType_; }
      set {
        screensDefaultThirdPersonControlType_ = value;
      }
    }

    /// <summary>Field number for the "enable_equip_slot_hip" field.</summary>
    public const int EnableEquipSlotHipFieldNumber = 41;
    private global::RecRoom.Protobuf.OverridableIntData enableEquipSlotHip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableIntData EnableEquipSlotHip {
      get { return enableEquipSlotHip_; }
      set {
        enableEquipSlotHip_ = value;
      }
    }

    /// <summary>Field number for the "equip_restrictions_hip" field.</summary>
    public const int EquipRestrictionsHipFieldNumber = 42;
    private global::RecRoom.Protobuf.OverridableIntData equipRestrictionsHip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableIntData EquipRestrictionsHip {
      get { return equipRestrictionsHip_; }
      set {
        equipRestrictionsHip_ = value;
      }
    }

    /// <summary>Field number for the "equip_hip_allowlist" field.</summary>
    public const int EquipHipAllowlistFieldNumber = 43;
    private global::RecRoom.Protobuf.OverridableListStringData equipHipAllowlist_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableListStringData EquipHipAllowlist {
      get { return equipHipAllowlist_; }
      set {
        equipHipAllowlist_ = value;
      }
    }

    /// <summary>Field number for the "equip_hip_blocklist" field.</summary>
    public const int EquipHipBlocklistFieldNumber = 44;
    private global::RecRoom.Protobuf.OverridableListStringData equipHipBlocklist_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableListStringData EquipHipBlocklist {
      get { return equipHipBlocklist_; }
      set {
        equipHipBlocklist_ = value;
      }
    }

    /// <summary>Field number for the "enable_equip_slot_shoulder" field.</summary>
    public const int EnableEquipSlotShoulderFieldNumber = 45;
    private global::RecRoom.Protobuf.OverridableBoolData enableEquipSlotShoulder_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableBoolData EnableEquipSlotShoulder {
      get { return enableEquipSlotShoulder_; }
      set {
        enableEquipSlotShoulder_ = value;
      }
    }

    /// <summary>Field number for the "equip_restrictions_shoulder" field.</summary>
    public const int EquipRestrictionsShoulderFieldNumber = 46;
    private global::RecRoom.Protobuf.OverridableIntData equipRestrictionsShoulder_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableIntData EquipRestrictionsShoulder {
      get { return equipRestrictionsShoulder_; }
      set {
        equipRestrictionsShoulder_ = value;
      }
    }

    /// <summary>Field number for the "equip_shoulder_allowlist" field.</summary>
    public const int EquipShoulderAllowlistFieldNumber = 47;
    private global::RecRoom.Protobuf.OverridableListStringData equipShoulderAllowlist_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableListStringData EquipShoulderAllowlist {
      get { return equipShoulderAllowlist_; }
      set {
        equipShoulderAllowlist_ = value;
      }
    }

    /// <summary>Field number for the "equip_shoulder_blocklist" field.</summary>
    public const int EquipShoulderBlocklistFieldNumber = 48;
    private global::RecRoom.Protobuf.OverridableListStringData equipShoulderBlocklist_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.OverridableListStringData EquipShoulderBlocklist {
      get { return equipShoulderBlocklist_; }
      set {
        equipShoulderBlocklist_ = value;
      }
    }

    /// <summary>Field number for the "role_guid" field.</summary>
    public const int RoleGuidFieldNumber = 49;
    private string roleGuid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RoleGuid {
      get { return roleGuid_; }
      set {
        roleGuid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as PlayerGameRoleData);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerGameRoleData other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RoleId != other.RoleId) return false;
      if (RoleRank != other.RoleRank) return false;
      if (IsRoleActive != other.IsRoleActive) return false;
      if (IsAgRole != other.IsAgRole) return false;
      if (RoleName != other.RoleName) return false;
      if (!object.Equals(Name, other.Name)) return false;
      if (!object.Equals(TeleportMode, other.TeleportMode)) return false;
      if (!object.Equals(TeleportDelay, other.TeleportDelay)) return false;
      if (!object.Equals(TeleportSpeed, other.TeleportSpeed)) return false;
      if (!object.Equals(CanWalk, other.CanWalk)) return false;
      if (!object.Equals(ForceWalkAllowed, other.ForceWalkAllowed)) return false;
      if (!object.Equals(ExperimentalWalkEnabled, other.ExperimentalWalkEnabled)) return false;
      if (!object.Equals(VrWalkSpeed, other.VrWalkSpeed)) return false;
      if (!object.Equals(VrCanSprint, other.VrCanSprint)) return false;
      if (!object.Equals(VrSprintMaxSpeedWalkSpeedMultiplier, other.VrSprintMaxSpeedWalkSpeedMultiplier)) return false;
      if (!object.Equals(CanFly, other.CanFly)) return false;
      if (!object.Equals(VrCanJump, other.VrCanJump)) return false;
      if (!object.Equals(VrCanDodge, other.VrCanDodge)) return false;
      if (!object.Equals(VrMaxJumpHeight, other.VrMaxJumpHeight)) return false;
      if (!object.Equals(VrCanWallRun, other.VrCanWallRun)) return false;
      if (!object.Equals(VrCanGetPushed, other.VrCanGetPushed)) return false;
      if (!object.Equals(VrCanRam, other.VrCanRam)) return false;
      if (!object.Equals(IsInvincible, other.IsInvincible)) return false;
      if (!object.Equals(OutgoingDamageMultiplier, other.OutgoingDamageMultiplier)) return false;
      if (!object.Equals(ItemPickupRestrictions, other.ItemPickupRestrictions)) return false;
      if (!object.Equals(ItemPickupAllowlist, other.ItemPickupAllowlist)) return false;
      if (!object.Equals(ItemPickupBlocklist, other.ItemPickupBlocklist)) return false;
      if (!object.Equals(CanTalk, other.CanTalk)) return false;
      if (!object.Equals(CanSwitchTeams, other.CanSwitchTeams)) return false;
      if (!object.Equals(MaxTeleportDistance, other.MaxTeleportDistance)) return false;
      if (!object.Equals(MaxTeleportDropHeight, other.MaxTeleportDropHeight)) return false;
      if (!object.Equals(MaxTeleportAngle, other.MaxTeleportAngle)) return false;
      if (IsModifiedByPlayer != other.IsModifiedByPlayer) return false;
      if (!object.Equals(VoiceRolloffMaxDistance, other.VoiceRolloffMaxDistance)) return false;
      if (RoleVersion != other.RoleVersion) return false;
      if (!object.Equals(HidesName, other.HidesName)) return false;
      if (!object.Equals(CanMove, other.CanMove)) return false;
      if (!object.Equals(ScreensWalkSpeed, other.ScreensWalkSpeed)) return false;
      if (!object.Equals(ScreensCanSprint, other.ScreensCanSprint)) return false;
      if (!object.Equals(ScreensSprintMaxSpeedWalkSpeedMultiplier, other.ScreensSprintMaxSpeedWalkSpeedMultiplier)) return false;
      if (!object.Equals(ScreensCanJump, other.ScreensCanJump)) return false;
      if (!object.Equals(ScreensCanDodge, other.ScreensCanDodge)) return false;
      if (!object.Equals(ScreensMaxJumpHeight, other.ScreensMaxJumpHeight)) return false;
      if (!object.Equals(ScreensCanWallRun, other.ScreensCanWallRun)) return false;
      if (!object.Equals(ScreensCanGetPushed, other.ScreensCanGetPushed)) return false;
      if (!object.Equals(ScreensCanRam, other.ScreensCanRam)) return false;
      if (!object.Equals(CanAutoSprint, other.CanAutoSprint)) return false;
      if (!object.Equals(AirControlParameter, other.AirControlParameter)) return false;
      if (!object.Equals(CanJumpCutoff, other.CanJumpCutoff)) return false;
      if (!object.Equals(CanClamber, other.CanClamber)) return false;
      if (!object.Equals(WallRunDuration, other.WallRunDuration)) return false;
      if (!object.Equals(WallRunDropRateParameter, other.WallRunDropRateParameter)) return false;
      if (!object.Equals(WallRunStartSpeedBoost, other.WallRunStartSpeedBoost)) return false;
      if (!object.Equals(WallRunJumpHeight, other.WallRunJumpHeight)) return false;
      if (!object.Equals(WallRunJumpDirectionParameter, other.WallRunJumpDirectionParameter)) return false;
      if (!object.Equals(WallRunJumpAirControlMultiplier, other.WallRunJumpAirControlMultiplier)) return false;
      if (!object.Equals(CanSlide, other.CanSlide)) return false;
      if (!object.Equals(CanSlideDownSlopes, other.CanSlideDownSlopes)) return false;
      if (!object.Equals(SlideMinDuration, other.SlideMinDuration)) return false;
      if (!object.Equals(SlideSteeringParameter, other.SlideSteeringParameter)) return false;
      if (!object.Equals(SlideStartSpeedBoost, other.SlideStartSpeedBoost)) return false;
      if (!object.Equals(SlideAirControlMultiplier, other.SlideAirControlMultiplier)) return false;
      if (!object.Equals(CanWallClimb, other.CanWallClimb)) return false;
      if (!object.Equals(CanWallClimbWithoutMarkup, other.CanWallClimbWithoutMarkup)) return false;
      if (!object.Equals(CanWallRunWithoutMarkup, other.CanWallRunWithoutMarkup)) return false;
      if (!object.Equals(HidesAvatar, other.HidesAvatar)) return false;
      if (!object.Equals(PlayerTags, other.PlayerTags)) return false;
      if (!object.Equals(AddPlayerTags, other.AddPlayerTags)) return false;
      if (!object.Equals(RemovePlayerTags, other.RemovePlayerTags)) return false;
      if (!object.Equals(CreationRestrictionsApply, other.CreationRestrictionsApply)) return false;
      if (!object.Equals(CanUseMakerPen, other.CanUseMakerPen)) return false;
      if (!object.Equals(CanSaveInventions, other.CanSaveInventions)) return false;
      if (!object.Equals(CanSpawnInventions, other.CanSpawnInventions)) return false;
      if (!object.Equals(CanUseRoomResetButton, other.CanUseRoomResetButton)) return false;
      if (!object.Equals(CanUseDeleteAllButton, other.CanUseDeleteAllButton)) return false;
      if (!object.Equals(CanCreateRoleAssignmentChips, other.CanCreateRoleAssignmentChips)) return false;
      if (!object.Equals(CanUsePlayGizmosToggle, other.CanUsePlayGizmosToggle)) return false;
      if (!object.Equals(CanEditCircuits, other.CanEditCircuits)) return false;
      if (!object.Equals(ScreensDefaultFirstPersonControlType, other.ScreensDefaultFirstPersonControlType)) return false;
      if (!object.Equals(ScreensDefaultThirdPersonControlType, other.ScreensDefaultThirdPersonControlType)) return false;
      if (!object.Equals(EnableEquipSlotHip, other.EnableEquipSlotHip)) return false;
      if (!object.Equals(EquipRestrictionsHip, other.EquipRestrictionsHip)) return false;
      if (!object.Equals(EquipHipAllowlist, other.EquipHipAllowlist)) return false;
      if (!object.Equals(EquipHipBlocklist, other.EquipHipBlocklist)) return false;
      if (!object.Equals(EnableEquipSlotShoulder, other.EnableEquipSlotShoulder)) return false;
      if (!object.Equals(EquipRestrictionsShoulder, other.EquipRestrictionsShoulder)) return false;
      if (!object.Equals(EquipShoulderAllowlist, other.EquipShoulderAllowlist)) return false;
      if (!object.Equals(EquipShoulderBlocklist, other.EquipShoulderBlocklist)) return false;
      if (RoleGuid != other.RoleGuid) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (RoleId != 0) hash ^= RoleId.GetHashCode();
      if (RoleRank != 0) hash ^= RoleRank.GetHashCode();
      if (IsRoleActive != false) hash ^= IsRoleActive.GetHashCode();
      if (IsAgRole != false) hash ^= IsAgRole.GetHashCode();
      if (RoleName.Length != 0) hash ^= RoleName.GetHashCode();
      if (name_ != null) hash ^= Name.GetHashCode();
      if (teleportMode_ != null) hash ^= TeleportMode.GetHashCode();
      if (teleportDelay_ != null) hash ^= TeleportDelay.GetHashCode();
      if (teleportSpeed_ != null) hash ^= TeleportSpeed.GetHashCode();
      if (canWalk_ != null) hash ^= CanWalk.GetHashCode();
      if (forceWalkAllowed_ != null) hash ^= ForceWalkAllowed.GetHashCode();
      if (experimentalWalkEnabled_ != null) hash ^= ExperimentalWalkEnabled.GetHashCode();
      if (vrWalkSpeed_ != null) hash ^= VrWalkSpeed.GetHashCode();
      if (vrCanSprint_ != null) hash ^= VrCanSprint.GetHashCode();
      if (vrSprintMaxSpeedWalkSpeedMultiplier_ != null) hash ^= VrSprintMaxSpeedWalkSpeedMultiplier.GetHashCode();
      if (canFly_ != null) hash ^= CanFly.GetHashCode();
      if (vrCanJump_ != null) hash ^= VrCanJump.GetHashCode();
      if (vrCanDodge_ != null) hash ^= VrCanDodge.GetHashCode();
      if (vrMaxJumpHeight_ != null) hash ^= VrMaxJumpHeight.GetHashCode();
      if (vrCanWallRun_ != null) hash ^= VrCanWallRun.GetHashCode();
      if (vrCanGetPushed_ != null) hash ^= VrCanGetPushed.GetHashCode();
      if (vrCanRam_ != null) hash ^= VrCanRam.GetHashCode();
      if (isInvincible_ != null) hash ^= IsInvincible.GetHashCode();
      if (outgoingDamageMultiplier_ != null) hash ^= OutgoingDamageMultiplier.GetHashCode();
      if (itemPickupRestrictions_ != null) hash ^= ItemPickupRestrictions.GetHashCode();
      if (itemPickupAllowlist_ != null) hash ^= ItemPickupAllowlist.GetHashCode();
      if (itemPickupBlocklist_ != null) hash ^= ItemPickupBlocklist.GetHashCode();
      if (canTalk_ != null) hash ^= CanTalk.GetHashCode();
      if (canSwitchTeams_ != null) hash ^= CanSwitchTeams.GetHashCode();
      if (maxTeleportDistance_ != null) hash ^= MaxTeleportDistance.GetHashCode();
      if (maxTeleportDropHeight_ != null) hash ^= MaxTeleportDropHeight.GetHashCode();
      if (maxTeleportAngle_ != null) hash ^= MaxTeleportAngle.GetHashCode();
      if (IsModifiedByPlayer != false) hash ^= IsModifiedByPlayer.GetHashCode();
      if (voiceRolloffMaxDistance_ != null) hash ^= VoiceRolloffMaxDistance.GetHashCode();
      if (RoleVersion != 0) hash ^= RoleVersion.GetHashCode();
      if (hidesName_ != null) hash ^= HidesName.GetHashCode();
      if (canMove_ != null) hash ^= CanMove.GetHashCode();
      if (screensWalkSpeed_ != null) hash ^= ScreensWalkSpeed.GetHashCode();
      if (screensCanSprint_ != null) hash ^= ScreensCanSprint.GetHashCode();
      if (screensSprintMaxSpeedWalkSpeedMultiplier_ != null) hash ^= ScreensSprintMaxSpeedWalkSpeedMultiplier.GetHashCode();
      if (screensCanJump_ != null) hash ^= ScreensCanJump.GetHashCode();
      if (screensCanDodge_ != null) hash ^= ScreensCanDodge.GetHashCode();
      if (screensMaxJumpHeight_ != null) hash ^= ScreensMaxJumpHeight.GetHashCode();
      if (screensCanWallRun_ != null) hash ^= ScreensCanWallRun.GetHashCode();
      if (screensCanGetPushed_ != null) hash ^= ScreensCanGetPushed.GetHashCode();
      if (screensCanRam_ != null) hash ^= ScreensCanRam.GetHashCode();
      if (canAutoSprint_ != null) hash ^= CanAutoSprint.GetHashCode();
      if (airControlParameter_ != null) hash ^= AirControlParameter.GetHashCode();
      if (canJumpCutoff_ != null) hash ^= CanJumpCutoff.GetHashCode();
      if (canClamber_ != null) hash ^= CanClamber.GetHashCode();
      if (wallRunDuration_ != null) hash ^= WallRunDuration.GetHashCode();
      if (wallRunDropRateParameter_ != null) hash ^= WallRunDropRateParameter.GetHashCode();
      if (wallRunStartSpeedBoost_ != null) hash ^= WallRunStartSpeedBoost.GetHashCode();
      if (wallRunJumpHeight_ != null) hash ^= WallRunJumpHeight.GetHashCode();
      if (wallRunJumpDirectionParameter_ != null) hash ^= WallRunJumpDirectionParameter.GetHashCode();
      if (wallRunJumpAirControlMultiplier_ != null) hash ^= WallRunJumpAirControlMultiplier.GetHashCode();
      if (canSlide_ != null) hash ^= CanSlide.GetHashCode();
      if (canSlideDownSlopes_ != null) hash ^= CanSlideDownSlopes.GetHashCode();
      if (slideMinDuration_ != null) hash ^= SlideMinDuration.GetHashCode();
      if (slideSteeringParameter_ != null) hash ^= SlideSteeringParameter.GetHashCode();
      if (slideStartSpeedBoost_ != null) hash ^= SlideStartSpeedBoost.GetHashCode();
      if (slideAirControlMultiplier_ != null) hash ^= SlideAirControlMultiplier.GetHashCode();
      if (canWallClimb_ != null) hash ^= CanWallClimb.GetHashCode();
      if (canWallClimbWithoutMarkup_ != null) hash ^= CanWallClimbWithoutMarkup.GetHashCode();
      if (canWallRunWithoutMarkup_ != null) hash ^= CanWallRunWithoutMarkup.GetHashCode();
      if (hidesAvatar_ != null) hash ^= HidesAvatar.GetHashCode();
      if (playerTags_ != null) hash ^= PlayerTags.GetHashCode();
      if (addPlayerTags_ != null) hash ^= AddPlayerTags.GetHashCode();
      if (removePlayerTags_ != null) hash ^= RemovePlayerTags.GetHashCode();
      if (creationRestrictionsApply_ != null) hash ^= CreationRestrictionsApply.GetHashCode();
      if (canUseMakerPen_ != null) hash ^= CanUseMakerPen.GetHashCode();
      if (canSaveInventions_ != null) hash ^= CanSaveInventions.GetHashCode();
      if (canSpawnInventions_ != null) hash ^= CanSpawnInventions.GetHashCode();
      if (canUseRoomResetButton_ != null) hash ^= CanUseRoomResetButton.GetHashCode();
      if (canUseDeleteAllButton_ != null) hash ^= CanUseDeleteAllButton.GetHashCode();
      if (canCreateRoleAssignmentChips_ != null) hash ^= CanCreateRoleAssignmentChips.GetHashCode();
      if (canUsePlayGizmosToggle_ != null) hash ^= CanUsePlayGizmosToggle.GetHashCode();
      if (canEditCircuits_ != null) hash ^= CanEditCircuits.GetHashCode();
      if (screensDefaultFirstPersonControlType_ != null) hash ^= ScreensDefaultFirstPersonControlType.GetHashCode();
      if (screensDefaultThirdPersonControlType_ != null) hash ^= ScreensDefaultThirdPersonControlType.GetHashCode();
      if (enableEquipSlotHip_ != null) hash ^= EnableEquipSlotHip.GetHashCode();
      if (equipRestrictionsHip_ != null) hash ^= EquipRestrictionsHip.GetHashCode();
      if (equipHipAllowlist_ != null) hash ^= EquipHipAllowlist.GetHashCode();
      if (equipHipBlocklist_ != null) hash ^= EquipHipBlocklist.GetHashCode();
      if (enableEquipSlotShoulder_ != null) hash ^= EnableEquipSlotShoulder.GetHashCode();
      if (equipRestrictionsShoulder_ != null) hash ^= EquipRestrictionsShoulder.GetHashCode();
      if (equipShoulderAllowlist_ != null) hash ^= EquipShoulderAllowlist.GetHashCode();
      if (equipShoulderBlocklist_ != null) hash ^= EquipShoulderBlocklist.GetHashCode();
      if (RoleGuid.Length != 0) hash ^= RoleGuid.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (RoleId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RoleId);
      }
      if (RoleRank != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RoleRank);
      }
      if (IsRoleActive != false) {
        output.WriteRawTag(24);
        output.WriteBool(IsRoleActive);
      }
      if (IsAgRole != false) {
        output.WriteRawTag(32);
        output.WriteBool(IsAgRole);
      }
      if (RoleName.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(RoleName);
      }
      if (name_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(Name);
      }
      if (teleportMode_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(TeleportMode);
      }
      if (teleportDelay_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(TeleportDelay);
      }
      if (teleportSpeed_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(TeleportSpeed);
      }
      if (canWalk_ != null) {
        output.WriteRawTag(82);
        output.WriteMessage(CanWalk);
      }
      if (vrWalkSpeed_ != null) {
        output.WriteRawTag(90);
        output.WriteMessage(VrWalkSpeed);
      }
      if (vrCanSprint_ != null) {
        output.WriteRawTag(98);
        output.WriteMessage(VrCanSprint);
      }
      if (vrSprintMaxSpeedWalkSpeedMultiplier_ != null) {
        output.WriteRawTag(106);
        output.WriteMessage(VrSprintMaxSpeedWalkSpeedMultiplier);
      }
      if (canFly_ != null) {
        output.WriteRawTag(114);
        output.WriteMessage(CanFly);
      }
      if (isInvincible_ != null) {
        output.WriteRawTag(122);
        output.WriteMessage(IsInvincible);
      }
      if (outgoingDamageMultiplier_ != null) {
        output.WriteRawTag(130, 1);
        output.WriteMessage(OutgoingDamageMultiplier);
      }
      if (itemPickupRestrictions_ != null) {
        output.WriteRawTag(138, 1);
        output.WriteMessage(ItemPickupRestrictions);
      }
      if (itemPickupAllowlist_ != null) {
        output.WriteRawTag(146, 1);
        output.WriteMessage(ItemPickupAllowlist);
      }
      if (itemPickupBlocklist_ != null) {
        output.WriteRawTag(154, 1);
        output.WriteMessage(ItemPickupBlocklist);
      }
      if (canTalk_ != null) {
        output.WriteRawTag(162, 1);
        output.WriteMessage(CanTalk);
      }
      if (canSwitchTeams_ != null) {
        output.WriteRawTag(170, 1);
        output.WriteMessage(CanSwitchTeams);
      }
      if (maxTeleportDistance_ != null) {
        output.WriteRawTag(178, 1);
        output.WriteMessage(MaxTeleportDistance);
      }
      if (maxTeleportDropHeight_ != null) {
        output.WriteRawTag(186, 1);
        output.WriteMessage(MaxTeleportDropHeight);
      }
      if (maxTeleportAngle_ != null) {
        output.WriteRawTag(194, 1);
        output.WriteMessage(MaxTeleportAngle);
      }
      if (IsModifiedByPlayer != false) {
        output.WriteRawTag(200, 1);
        output.WriteBool(IsModifiedByPlayer);
      }
      if (voiceRolloffMaxDistance_ != null) {
        output.WriteRawTag(210, 1);
        output.WriteMessage(VoiceRolloffMaxDistance);
      }
      if (RoleVersion != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(RoleVersion);
      }
      if (forceWalkAllowed_ != null) {
        output.WriteRawTag(226, 1);
        output.WriteMessage(ForceWalkAllowed);
      }
      if (experimentalWalkEnabled_ != null) {
        output.WriteRawTag(234, 1);
        output.WriteMessage(ExperimentalWalkEnabled);
      }
      if (hidesName_ != null) {
        output.WriteRawTag(242, 1);
        output.WriteMessage(HidesName);
      }
      if (canMove_ != null) {
        output.WriteRawTag(250, 1);
        output.WriteMessage(CanMove);
      }
      if (screensWalkSpeed_ != null) {
        output.WriteRawTag(130, 2);
        output.WriteMessage(ScreensWalkSpeed);
      }
      if (screensCanSprint_ != null) {
        output.WriteRawTag(138, 2);
        output.WriteMessage(ScreensCanSprint);
      }
      if (screensSprintMaxSpeedWalkSpeedMultiplier_ != null) {
        output.WriteRawTag(146, 2);
        output.WriteMessage(ScreensSprintMaxSpeedWalkSpeedMultiplier);
      }
      if (vrCanJump_ != null) {
        output.WriteRawTag(162, 2);
        output.WriteMessage(VrCanJump);
      }
      if (vrCanDodge_ != null) {
        output.WriteRawTag(170, 2);
        output.WriteMessage(VrCanDodge);
      }
      if (screensCanJump_ != null) {
        output.WriteRawTag(178, 2);
        output.WriteMessage(ScreensCanJump);
      }
      if (screensCanDodge_ != null) {
        output.WriteRawTag(186, 2);
        output.WriteMessage(ScreensCanDodge);
      }
      if (screensDefaultThirdPersonControlType_ != null) {
        output.WriteRawTag(194, 2);
        output.WriteMessage(ScreensDefaultThirdPersonControlType);
      }
      if (enableEquipSlotHip_ != null) {
        output.WriteRawTag(202, 2);
        output.WriteMessage(EnableEquipSlotHip);
      }
      if (equipRestrictionsHip_ != null) {
        output.WriteRawTag(210, 2);
        output.WriteMessage(EquipRestrictionsHip);
      }
      if (equipHipAllowlist_ != null) {
        output.WriteRawTag(218, 2);
        output.WriteMessage(EquipHipAllowlist);
      }
      if (equipHipBlocklist_ != null) {
        output.WriteRawTag(226, 2);
        output.WriteMessage(EquipHipBlocklist);
      }
      if (enableEquipSlotShoulder_ != null) {
        output.WriteRawTag(234, 2);
        output.WriteMessage(EnableEquipSlotShoulder);
      }
      if (equipRestrictionsShoulder_ != null) {
        output.WriteRawTag(242, 2);
        output.WriteMessage(EquipRestrictionsShoulder);
      }
      if (equipShoulderAllowlist_ != null) {
        output.WriteRawTag(250, 2);
        output.WriteMessage(EquipShoulderAllowlist);
      }
      if (equipShoulderBlocklist_ != null) {
        output.WriteRawTag(130, 3);
        output.WriteMessage(EquipShoulderBlocklist);
      }
      if (RoleGuid.Length != 0) {
        output.WriteRawTag(138, 3);
        output.WriteString(RoleGuid);
      }
      if (screensDefaultFirstPersonControlType_ != null) {
        output.WriteRawTag(146, 3);
        output.WriteMessage(ScreensDefaultFirstPersonControlType);
      }
      if (vrMaxJumpHeight_ != null) {
        output.WriteRawTag(154, 3);
        output.WriteMessage(VrMaxJumpHeight);
      }
      if (screensMaxJumpHeight_ != null) {
        output.WriteRawTag(162, 3);
        output.WriteMessage(ScreensMaxJumpHeight);
      }
      if (vrCanWallRun_ != null) {
        output.WriteRawTag(242, 3);
        output.WriteMessage(VrCanWallRun);
      }
      if (screensCanWallRun_ != null) {
        output.WriteRawTag(250, 3);
        output.WriteMessage(ScreensCanWallRun);
      }
      if (vrCanGetPushed_ != null) {
        output.WriteRawTag(130, 4);
        output.WriteMessage(VrCanGetPushed);
      }
      if (screensCanGetPushed_ != null) {
        output.WriteRawTag(138, 4);
        output.WriteMessage(ScreensCanGetPushed);
      }
      if (vrCanRam_ != null) {
        output.WriteRawTag(146, 4);
        output.WriteMessage(VrCanRam);
      }
      if (screensCanRam_ != null) {
        output.WriteRawTag(154, 4);
        output.WriteMessage(ScreensCanRam);
      }
      if (canAutoSprint_ != null) {
        output.WriteRawTag(178, 4);
        output.WriteMessage(CanAutoSprint);
      }
      if (airControlParameter_ != null) {
        output.WriteRawTag(186, 4);
        output.WriteMessage(AirControlParameter);
      }
      if (canJumpCutoff_ != null) {
        output.WriteRawTag(194, 4);
        output.WriteMessage(CanJumpCutoff);
      }
      if (canClamber_ != null) {
        output.WriteRawTag(202, 4);
        output.WriteMessage(CanClamber);
      }
      if (wallRunDuration_ != null) {
        output.WriteRawTag(210, 4);
        output.WriteMessage(WallRunDuration);
      }
      if (wallRunDropRateParameter_ != null) {
        output.WriteRawTag(218, 4);
        output.WriteMessage(WallRunDropRateParameter);
      }
      if (wallRunStartSpeedBoost_ != null) {
        output.WriteRawTag(226, 4);
        output.WriteMessage(WallRunStartSpeedBoost);
      }
      if (wallRunJumpHeight_ != null) {
        output.WriteRawTag(234, 4);
        output.WriteMessage(WallRunJumpHeight);
      }
      if (wallRunJumpDirectionParameter_ != null) {
        output.WriteRawTag(242, 4);
        output.WriteMessage(WallRunJumpDirectionParameter);
      }
      if (wallRunJumpAirControlMultiplier_ != null) {
        output.WriteRawTag(250, 4);
        output.WriteMessage(WallRunJumpAirControlMultiplier);
      }
      if (canSlide_ != null) {
        output.WriteRawTag(130, 5);
        output.WriteMessage(CanSlide);
      }
      if (canSlideDownSlopes_ != null) {
        output.WriteRawTag(138, 5);
        output.WriteMessage(CanSlideDownSlopes);
      }
      if (slideMinDuration_ != null) {
        output.WriteRawTag(146, 5);
        output.WriteMessage(SlideMinDuration);
      }
      if (slideSteeringParameter_ != null) {
        output.WriteRawTag(154, 5);
        output.WriteMessage(SlideSteeringParameter);
      }
      if (slideStartSpeedBoost_ != null) {
        output.WriteRawTag(162, 5);
        output.WriteMessage(SlideStartSpeedBoost);
      }
      if (slideAirControlMultiplier_ != null) {
        output.WriteRawTag(170, 5);
        output.WriteMessage(SlideAirControlMultiplier);
      }
      if (canWallClimb_ != null) {
        output.WriteRawTag(178, 5);
        output.WriteMessage(CanWallClimb);
      }
      if (canWallClimbWithoutMarkup_ != null) {
        output.WriteRawTag(186, 5);
        output.WriteMessage(CanWallClimbWithoutMarkup);
      }
      if (canWallRunWithoutMarkup_ != null) {
        output.WriteRawTag(194, 5);
        output.WriteMessage(CanWallRunWithoutMarkup);
      }
      if (hidesAvatar_ != null) {
        output.WriteRawTag(202, 5);
        output.WriteMessage(HidesAvatar);
      }
      if (playerTags_ != null) {
        output.WriteRawTag(210, 5);
        output.WriteMessage(PlayerTags);
      }
      if (addPlayerTags_ != null) {
        output.WriteRawTag(218, 5);
        output.WriteMessage(AddPlayerTags);
      }
      if (removePlayerTags_ != null) {
        output.WriteRawTag(226, 5);
        output.WriteMessage(RemovePlayerTags);
      }
      if (creationRestrictionsApply_ != null) {
        output.WriteRawTag(234, 5);
        output.WriteMessage(CreationRestrictionsApply);
      }
      if (canUseMakerPen_ != null) {
        output.WriteRawTag(242, 5);
        output.WriteMessage(CanUseMakerPen);
      }
      if (canSaveInventions_ != null) {
        output.WriteRawTag(250, 5);
        output.WriteMessage(CanSaveInventions);
      }
      if (canSpawnInventions_ != null) {
        output.WriteRawTag(130, 6);
        output.WriteMessage(CanSpawnInventions);
      }
      if (canUseRoomResetButton_ != null) {
        output.WriteRawTag(138, 6);
        output.WriteMessage(CanUseRoomResetButton);
      }
      if (canUseDeleteAllButton_ != null) {
        output.WriteRawTag(146, 6);
        output.WriteMessage(CanUseDeleteAllButton);
      }
      if (canCreateRoleAssignmentChips_ != null) {
        output.WriteRawTag(154, 6);
        output.WriteMessage(CanCreateRoleAssignmentChips);
      }
      if (canUsePlayGizmosToggle_ != null) {
        output.WriteRawTag(162, 6);
        output.WriteMessage(CanUsePlayGizmosToggle);
      }
      if (canEditCircuits_ != null) {
        output.WriteRawTag(170, 6);
        output.WriteMessage(CanEditCircuits);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (RoleId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RoleId);
      }
      if (RoleRank != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RoleRank);
      }
      if (IsRoleActive != false) {
        output.WriteRawTag(24);
        output.WriteBool(IsRoleActive);
      }
      if (IsAgRole != false) {
        output.WriteRawTag(32);
        output.WriteBool(IsAgRole);
      }
      if (RoleName.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(RoleName);
      }
      if (name_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(Name);
      }
      if (teleportMode_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(TeleportMode);
      }
      if (teleportDelay_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(TeleportDelay);
      }
      if (teleportSpeed_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(TeleportSpeed);
      }
      if (canWalk_ != null) {
        output.WriteRawTag(82);
        output.WriteMessage(CanWalk);
      }
      if (vrWalkSpeed_ != null) {
        output.WriteRawTag(90);
        output.WriteMessage(VrWalkSpeed);
      }
      if (vrCanSprint_ != null) {
        output.WriteRawTag(98);
        output.WriteMessage(VrCanSprint);
      }
      if (vrSprintMaxSpeedWalkSpeedMultiplier_ != null) {
        output.WriteRawTag(106);
        output.WriteMessage(VrSprintMaxSpeedWalkSpeedMultiplier);
      }
      if (canFly_ != null) {
        output.WriteRawTag(114);
        output.WriteMessage(CanFly);
      }
      if (isInvincible_ != null) {
        output.WriteRawTag(122);
        output.WriteMessage(IsInvincible);
      }
      if (outgoingDamageMultiplier_ != null) {
        output.WriteRawTag(130, 1);
        output.WriteMessage(OutgoingDamageMultiplier);
      }
      if (itemPickupRestrictions_ != null) {
        output.WriteRawTag(138, 1);
        output.WriteMessage(ItemPickupRestrictions);
      }
      if (itemPickupAllowlist_ != null) {
        output.WriteRawTag(146, 1);
        output.WriteMessage(ItemPickupAllowlist);
      }
      if (itemPickupBlocklist_ != null) {
        output.WriteRawTag(154, 1);
        output.WriteMessage(ItemPickupBlocklist);
      }
      if (canTalk_ != null) {
        output.WriteRawTag(162, 1);
        output.WriteMessage(CanTalk);
      }
      if (canSwitchTeams_ != null) {
        output.WriteRawTag(170, 1);
        output.WriteMessage(CanSwitchTeams);
      }
      if (maxTeleportDistance_ != null) {
        output.WriteRawTag(178, 1);
        output.WriteMessage(MaxTeleportDistance);
      }
      if (maxTeleportDropHeight_ != null) {
        output.WriteRawTag(186, 1);
        output.WriteMessage(MaxTeleportDropHeight);
      }
      if (maxTeleportAngle_ != null) {
        output.WriteRawTag(194, 1);
        output.WriteMessage(MaxTeleportAngle);
      }
      if (IsModifiedByPlayer != false) {
        output.WriteRawTag(200, 1);
        output.WriteBool(IsModifiedByPlayer);
      }
      if (voiceRolloffMaxDistance_ != null) {
        output.WriteRawTag(210, 1);
        output.WriteMessage(VoiceRolloffMaxDistance);
      }
      if (RoleVersion != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(RoleVersion);
      }
      if (forceWalkAllowed_ != null) {
        output.WriteRawTag(226, 1);
        output.WriteMessage(ForceWalkAllowed);
      }
      if (experimentalWalkEnabled_ != null) {
        output.WriteRawTag(234, 1);
        output.WriteMessage(ExperimentalWalkEnabled);
      }
      if (hidesName_ != null) {
        output.WriteRawTag(242, 1);
        output.WriteMessage(HidesName);
      }
      if (canMove_ != null) {
        output.WriteRawTag(250, 1);
        output.WriteMessage(CanMove);
      }
      if (screensWalkSpeed_ != null) {
        output.WriteRawTag(130, 2);
        output.WriteMessage(ScreensWalkSpeed);
      }
      if (screensCanSprint_ != null) {
        output.WriteRawTag(138, 2);
        output.WriteMessage(ScreensCanSprint);
      }
      if (screensSprintMaxSpeedWalkSpeedMultiplier_ != null) {
        output.WriteRawTag(146, 2);
        output.WriteMessage(ScreensSprintMaxSpeedWalkSpeedMultiplier);
      }
      if (vrCanJump_ != null) {
        output.WriteRawTag(162, 2);
        output.WriteMessage(VrCanJump);
      }
      if (vrCanDodge_ != null) {
        output.WriteRawTag(170, 2);
        output.WriteMessage(VrCanDodge);
      }
      if (screensCanJump_ != null) {
        output.WriteRawTag(178, 2);
        output.WriteMessage(ScreensCanJump);
      }
      if (screensCanDodge_ != null) {
        output.WriteRawTag(186, 2);
        output.WriteMessage(ScreensCanDodge);
      }
      if (screensDefaultThirdPersonControlType_ != null) {
        output.WriteRawTag(194, 2);
        output.WriteMessage(ScreensDefaultThirdPersonControlType);
      }
      if (enableEquipSlotHip_ != null) {
        output.WriteRawTag(202, 2);
        output.WriteMessage(EnableEquipSlotHip);
      }
      if (equipRestrictionsHip_ != null) {
        output.WriteRawTag(210, 2);
        output.WriteMessage(EquipRestrictionsHip);
      }
      if (equipHipAllowlist_ != null) {
        output.WriteRawTag(218, 2);
        output.WriteMessage(EquipHipAllowlist);
      }
      if (equipHipBlocklist_ != null) {
        output.WriteRawTag(226, 2);
        output.WriteMessage(EquipHipBlocklist);
      }
      if (enableEquipSlotShoulder_ != null) {
        output.WriteRawTag(234, 2);
        output.WriteMessage(EnableEquipSlotShoulder);
      }
      if (equipRestrictionsShoulder_ != null) {
        output.WriteRawTag(242, 2);
        output.WriteMessage(EquipRestrictionsShoulder);
      }
      if (equipShoulderAllowlist_ != null) {
        output.WriteRawTag(250, 2);
        output.WriteMessage(EquipShoulderAllowlist);
      }
      if (equipShoulderBlocklist_ != null) {
        output.WriteRawTag(130, 3);
        output.WriteMessage(EquipShoulderBlocklist);
      }
      if (RoleGuid.Length != 0) {
        output.WriteRawTag(138, 3);
        output.WriteString(RoleGuid);
      }
      if (screensDefaultFirstPersonControlType_ != null) {
        output.WriteRawTag(146, 3);
        output.WriteMessage(ScreensDefaultFirstPersonControlType);
      }
      if (vrMaxJumpHeight_ != null) {
        output.WriteRawTag(154, 3);
        output.WriteMessage(VrMaxJumpHeight);
      }
      if (screensMaxJumpHeight_ != null) {
        output.WriteRawTag(162, 3);
        output.WriteMessage(ScreensMaxJumpHeight);
      }
      if (vrCanWallRun_ != null) {
        output.WriteRawTag(242, 3);
        output.WriteMessage(VrCanWallRun);
      }
      if (screensCanWallRun_ != null) {
        output.WriteRawTag(250, 3);
        output.WriteMessage(ScreensCanWallRun);
      }
      if (vrCanGetPushed_ != null) {
        output.WriteRawTag(130, 4);
        output.WriteMessage(VrCanGetPushed);
      }
      if (screensCanGetPushed_ != null) {
        output.WriteRawTag(138, 4);
        output.WriteMessage(ScreensCanGetPushed);
      }
      if (vrCanRam_ != null) {
        output.WriteRawTag(146, 4);
        output.WriteMessage(VrCanRam);
      }
      if (screensCanRam_ != null) {
        output.WriteRawTag(154, 4);
        output.WriteMessage(ScreensCanRam);
      }
      if (canAutoSprint_ != null) {
        output.WriteRawTag(178, 4);
        output.WriteMessage(CanAutoSprint);
      }
      if (airControlParameter_ != null) {
        output.WriteRawTag(186, 4);
        output.WriteMessage(AirControlParameter);
      }
      if (canJumpCutoff_ != null) {
        output.WriteRawTag(194, 4);
        output.WriteMessage(CanJumpCutoff);
      }
      if (canClamber_ != null) {
        output.WriteRawTag(202, 4);
        output.WriteMessage(CanClamber);
      }
      if (wallRunDuration_ != null) {
        output.WriteRawTag(210, 4);
        output.WriteMessage(WallRunDuration);
      }
      if (wallRunDropRateParameter_ != null) {
        output.WriteRawTag(218, 4);
        output.WriteMessage(WallRunDropRateParameter);
      }
      if (wallRunStartSpeedBoost_ != null) {
        output.WriteRawTag(226, 4);
        output.WriteMessage(WallRunStartSpeedBoost);
      }
      if (wallRunJumpHeight_ != null) {
        output.WriteRawTag(234, 4);
        output.WriteMessage(WallRunJumpHeight);
      }
      if (wallRunJumpDirectionParameter_ != null) {
        output.WriteRawTag(242, 4);
        output.WriteMessage(WallRunJumpDirectionParameter);
      }
      if (wallRunJumpAirControlMultiplier_ != null) {
        output.WriteRawTag(250, 4);
        output.WriteMessage(WallRunJumpAirControlMultiplier);
      }
      if (canSlide_ != null) {
        output.WriteRawTag(130, 5);
        output.WriteMessage(CanSlide);
      }
      if (canSlideDownSlopes_ != null) {
        output.WriteRawTag(138, 5);
        output.WriteMessage(CanSlideDownSlopes);
      }
      if (slideMinDuration_ != null) {
        output.WriteRawTag(146, 5);
        output.WriteMessage(SlideMinDuration);
      }
      if (slideSteeringParameter_ != null) {
        output.WriteRawTag(154, 5);
        output.WriteMessage(SlideSteeringParameter);
      }
      if (slideStartSpeedBoost_ != null) {
        output.WriteRawTag(162, 5);
        output.WriteMessage(SlideStartSpeedBoost);
      }
      if (slideAirControlMultiplier_ != null) {
        output.WriteRawTag(170, 5);
        output.WriteMessage(SlideAirControlMultiplier);
      }
      if (canWallClimb_ != null) {
        output.WriteRawTag(178, 5);
        output.WriteMessage(CanWallClimb);
      }
      if (canWallClimbWithoutMarkup_ != null) {
        output.WriteRawTag(186, 5);
        output.WriteMessage(CanWallClimbWithoutMarkup);
      }
      if (canWallRunWithoutMarkup_ != null) {
        output.WriteRawTag(194, 5);
        output.WriteMessage(CanWallRunWithoutMarkup);
      }
      if (hidesAvatar_ != null) {
        output.WriteRawTag(202, 5);
        output.WriteMessage(HidesAvatar);
      }
      if (playerTags_ != null) {
        output.WriteRawTag(210, 5);
        output.WriteMessage(PlayerTags);
      }
      if (addPlayerTags_ != null) {
        output.WriteRawTag(218, 5);
        output.WriteMessage(AddPlayerTags);
      }
      if (removePlayerTags_ != null) {
        output.WriteRawTag(226, 5);
        output.WriteMessage(RemovePlayerTags);
      }
      if (creationRestrictionsApply_ != null) {
        output.WriteRawTag(234, 5);
        output.WriteMessage(CreationRestrictionsApply);
      }
      if (canUseMakerPen_ != null) {
        output.WriteRawTag(242, 5);
        output.WriteMessage(CanUseMakerPen);
      }
      if (canSaveInventions_ != null) {
        output.WriteRawTag(250, 5);
        output.WriteMessage(CanSaveInventions);
      }
      if (canSpawnInventions_ != null) {
        output.WriteRawTag(130, 6);
        output.WriteMessage(CanSpawnInventions);
      }
      if (canUseRoomResetButton_ != null) {
        output.WriteRawTag(138, 6);
        output.WriteMessage(CanUseRoomResetButton);
      }
      if (canUseDeleteAllButton_ != null) {
        output.WriteRawTag(146, 6);
        output.WriteMessage(CanUseDeleteAllButton);
      }
      if (canCreateRoleAssignmentChips_ != null) {
        output.WriteRawTag(154, 6);
        output.WriteMessage(CanCreateRoleAssignmentChips);
      }
      if (canUsePlayGizmosToggle_ != null) {
        output.WriteRawTag(162, 6);
        output.WriteMessage(CanUsePlayGizmosToggle);
      }
      if (canEditCircuits_ != null) {
        output.WriteRawTag(170, 6);
        output.WriteMessage(CanEditCircuits);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (RoleId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoleId);
      }
      if (RoleRank != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoleRank);
      }
      if (IsRoleActive != false) {
        size += 1 + 1;
      }
      if (IsAgRole != false) {
        size += 1 + 1;
      }
      if (RoleName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RoleName);
      }
      if (name_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Name);
      }
      if (teleportMode_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(TeleportMode);
      }
      if (teleportDelay_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(TeleportDelay);
      }
      if (teleportSpeed_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(TeleportSpeed);
      }
      if (canWalk_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(CanWalk);
      }
      if (forceWalkAllowed_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ForceWalkAllowed);
      }
      if (experimentalWalkEnabled_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ExperimentalWalkEnabled);
      }
      if (vrWalkSpeed_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(VrWalkSpeed);
      }
      if (vrCanSprint_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(VrCanSprint);
      }
      if (vrSprintMaxSpeedWalkSpeedMultiplier_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(VrSprintMaxSpeedWalkSpeedMultiplier);
      }
      if (canFly_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(CanFly);
      }
      if (vrCanJump_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(VrCanJump);
      }
      if (vrCanDodge_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(VrCanDodge);
      }
      if (vrMaxJumpHeight_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(VrMaxJumpHeight);
      }
      if (vrCanWallRun_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(VrCanWallRun);
      }
      if (vrCanGetPushed_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(VrCanGetPushed);
      }
      if (vrCanRam_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(VrCanRam);
      }
      if (isInvincible_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(IsInvincible);
      }
      if (outgoingDamageMultiplier_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(OutgoingDamageMultiplier);
      }
      if (itemPickupRestrictions_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ItemPickupRestrictions);
      }
      if (itemPickupAllowlist_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ItemPickupAllowlist);
      }
      if (itemPickupBlocklist_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ItemPickupBlocklist);
      }
      if (canTalk_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanTalk);
      }
      if (canSwitchTeams_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanSwitchTeams);
      }
      if (maxTeleportDistance_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(MaxTeleportDistance);
      }
      if (maxTeleportDropHeight_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(MaxTeleportDropHeight);
      }
      if (maxTeleportAngle_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(MaxTeleportAngle);
      }
      if (IsModifiedByPlayer != false) {
        size += 2 + 1;
      }
      if (voiceRolloffMaxDistance_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(VoiceRolloffMaxDistance);
      }
      if (RoleVersion != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RoleVersion);
      }
      if (hidesName_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(HidesName);
      }
      if (canMove_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanMove);
      }
      if (screensWalkSpeed_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ScreensWalkSpeed);
      }
      if (screensCanSprint_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ScreensCanSprint);
      }
      if (screensSprintMaxSpeedWalkSpeedMultiplier_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ScreensSprintMaxSpeedWalkSpeedMultiplier);
      }
      if (screensCanJump_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ScreensCanJump);
      }
      if (screensCanDodge_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ScreensCanDodge);
      }
      if (screensMaxJumpHeight_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ScreensMaxJumpHeight);
      }
      if (screensCanWallRun_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ScreensCanWallRun);
      }
      if (screensCanGetPushed_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ScreensCanGetPushed);
      }
      if (screensCanRam_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ScreensCanRam);
      }
      if (canAutoSprint_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanAutoSprint);
      }
      if (airControlParameter_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(AirControlParameter);
      }
      if (canJumpCutoff_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanJumpCutoff);
      }
      if (canClamber_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanClamber);
      }
      if (wallRunDuration_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(WallRunDuration);
      }
      if (wallRunDropRateParameter_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(WallRunDropRateParameter);
      }
      if (wallRunStartSpeedBoost_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(WallRunStartSpeedBoost);
      }
      if (wallRunJumpHeight_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(WallRunJumpHeight);
      }
      if (wallRunJumpDirectionParameter_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(WallRunJumpDirectionParameter);
      }
      if (wallRunJumpAirControlMultiplier_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(WallRunJumpAirControlMultiplier);
      }
      if (canSlide_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanSlide);
      }
      if (canSlideDownSlopes_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanSlideDownSlopes);
      }
      if (slideMinDuration_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SlideMinDuration);
      }
      if (slideSteeringParameter_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SlideSteeringParameter);
      }
      if (slideStartSpeedBoost_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SlideStartSpeedBoost);
      }
      if (slideAirControlMultiplier_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SlideAirControlMultiplier);
      }
      if (canWallClimb_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanWallClimb);
      }
      if (canWallClimbWithoutMarkup_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanWallClimbWithoutMarkup);
      }
      if (canWallRunWithoutMarkup_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanWallRunWithoutMarkup);
      }
      if (hidesAvatar_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(HidesAvatar);
      }
      if (playerTags_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(PlayerTags);
      }
      if (addPlayerTags_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(AddPlayerTags);
      }
      if (removePlayerTags_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(RemovePlayerTags);
      }
      if (creationRestrictionsApply_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CreationRestrictionsApply);
      }
      if (canUseMakerPen_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanUseMakerPen);
      }
      if (canSaveInventions_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanSaveInventions);
      }
      if (canSpawnInventions_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanSpawnInventions);
      }
      if (canUseRoomResetButton_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanUseRoomResetButton);
      }
      if (canUseDeleteAllButton_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanUseDeleteAllButton);
      }
      if (canCreateRoleAssignmentChips_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanCreateRoleAssignmentChips);
      }
      if (canUsePlayGizmosToggle_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanUsePlayGizmosToggle);
      }
      if (canEditCircuits_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CanEditCircuits);
      }
      if (screensDefaultFirstPersonControlType_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ScreensDefaultFirstPersonControlType);
      }
      if (screensDefaultThirdPersonControlType_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ScreensDefaultThirdPersonControlType);
      }
      if (enableEquipSlotHip_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(EnableEquipSlotHip);
      }
      if (equipRestrictionsHip_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(EquipRestrictionsHip);
      }
      if (equipHipAllowlist_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(EquipHipAllowlist);
      }
      if (equipHipBlocklist_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(EquipHipBlocklist);
      }
      if (enableEquipSlotShoulder_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(EnableEquipSlotShoulder);
      }
      if (equipRestrictionsShoulder_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(EquipRestrictionsShoulder);
      }
      if (equipShoulderAllowlist_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(EquipShoulderAllowlist);
      }
      if (equipShoulderBlocklist_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(EquipShoulderBlocklist);
      }
      if (RoleGuid.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(RoleGuid);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PlayerGameRoleData other) {
      if (other == null) {
        return;
      }
      if (other.RoleId != 0) {
        RoleId = other.RoleId;
      }
      if (other.RoleRank != 0) {
        RoleRank = other.RoleRank;
      }
      if (other.IsRoleActive != false) {
        IsRoleActive = other.IsRoleActive;
      }
      if (other.IsAgRole != false) {
        IsAgRole = other.IsAgRole;
      }
      if (other.RoleName.Length != 0) {
        RoleName = other.RoleName;
      }
      if (other.name_ != null) {
        if (name_ == null) {
          Name = new global::RecRoom.Protobuf.OverridableStringData();
        }
        Name.MergeFrom(other.Name);
      }
      if (other.teleportMode_ != null) {
        if (teleportMode_ == null) {
          TeleportMode = new global::RecRoom.Protobuf.OverridableIntData();
        }
        TeleportMode.MergeFrom(other.TeleportMode);
      }
      if (other.teleportDelay_ != null) {
        if (teleportDelay_ == null) {
          TeleportDelay = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        TeleportDelay.MergeFrom(other.TeleportDelay);
      }
      if (other.teleportSpeed_ != null) {
        if (teleportSpeed_ == null) {
          TeleportSpeed = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        TeleportSpeed.MergeFrom(other.TeleportSpeed);
      }
      if (other.canWalk_ != null) {
        if (canWalk_ == null) {
          CanWalk = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanWalk.MergeFrom(other.CanWalk);
      }
      if (other.forceWalkAllowed_ != null) {
        if (forceWalkAllowed_ == null) {
          ForceWalkAllowed = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        ForceWalkAllowed.MergeFrom(other.ForceWalkAllowed);
      }
      if (other.experimentalWalkEnabled_ != null) {
        if (experimentalWalkEnabled_ == null) {
          ExperimentalWalkEnabled = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        ExperimentalWalkEnabled.MergeFrom(other.ExperimentalWalkEnabled);
      }
      if (other.vrWalkSpeed_ != null) {
        if (vrWalkSpeed_ == null) {
          VrWalkSpeed = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        VrWalkSpeed.MergeFrom(other.VrWalkSpeed);
      }
      if (other.vrCanSprint_ != null) {
        if (vrCanSprint_ == null) {
          VrCanSprint = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        VrCanSprint.MergeFrom(other.VrCanSprint);
      }
      if (other.vrSprintMaxSpeedWalkSpeedMultiplier_ != null) {
        if (vrSprintMaxSpeedWalkSpeedMultiplier_ == null) {
          VrSprintMaxSpeedWalkSpeedMultiplier = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        VrSprintMaxSpeedWalkSpeedMultiplier.MergeFrom(other.VrSprintMaxSpeedWalkSpeedMultiplier);
      }
      if (other.canFly_ != null) {
        if (canFly_ == null) {
          CanFly = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanFly.MergeFrom(other.CanFly);
      }
      if (other.vrCanJump_ != null) {
        if (vrCanJump_ == null) {
          VrCanJump = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        VrCanJump.MergeFrom(other.VrCanJump);
      }
      if (other.vrCanDodge_ != null) {
        if (vrCanDodge_ == null) {
          VrCanDodge = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        VrCanDodge.MergeFrom(other.VrCanDodge);
      }
      if (other.vrMaxJumpHeight_ != null) {
        if (vrMaxJumpHeight_ == null) {
          VrMaxJumpHeight = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        VrMaxJumpHeight.MergeFrom(other.VrMaxJumpHeight);
      }
      if (other.vrCanWallRun_ != null) {
        if (vrCanWallRun_ == null) {
          VrCanWallRun = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        VrCanWallRun.MergeFrom(other.VrCanWallRun);
      }
      if (other.vrCanGetPushed_ != null) {
        if (vrCanGetPushed_ == null) {
          VrCanGetPushed = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        VrCanGetPushed.MergeFrom(other.VrCanGetPushed);
      }
      if (other.vrCanRam_ != null) {
        if (vrCanRam_ == null) {
          VrCanRam = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        VrCanRam.MergeFrom(other.VrCanRam);
      }
      if (other.isInvincible_ != null) {
        if (isInvincible_ == null) {
          IsInvincible = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        IsInvincible.MergeFrom(other.IsInvincible);
      }
      if (other.outgoingDamageMultiplier_ != null) {
        if (outgoingDamageMultiplier_ == null) {
          OutgoingDamageMultiplier = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        OutgoingDamageMultiplier.MergeFrom(other.OutgoingDamageMultiplier);
      }
      if (other.itemPickupRestrictions_ != null) {
        if (itemPickupRestrictions_ == null) {
          ItemPickupRestrictions = new global::RecRoom.Protobuf.OverridableIntData();
        }
        ItemPickupRestrictions.MergeFrom(other.ItemPickupRestrictions);
      }
      if (other.itemPickupAllowlist_ != null) {
        if (itemPickupAllowlist_ == null) {
          ItemPickupAllowlist = new global::RecRoom.Protobuf.OverridableListStringData();
        }
        ItemPickupAllowlist.MergeFrom(other.ItemPickupAllowlist);
      }
      if (other.itemPickupBlocklist_ != null) {
        if (itemPickupBlocklist_ == null) {
          ItemPickupBlocklist = new global::RecRoom.Protobuf.OverridableListStringData();
        }
        ItemPickupBlocklist.MergeFrom(other.ItemPickupBlocklist);
      }
      if (other.canTalk_ != null) {
        if (canTalk_ == null) {
          CanTalk = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanTalk.MergeFrom(other.CanTalk);
      }
      if (other.canSwitchTeams_ != null) {
        if (canSwitchTeams_ == null) {
          CanSwitchTeams = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanSwitchTeams.MergeFrom(other.CanSwitchTeams);
      }
      if (other.maxTeleportDistance_ != null) {
        if (maxTeleportDistance_ == null) {
          MaxTeleportDistance = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        MaxTeleportDistance.MergeFrom(other.MaxTeleportDistance);
      }
      if (other.maxTeleportDropHeight_ != null) {
        if (maxTeleportDropHeight_ == null) {
          MaxTeleportDropHeight = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        MaxTeleportDropHeight.MergeFrom(other.MaxTeleportDropHeight);
      }
      if (other.maxTeleportAngle_ != null) {
        if (maxTeleportAngle_ == null) {
          MaxTeleportAngle = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        MaxTeleportAngle.MergeFrom(other.MaxTeleportAngle);
      }
      if (other.IsModifiedByPlayer != false) {
        IsModifiedByPlayer = other.IsModifiedByPlayer;
      }
      if (other.voiceRolloffMaxDistance_ != null) {
        if (voiceRolloffMaxDistance_ == null) {
          VoiceRolloffMaxDistance = new global::RecRoom.Protobuf.OverridableIntData();
        }
        VoiceRolloffMaxDistance.MergeFrom(other.VoiceRolloffMaxDistance);
      }
      if (other.RoleVersion != 0) {
        RoleVersion = other.RoleVersion;
      }
      if (other.hidesName_ != null) {
        if (hidesName_ == null) {
          HidesName = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        HidesName.MergeFrom(other.HidesName);
      }
      if (other.canMove_ != null) {
        if (canMove_ == null) {
          CanMove = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanMove.MergeFrom(other.CanMove);
      }
      if (other.screensWalkSpeed_ != null) {
        if (screensWalkSpeed_ == null) {
          ScreensWalkSpeed = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        ScreensWalkSpeed.MergeFrom(other.ScreensWalkSpeed);
      }
      if (other.screensCanSprint_ != null) {
        if (screensCanSprint_ == null) {
          ScreensCanSprint = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        ScreensCanSprint.MergeFrom(other.ScreensCanSprint);
      }
      if (other.screensSprintMaxSpeedWalkSpeedMultiplier_ != null) {
        if (screensSprintMaxSpeedWalkSpeedMultiplier_ == null) {
          ScreensSprintMaxSpeedWalkSpeedMultiplier = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        ScreensSprintMaxSpeedWalkSpeedMultiplier.MergeFrom(other.ScreensSprintMaxSpeedWalkSpeedMultiplier);
      }
      if (other.screensCanJump_ != null) {
        if (screensCanJump_ == null) {
          ScreensCanJump = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        ScreensCanJump.MergeFrom(other.ScreensCanJump);
      }
      if (other.screensCanDodge_ != null) {
        if (screensCanDodge_ == null) {
          ScreensCanDodge = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        ScreensCanDodge.MergeFrom(other.ScreensCanDodge);
      }
      if (other.screensMaxJumpHeight_ != null) {
        if (screensMaxJumpHeight_ == null) {
          ScreensMaxJumpHeight = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        ScreensMaxJumpHeight.MergeFrom(other.ScreensMaxJumpHeight);
      }
      if (other.screensCanWallRun_ != null) {
        if (screensCanWallRun_ == null) {
          ScreensCanWallRun = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        ScreensCanWallRun.MergeFrom(other.ScreensCanWallRun);
      }
      if (other.screensCanGetPushed_ != null) {
        if (screensCanGetPushed_ == null) {
          ScreensCanGetPushed = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        ScreensCanGetPushed.MergeFrom(other.ScreensCanGetPushed);
      }
      if (other.screensCanRam_ != null) {
        if (screensCanRam_ == null) {
          ScreensCanRam = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        ScreensCanRam.MergeFrom(other.ScreensCanRam);
      }
      if (other.canAutoSprint_ != null) {
        if (canAutoSprint_ == null) {
          CanAutoSprint = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanAutoSprint.MergeFrom(other.CanAutoSprint);
      }
      if (other.airControlParameter_ != null) {
        if (airControlParameter_ == null) {
          AirControlParameter = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        AirControlParameter.MergeFrom(other.AirControlParameter);
      }
      if (other.canJumpCutoff_ != null) {
        if (canJumpCutoff_ == null) {
          CanJumpCutoff = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanJumpCutoff.MergeFrom(other.CanJumpCutoff);
      }
      if (other.canClamber_ != null) {
        if (canClamber_ == null) {
          CanClamber = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanClamber.MergeFrom(other.CanClamber);
      }
      if (other.wallRunDuration_ != null) {
        if (wallRunDuration_ == null) {
          WallRunDuration = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        WallRunDuration.MergeFrom(other.WallRunDuration);
      }
      if (other.wallRunDropRateParameter_ != null) {
        if (wallRunDropRateParameter_ == null) {
          WallRunDropRateParameter = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        WallRunDropRateParameter.MergeFrom(other.WallRunDropRateParameter);
      }
      if (other.wallRunStartSpeedBoost_ != null) {
        if (wallRunStartSpeedBoost_ == null) {
          WallRunStartSpeedBoost = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        WallRunStartSpeedBoost.MergeFrom(other.WallRunStartSpeedBoost);
      }
      if (other.wallRunJumpHeight_ != null) {
        if (wallRunJumpHeight_ == null) {
          WallRunJumpHeight = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        WallRunJumpHeight.MergeFrom(other.WallRunJumpHeight);
      }
      if (other.wallRunJumpDirectionParameter_ != null) {
        if (wallRunJumpDirectionParameter_ == null) {
          WallRunJumpDirectionParameter = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        WallRunJumpDirectionParameter.MergeFrom(other.WallRunJumpDirectionParameter);
      }
      if (other.wallRunJumpAirControlMultiplier_ != null) {
        if (wallRunJumpAirControlMultiplier_ == null) {
          WallRunJumpAirControlMultiplier = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        WallRunJumpAirControlMultiplier.MergeFrom(other.WallRunJumpAirControlMultiplier);
      }
      if (other.canSlide_ != null) {
        if (canSlide_ == null) {
          CanSlide = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanSlide.MergeFrom(other.CanSlide);
      }
      if (other.canSlideDownSlopes_ != null) {
        if (canSlideDownSlopes_ == null) {
          CanSlideDownSlopes = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanSlideDownSlopes.MergeFrom(other.CanSlideDownSlopes);
      }
      if (other.slideMinDuration_ != null) {
        if (slideMinDuration_ == null) {
          SlideMinDuration = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        SlideMinDuration.MergeFrom(other.SlideMinDuration);
      }
      if (other.slideSteeringParameter_ != null) {
        if (slideSteeringParameter_ == null) {
          SlideSteeringParameter = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        SlideSteeringParameter.MergeFrom(other.SlideSteeringParameter);
      }
      if (other.slideStartSpeedBoost_ != null) {
        if (slideStartSpeedBoost_ == null) {
          SlideStartSpeedBoost = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        SlideStartSpeedBoost.MergeFrom(other.SlideStartSpeedBoost);
      }
      if (other.slideAirControlMultiplier_ != null) {
        if (slideAirControlMultiplier_ == null) {
          SlideAirControlMultiplier = new global::RecRoom.Protobuf.OverridableFloatData();
        }
        SlideAirControlMultiplier.MergeFrom(other.SlideAirControlMultiplier);
      }
      if (other.canWallClimb_ != null) {
        if (canWallClimb_ == null) {
          CanWallClimb = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanWallClimb.MergeFrom(other.CanWallClimb);
      }
      if (other.canWallClimbWithoutMarkup_ != null) {
        if (canWallClimbWithoutMarkup_ == null) {
          CanWallClimbWithoutMarkup = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanWallClimbWithoutMarkup.MergeFrom(other.CanWallClimbWithoutMarkup);
      }
      if (other.canWallRunWithoutMarkup_ != null) {
        if (canWallRunWithoutMarkup_ == null) {
          CanWallRunWithoutMarkup = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanWallRunWithoutMarkup.MergeFrom(other.CanWallRunWithoutMarkup);
      }
      if (other.hidesAvatar_ != null) {
        if (hidesAvatar_ == null) {
          HidesAvatar = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        HidesAvatar.MergeFrom(other.HidesAvatar);
      }
      if (other.playerTags_ != null) {
        if (playerTags_ == null) {
          PlayerTags = new global::RecRoom.Protobuf.OverridableListStringData();
        }
        PlayerTags.MergeFrom(other.PlayerTags);
      }
      if (other.addPlayerTags_ != null) {
        if (addPlayerTags_ == null) {
          AddPlayerTags = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        AddPlayerTags.MergeFrom(other.AddPlayerTags);
      }
      if (other.removePlayerTags_ != null) {
        if (removePlayerTags_ == null) {
          RemovePlayerTags = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        RemovePlayerTags.MergeFrom(other.RemovePlayerTags);
      }
      if (other.creationRestrictionsApply_ != null) {
        if (creationRestrictionsApply_ == null) {
          CreationRestrictionsApply = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CreationRestrictionsApply.MergeFrom(other.CreationRestrictionsApply);
      }
      if (other.canUseMakerPen_ != null) {
        if (canUseMakerPen_ == null) {
          CanUseMakerPen = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanUseMakerPen.MergeFrom(other.CanUseMakerPen);
      }
      if (other.canSaveInventions_ != null) {
        if (canSaveInventions_ == null) {
          CanSaveInventions = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanSaveInventions.MergeFrom(other.CanSaveInventions);
      }
      if (other.canSpawnInventions_ != null) {
        if (canSpawnInventions_ == null) {
          CanSpawnInventions = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanSpawnInventions.MergeFrom(other.CanSpawnInventions);
      }
      if (other.canUseRoomResetButton_ != null) {
        if (canUseRoomResetButton_ == null) {
          CanUseRoomResetButton = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanUseRoomResetButton.MergeFrom(other.CanUseRoomResetButton);
      }
      if (other.canUseDeleteAllButton_ != null) {
        if (canUseDeleteAllButton_ == null) {
          CanUseDeleteAllButton = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanUseDeleteAllButton.MergeFrom(other.CanUseDeleteAllButton);
      }
      if (other.canCreateRoleAssignmentChips_ != null) {
        if (canCreateRoleAssignmentChips_ == null) {
          CanCreateRoleAssignmentChips = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanCreateRoleAssignmentChips.MergeFrom(other.CanCreateRoleAssignmentChips);
      }
      if (other.canUsePlayGizmosToggle_ != null) {
        if (canUsePlayGizmosToggle_ == null) {
          CanUsePlayGizmosToggle = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanUsePlayGizmosToggle.MergeFrom(other.CanUsePlayGizmosToggle);
      }
      if (other.canEditCircuits_ != null) {
        if (canEditCircuits_ == null) {
          CanEditCircuits = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        CanEditCircuits.MergeFrom(other.CanEditCircuits);
      }
      if (other.screensDefaultFirstPersonControlType_ != null) {
        if (screensDefaultFirstPersonControlType_ == null) {
          ScreensDefaultFirstPersonControlType = new global::RecRoom.Protobuf.OverridableIntData();
        }
        ScreensDefaultFirstPersonControlType.MergeFrom(other.ScreensDefaultFirstPersonControlType);
      }
      if (other.screensDefaultThirdPersonControlType_ != null) {
        if (screensDefaultThirdPersonControlType_ == null) {
          ScreensDefaultThirdPersonControlType = new global::RecRoom.Protobuf.OverridableIntData();
        }
        ScreensDefaultThirdPersonControlType.MergeFrom(other.ScreensDefaultThirdPersonControlType);
      }
      if (other.enableEquipSlotHip_ != null) {
        if (enableEquipSlotHip_ == null) {
          EnableEquipSlotHip = new global::RecRoom.Protobuf.OverridableIntData();
        }
        EnableEquipSlotHip.MergeFrom(other.EnableEquipSlotHip);
      }
      if (other.equipRestrictionsHip_ != null) {
        if (equipRestrictionsHip_ == null) {
          EquipRestrictionsHip = new global::RecRoom.Protobuf.OverridableIntData();
        }
        EquipRestrictionsHip.MergeFrom(other.EquipRestrictionsHip);
      }
      if (other.equipHipAllowlist_ != null) {
        if (equipHipAllowlist_ == null) {
          EquipHipAllowlist = new global::RecRoom.Protobuf.OverridableListStringData();
        }
        EquipHipAllowlist.MergeFrom(other.EquipHipAllowlist);
      }
      if (other.equipHipBlocklist_ != null) {
        if (equipHipBlocklist_ == null) {
          EquipHipBlocklist = new global::RecRoom.Protobuf.OverridableListStringData();
        }
        EquipHipBlocklist.MergeFrom(other.EquipHipBlocklist);
      }
      if (other.enableEquipSlotShoulder_ != null) {
        if (enableEquipSlotShoulder_ == null) {
          EnableEquipSlotShoulder = new global::RecRoom.Protobuf.OverridableBoolData();
        }
        EnableEquipSlotShoulder.MergeFrom(other.EnableEquipSlotShoulder);
      }
      if (other.equipRestrictionsShoulder_ != null) {
        if (equipRestrictionsShoulder_ == null) {
          EquipRestrictionsShoulder = new global::RecRoom.Protobuf.OverridableIntData();
        }
        EquipRestrictionsShoulder.MergeFrom(other.EquipRestrictionsShoulder);
      }
      if (other.equipShoulderAllowlist_ != null) {
        if (equipShoulderAllowlist_ == null) {
          EquipShoulderAllowlist = new global::RecRoom.Protobuf.OverridableListStringData();
        }
        EquipShoulderAllowlist.MergeFrom(other.EquipShoulderAllowlist);
      }
      if (other.equipShoulderBlocklist_ != null) {
        if (equipShoulderBlocklist_ == null) {
          EquipShoulderBlocklist = new global::RecRoom.Protobuf.OverridableListStringData();
        }
        EquipShoulderBlocklist.MergeFrom(other.EquipShoulderBlocklist);
      }
      if (other.RoleGuid.Length != 0) {
        RoleGuid = other.RoleGuid;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RoleId = input.ReadInt32();
            break;
          }
          case 16: {
            RoleRank = input.ReadInt32();
            break;
          }
          case 24: {
            IsRoleActive = input.ReadBool();
            break;
          }
          case 32: {
            IsAgRole = input.ReadBool();
            break;
          }
          case 42: {
            RoleName = input.ReadString();
            break;
          }
          case 50: {
            if (name_ == null) {
              Name = new global::RecRoom.Protobuf.OverridableStringData();
            }
            input.ReadMessage(Name);
            break;
          }
          case 58: {
            if (teleportMode_ == null) {
              TeleportMode = new global::RecRoom.Protobuf.OverridableIntData();
            }
            input.ReadMessage(TeleportMode);
            break;
          }
          case 66: {
            if (teleportDelay_ == null) {
              TeleportDelay = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(TeleportDelay);
            break;
          }
          case 74: {
            if (teleportSpeed_ == null) {
              TeleportSpeed = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(TeleportSpeed);
            break;
          }
          case 82: {
            if (canWalk_ == null) {
              CanWalk = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanWalk);
            break;
          }
          case 90: {
            if (vrWalkSpeed_ == null) {
              VrWalkSpeed = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(VrWalkSpeed);
            break;
          }
          case 98: {
            if (vrCanSprint_ == null) {
              VrCanSprint = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(VrCanSprint);
            break;
          }
          case 106: {
            if (vrSprintMaxSpeedWalkSpeedMultiplier_ == null) {
              VrSprintMaxSpeedWalkSpeedMultiplier = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(VrSprintMaxSpeedWalkSpeedMultiplier);
            break;
          }
          case 114: {
            if (canFly_ == null) {
              CanFly = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanFly);
            break;
          }
          case 122: {
            if (isInvincible_ == null) {
              IsInvincible = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(IsInvincible);
            break;
          }
          case 130: {
            if (outgoingDamageMultiplier_ == null) {
              OutgoingDamageMultiplier = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(OutgoingDamageMultiplier);
            break;
          }
          case 138: {
            if (itemPickupRestrictions_ == null) {
              ItemPickupRestrictions = new global::RecRoom.Protobuf.OverridableIntData();
            }
            input.ReadMessage(ItemPickupRestrictions);
            break;
          }
          case 146: {
            if (itemPickupAllowlist_ == null) {
              ItemPickupAllowlist = new global::RecRoom.Protobuf.OverridableListStringData();
            }
            input.ReadMessage(ItemPickupAllowlist);
            break;
          }
          case 154: {
            if (itemPickupBlocklist_ == null) {
              ItemPickupBlocklist = new global::RecRoom.Protobuf.OverridableListStringData();
            }
            input.ReadMessage(ItemPickupBlocklist);
            break;
          }
          case 162: {
            if (canTalk_ == null) {
              CanTalk = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanTalk);
            break;
          }
          case 170: {
            if (canSwitchTeams_ == null) {
              CanSwitchTeams = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanSwitchTeams);
            break;
          }
          case 178: {
            if (maxTeleportDistance_ == null) {
              MaxTeleportDistance = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(MaxTeleportDistance);
            break;
          }
          case 186: {
            if (maxTeleportDropHeight_ == null) {
              MaxTeleportDropHeight = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(MaxTeleportDropHeight);
            break;
          }
          case 194: {
            if (maxTeleportAngle_ == null) {
              MaxTeleportAngle = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(MaxTeleportAngle);
            break;
          }
          case 200: {
            IsModifiedByPlayer = input.ReadBool();
            break;
          }
          case 210: {
            if (voiceRolloffMaxDistance_ == null) {
              VoiceRolloffMaxDistance = new global::RecRoom.Protobuf.OverridableIntData();
            }
            input.ReadMessage(VoiceRolloffMaxDistance);
            break;
          }
          case 216: {
            RoleVersion = input.ReadInt32();
            break;
          }
          case 226: {
            if (forceWalkAllowed_ == null) {
              ForceWalkAllowed = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(ForceWalkAllowed);
            break;
          }
          case 234: {
            if (experimentalWalkEnabled_ == null) {
              ExperimentalWalkEnabled = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(ExperimentalWalkEnabled);
            break;
          }
          case 242: {
            if (hidesName_ == null) {
              HidesName = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(HidesName);
            break;
          }
          case 250: {
            if (canMove_ == null) {
              CanMove = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanMove);
            break;
          }
          case 258: {
            if (screensWalkSpeed_ == null) {
              ScreensWalkSpeed = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(ScreensWalkSpeed);
            break;
          }
          case 266: {
            if (screensCanSprint_ == null) {
              ScreensCanSprint = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(ScreensCanSprint);
            break;
          }
          case 274: {
            if (screensSprintMaxSpeedWalkSpeedMultiplier_ == null) {
              ScreensSprintMaxSpeedWalkSpeedMultiplier = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(ScreensSprintMaxSpeedWalkSpeedMultiplier);
            break;
          }
          case 290: {
            if (vrCanJump_ == null) {
              VrCanJump = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(VrCanJump);
            break;
          }
          case 298: {
            if (vrCanDodge_ == null) {
              VrCanDodge = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(VrCanDodge);
            break;
          }
          case 306: {
            if (screensCanJump_ == null) {
              ScreensCanJump = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(ScreensCanJump);
            break;
          }
          case 314: {
            if (screensCanDodge_ == null) {
              ScreensCanDodge = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(ScreensCanDodge);
            break;
          }
          case 322: {
            if (screensDefaultThirdPersonControlType_ == null) {
              ScreensDefaultThirdPersonControlType = new global::RecRoom.Protobuf.OverridableIntData();
            }
            input.ReadMessage(ScreensDefaultThirdPersonControlType);
            break;
          }
          case 330: {
            if (enableEquipSlotHip_ == null) {
              EnableEquipSlotHip = new global::RecRoom.Protobuf.OverridableIntData();
            }
            input.ReadMessage(EnableEquipSlotHip);
            break;
          }
          case 338: {
            if (equipRestrictionsHip_ == null) {
              EquipRestrictionsHip = new global::RecRoom.Protobuf.OverridableIntData();
            }
            input.ReadMessage(EquipRestrictionsHip);
            break;
          }
          case 346: {
            if (equipHipAllowlist_ == null) {
              EquipHipAllowlist = new global::RecRoom.Protobuf.OverridableListStringData();
            }
            input.ReadMessage(EquipHipAllowlist);
            break;
          }
          case 354: {
            if (equipHipBlocklist_ == null) {
              EquipHipBlocklist = new global::RecRoom.Protobuf.OverridableListStringData();
            }
            input.ReadMessage(EquipHipBlocklist);
            break;
          }
          case 362: {
            if (enableEquipSlotShoulder_ == null) {
              EnableEquipSlotShoulder = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(EnableEquipSlotShoulder);
            break;
          }
          case 370: {
            if (equipRestrictionsShoulder_ == null) {
              EquipRestrictionsShoulder = new global::RecRoom.Protobuf.OverridableIntData();
            }
            input.ReadMessage(EquipRestrictionsShoulder);
            break;
          }
          case 378: {
            if (equipShoulderAllowlist_ == null) {
              EquipShoulderAllowlist = new global::RecRoom.Protobuf.OverridableListStringData();
            }
            input.ReadMessage(EquipShoulderAllowlist);
            break;
          }
          case 386: {
            if (equipShoulderBlocklist_ == null) {
              EquipShoulderBlocklist = new global::RecRoom.Protobuf.OverridableListStringData();
            }
            input.ReadMessage(EquipShoulderBlocklist);
            break;
          }
          case 394: {
            RoleGuid = input.ReadString();
            break;
          }
          case 402: {
            if (screensDefaultFirstPersonControlType_ == null) {
              ScreensDefaultFirstPersonControlType = new global::RecRoom.Protobuf.OverridableIntData();
            }
            input.ReadMessage(ScreensDefaultFirstPersonControlType);
            break;
          }
          case 410: {
            if (vrMaxJumpHeight_ == null) {
              VrMaxJumpHeight = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(VrMaxJumpHeight);
            break;
          }
          case 418: {
            if (screensMaxJumpHeight_ == null) {
              ScreensMaxJumpHeight = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(ScreensMaxJumpHeight);
            break;
          }
          case 498: {
            if (vrCanWallRun_ == null) {
              VrCanWallRun = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(VrCanWallRun);
            break;
          }
          case 506: {
            if (screensCanWallRun_ == null) {
              ScreensCanWallRun = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(ScreensCanWallRun);
            break;
          }
          case 514: {
            if (vrCanGetPushed_ == null) {
              VrCanGetPushed = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(VrCanGetPushed);
            break;
          }
          case 522: {
            if (screensCanGetPushed_ == null) {
              ScreensCanGetPushed = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(ScreensCanGetPushed);
            break;
          }
          case 530: {
            if (vrCanRam_ == null) {
              VrCanRam = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(VrCanRam);
            break;
          }
          case 538: {
            if (screensCanRam_ == null) {
              ScreensCanRam = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(ScreensCanRam);
            break;
          }
          case 562: {
            if (canAutoSprint_ == null) {
              CanAutoSprint = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanAutoSprint);
            break;
          }
          case 570: {
            if (airControlParameter_ == null) {
              AirControlParameter = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(AirControlParameter);
            break;
          }
          case 578: {
            if (canJumpCutoff_ == null) {
              CanJumpCutoff = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanJumpCutoff);
            break;
          }
          case 586: {
            if (canClamber_ == null) {
              CanClamber = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanClamber);
            break;
          }
          case 594: {
            if (wallRunDuration_ == null) {
              WallRunDuration = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(WallRunDuration);
            break;
          }
          case 602: {
            if (wallRunDropRateParameter_ == null) {
              WallRunDropRateParameter = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(WallRunDropRateParameter);
            break;
          }
          case 610: {
            if (wallRunStartSpeedBoost_ == null) {
              WallRunStartSpeedBoost = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(WallRunStartSpeedBoost);
            break;
          }
          case 618: {
            if (wallRunJumpHeight_ == null) {
              WallRunJumpHeight = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(WallRunJumpHeight);
            break;
          }
          case 626: {
            if (wallRunJumpDirectionParameter_ == null) {
              WallRunJumpDirectionParameter = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(WallRunJumpDirectionParameter);
            break;
          }
          case 634: {
            if (wallRunJumpAirControlMultiplier_ == null) {
              WallRunJumpAirControlMultiplier = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(WallRunJumpAirControlMultiplier);
            break;
          }
          case 642: {
            if (canSlide_ == null) {
              CanSlide = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanSlide);
            break;
          }
          case 650: {
            if (canSlideDownSlopes_ == null) {
              CanSlideDownSlopes = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanSlideDownSlopes);
            break;
          }
          case 658: {
            if (slideMinDuration_ == null) {
              SlideMinDuration = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(SlideMinDuration);
            break;
          }
          case 666: {
            if (slideSteeringParameter_ == null) {
              SlideSteeringParameter = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(SlideSteeringParameter);
            break;
          }
          case 674: {
            if (slideStartSpeedBoost_ == null) {
              SlideStartSpeedBoost = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(SlideStartSpeedBoost);
            break;
          }
          case 682: {
            if (slideAirControlMultiplier_ == null) {
              SlideAirControlMultiplier = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(SlideAirControlMultiplier);
            break;
          }
          case 690: {
            if (canWallClimb_ == null) {
              CanWallClimb = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanWallClimb);
            break;
          }
          case 698: {
            if (canWallClimbWithoutMarkup_ == null) {
              CanWallClimbWithoutMarkup = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanWallClimbWithoutMarkup);
            break;
          }
          case 706: {
            if (canWallRunWithoutMarkup_ == null) {
              CanWallRunWithoutMarkup = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanWallRunWithoutMarkup);
            break;
          }
          case 714: {
            if (hidesAvatar_ == null) {
              HidesAvatar = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(HidesAvatar);
            break;
          }
          case 722: {
            if (playerTags_ == null) {
              PlayerTags = new global::RecRoom.Protobuf.OverridableListStringData();
            }
            input.ReadMessage(PlayerTags);
            break;
          }
          case 730: {
            if (addPlayerTags_ == null) {
              AddPlayerTags = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(AddPlayerTags);
            break;
          }
          case 738: {
            if (removePlayerTags_ == null) {
              RemovePlayerTags = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(RemovePlayerTags);
            break;
          }
          case 746: {
            if (creationRestrictionsApply_ == null) {
              CreationRestrictionsApply = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CreationRestrictionsApply);
            break;
          }
          case 754: {
            if (canUseMakerPen_ == null) {
              CanUseMakerPen = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanUseMakerPen);
            break;
          }
          case 762: {
            if (canSaveInventions_ == null) {
              CanSaveInventions = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanSaveInventions);
            break;
          }
          case 770: {
            if (canSpawnInventions_ == null) {
              CanSpawnInventions = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanSpawnInventions);
            break;
          }
          case 778: {
            if (canUseRoomResetButton_ == null) {
              CanUseRoomResetButton = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanUseRoomResetButton);
            break;
          }
          case 786: {
            if (canUseDeleteAllButton_ == null) {
              CanUseDeleteAllButton = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanUseDeleteAllButton);
            break;
          }
          case 794: {
            if (canCreateRoleAssignmentChips_ == null) {
              CanCreateRoleAssignmentChips = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanCreateRoleAssignmentChips);
            break;
          }
          case 802: {
            if (canUsePlayGizmosToggle_ == null) {
              CanUsePlayGizmosToggle = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanUsePlayGizmosToggle);
            break;
          }
          case 810: {
            if (canEditCircuits_ == null) {
              CanEditCircuits = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanEditCircuits);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RoleId = input.ReadInt32();
            break;
          }
          case 16: {
            RoleRank = input.ReadInt32();
            break;
          }
          case 24: {
            IsRoleActive = input.ReadBool();
            break;
          }
          case 32: {
            IsAgRole = input.ReadBool();
            break;
          }
          case 42: {
            RoleName = input.ReadString();
            break;
          }
          case 50: {
            if (name_ == null) {
              Name = new global::RecRoom.Protobuf.OverridableStringData();
            }
            input.ReadMessage(Name);
            break;
          }
          case 58: {
            if (teleportMode_ == null) {
              TeleportMode = new global::RecRoom.Protobuf.OverridableIntData();
            }
            input.ReadMessage(TeleportMode);
            break;
          }
          case 66: {
            if (teleportDelay_ == null) {
              TeleportDelay = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(TeleportDelay);
            break;
          }
          case 74: {
            if (teleportSpeed_ == null) {
              TeleportSpeed = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(TeleportSpeed);
            break;
          }
          case 82: {
            if (canWalk_ == null) {
              CanWalk = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanWalk);
            break;
          }
          case 90: {
            if (vrWalkSpeed_ == null) {
              VrWalkSpeed = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(VrWalkSpeed);
            break;
          }
          case 98: {
            if (vrCanSprint_ == null) {
              VrCanSprint = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(VrCanSprint);
            break;
          }
          case 106: {
            if (vrSprintMaxSpeedWalkSpeedMultiplier_ == null) {
              VrSprintMaxSpeedWalkSpeedMultiplier = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(VrSprintMaxSpeedWalkSpeedMultiplier);
            break;
          }
          case 114: {
            if (canFly_ == null) {
              CanFly = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanFly);
            break;
          }
          case 122: {
            if (isInvincible_ == null) {
              IsInvincible = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(IsInvincible);
            break;
          }
          case 130: {
            if (outgoingDamageMultiplier_ == null) {
              OutgoingDamageMultiplier = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(OutgoingDamageMultiplier);
            break;
          }
          case 138: {
            if (itemPickupRestrictions_ == null) {
              ItemPickupRestrictions = new global::RecRoom.Protobuf.OverridableIntData();
            }
            input.ReadMessage(ItemPickupRestrictions);
            break;
          }
          case 146: {
            if (itemPickupAllowlist_ == null) {
              ItemPickupAllowlist = new global::RecRoom.Protobuf.OverridableListStringData();
            }
            input.ReadMessage(ItemPickupAllowlist);
            break;
          }
          case 154: {
            if (itemPickupBlocklist_ == null) {
              ItemPickupBlocklist = new global::RecRoom.Protobuf.OverridableListStringData();
            }
            input.ReadMessage(ItemPickupBlocklist);
            break;
          }
          case 162: {
            if (canTalk_ == null) {
              CanTalk = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanTalk);
            break;
          }
          case 170: {
            if (canSwitchTeams_ == null) {
              CanSwitchTeams = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanSwitchTeams);
            break;
          }
          case 178: {
            if (maxTeleportDistance_ == null) {
              MaxTeleportDistance = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(MaxTeleportDistance);
            break;
          }
          case 186: {
            if (maxTeleportDropHeight_ == null) {
              MaxTeleportDropHeight = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(MaxTeleportDropHeight);
            break;
          }
          case 194: {
            if (maxTeleportAngle_ == null) {
              MaxTeleportAngle = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(MaxTeleportAngle);
            break;
          }
          case 200: {
            IsModifiedByPlayer = input.ReadBool();
            break;
          }
          case 210: {
            if (voiceRolloffMaxDistance_ == null) {
              VoiceRolloffMaxDistance = new global::RecRoom.Protobuf.OverridableIntData();
            }
            input.ReadMessage(VoiceRolloffMaxDistance);
            break;
          }
          case 216: {
            RoleVersion = input.ReadInt32();
            break;
          }
          case 226: {
            if (forceWalkAllowed_ == null) {
              ForceWalkAllowed = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(ForceWalkAllowed);
            break;
          }
          case 234: {
            if (experimentalWalkEnabled_ == null) {
              ExperimentalWalkEnabled = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(ExperimentalWalkEnabled);
            break;
          }
          case 242: {
            if (hidesName_ == null) {
              HidesName = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(HidesName);
            break;
          }
          case 250: {
            if (canMove_ == null) {
              CanMove = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanMove);
            break;
          }
          case 258: {
            if (screensWalkSpeed_ == null) {
              ScreensWalkSpeed = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(ScreensWalkSpeed);
            break;
          }
          case 266: {
            if (screensCanSprint_ == null) {
              ScreensCanSprint = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(ScreensCanSprint);
            break;
          }
          case 274: {
            if (screensSprintMaxSpeedWalkSpeedMultiplier_ == null) {
              ScreensSprintMaxSpeedWalkSpeedMultiplier = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(ScreensSprintMaxSpeedWalkSpeedMultiplier);
            break;
          }
          case 290: {
            if (vrCanJump_ == null) {
              VrCanJump = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(VrCanJump);
            break;
          }
          case 298: {
            if (vrCanDodge_ == null) {
              VrCanDodge = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(VrCanDodge);
            break;
          }
          case 306: {
            if (screensCanJump_ == null) {
              ScreensCanJump = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(ScreensCanJump);
            break;
          }
          case 314: {
            if (screensCanDodge_ == null) {
              ScreensCanDodge = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(ScreensCanDodge);
            break;
          }
          case 322: {
            if (screensDefaultThirdPersonControlType_ == null) {
              ScreensDefaultThirdPersonControlType = new global::RecRoom.Protobuf.OverridableIntData();
            }
            input.ReadMessage(ScreensDefaultThirdPersonControlType);
            break;
          }
          case 330: {
            if (enableEquipSlotHip_ == null) {
              EnableEquipSlotHip = new global::RecRoom.Protobuf.OverridableIntData();
            }
            input.ReadMessage(EnableEquipSlotHip);
            break;
          }
          case 338: {
            if (equipRestrictionsHip_ == null) {
              EquipRestrictionsHip = new global::RecRoom.Protobuf.OverridableIntData();
            }
            input.ReadMessage(EquipRestrictionsHip);
            break;
          }
          case 346: {
            if (equipHipAllowlist_ == null) {
              EquipHipAllowlist = new global::RecRoom.Protobuf.OverridableListStringData();
            }
            input.ReadMessage(EquipHipAllowlist);
            break;
          }
          case 354: {
            if (equipHipBlocklist_ == null) {
              EquipHipBlocklist = new global::RecRoom.Protobuf.OverridableListStringData();
            }
            input.ReadMessage(EquipHipBlocklist);
            break;
          }
          case 362: {
            if (enableEquipSlotShoulder_ == null) {
              EnableEquipSlotShoulder = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(EnableEquipSlotShoulder);
            break;
          }
          case 370: {
            if (equipRestrictionsShoulder_ == null) {
              EquipRestrictionsShoulder = new global::RecRoom.Protobuf.OverridableIntData();
            }
            input.ReadMessage(EquipRestrictionsShoulder);
            break;
          }
          case 378: {
            if (equipShoulderAllowlist_ == null) {
              EquipShoulderAllowlist = new global::RecRoom.Protobuf.OverridableListStringData();
            }
            input.ReadMessage(EquipShoulderAllowlist);
            break;
          }
          case 386: {
            if (equipShoulderBlocklist_ == null) {
              EquipShoulderBlocklist = new global::RecRoom.Protobuf.OverridableListStringData();
            }
            input.ReadMessage(EquipShoulderBlocklist);
            break;
          }
          case 394: {
            RoleGuid = input.ReadString();
            break;
          }
          case 402: {
            if (screensDefaultFirstPersonControlType_ == null) {
              ScreensDefaultFirstPersonControlType = new global::RecRoom.Protobuf.OverridableIntData();
            }
            input.ReadMessage(ScreensDefaultFirstPersonControlType);
            break;
          }
          case 410: {
            if (vrMaxJumpHeight_ == null) {
              VrMaxJumpHeight = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(VrMaxJumpHeight);
            break;
          }
          case 418: {
            if (screensMaxJumpHeight_ == null) {
              ScreensMaxJumpHeight = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(ScreensMaxJumpHeight);
            break;
          }
          case 498: {
            if (vrCanWallRun_ == null) {
              VrCanWallRun = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(VrCanWallRun);
            break;
          }
          case 506: {
            if (screensCanWallRun_ == null) {
              ScreensCanWallRun = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(ScreensCanWallRun);
            break;
          }
          case 514: {
            if (vrCanGetPushed_ == null) {
              VrCanGetPushed = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(VrCanGetPushed);
            break;
          }
          case 522: {
            if (screensCanGetPushed_ == null) {
              ScreensCanGetPushed = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(ScreensCanGetPushed);
            break;
          }
          case 530: {
            if (vrCanRam_ == null) {
              VrCanRam = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(VrCanRam);
            break;
          }
          case 538: {
            if (screensCanRam_ == null) {
              ScreensCanRam = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(ScreensCanRam);
            break;
          }
          case 562: {
            if (canAutoSprint_ == null) {
              CanAutoSprint = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanAutoSprint);
            break;
          }
          case 570: {
            if (airControlParameter_ == null) {
              AirControlParameter = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(AirControlParameter);
            break;
          }
          case 578: {
            if (canJumpCutoff_ == null) {
              CanJumpCutoff = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanJumpCutoff);
            break;
          }
          case 586: {
            if (canClamber_ == null) {
              CanClamber = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanClamber);
            break;
          }
          case 594: {
            if (wallRunDuration_ == null) {
              WallRunDuration = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(WallRunDuration);
            break;
          }
          case 602: {
            if (wallRunDropRateParameter_ == null) {
              WallRunDropRateParameter = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(WallRunDropRateParameter);
            break;
          }
          case 610: {
            if (wallRunStartSpeedBoost_ == null) {
              WallRunStartSpeedBoost = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(WallRunStartSpeedBoost);
            break;
          }
          case 618: {
            if (wallRunJumpHeight_ == null) {
              WallRunJumpHeight = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(WallRunJumpHeight);
            break;
          }
          case 626: {
            if (wallRunJumpDirectionParameter_ == null) {
              WallRunJumpDirectionParameter = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(WallRunJumpDirectionParameter);
            break;
          }
          case 634: {
            if (wallRunJumpAirControlMultiplier_ == null) {
              WallRunJumpAirControlMultiplier = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(WallRunJumpAirControlMultiplier);
            break;
          }
          case 642: {
            if (canSlide_ == null) {
              CanSlide = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanSlide);
            break;
          }
          case 650: {
            if (canSlideDownSlopes_ == null) {
              CanSlideDownSlopes = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanSlideDownSlopes);
            break;
          }
          case 658: {
            if (slideMinDuration_ == null) {
              SlideMinDuration = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(SlideMinDuration);
            break;
          }
          case 666: {
            if (slideSteeringParameter_ == null) {
              SlideSteeringParameter = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(SlideSteeringParameter);
            break;
          }
          case 674: {
            if (slideStartSpeedBoost_ == null) {
              SlideStartSpeedBoost = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(SlideStartSpeedBoost);
            break;
          }
          case 682: {
            if (slideAirControlMultiplier_ == null) {
              SlideAirControlMultiplier = new global::RecRoom.Protobuf.OverridableFloatData();
            }
            input.ReadMessage(SlideAirControlMultiplier);
            break;
          }
          case 690: {
            if (canWallClimb_ == null) {
              CanWallClimb = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanWallClimb);
            break;
          }
          case 698: {
            if (canWallClimbWithoutMarkup_ == null) {
              CanWallClimbWithoutMarkup = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanWallClimbWithoutMarkup);
            break;
          }
          case 706: {
            if (canWallRunWithoutMarkup_ == null) {
              CanWallRunWithoutMarkup = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanWallRunWithoutMarkup);
            break;
          }
          case 714: {
            if (hidesAvatar_ == null) {
              HidesAvatar = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(HidesAvatar);
            break;
          }
          case 722: {
            if (playerTags_ == null) {
              PlayerTags = new global::RecRoom.Protobuf.OverridableListStringData();
            }
            input.ReadMessage(PlayerTags);
            break;
          }
          case 730: {
            if (addPlayerTags_ == null) {
              AddPlayerTags = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(AddPlayerTags);
            break;
          }
          case 738: {
            if (removePlayerTags_ == null) {
              RemovePlayerTags = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(RemovePlayerTags);
            break;
          }
          case 746: {
            if (creationRestrictionsApply_ == null) {
              CreationRestrictionsApply = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CreationRestrictionsApply);
            break;
          }
          case 754: {
            if (canUseMakerPen_ == null) {
              CanUseMakerPen = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanUseMakerPen);
            break;
          }
          case 762: {
            if (canSaveInventions_ == null) {
              CanSaveInventions = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanSaveInventions);
            break;
          }
          case 770: {
            if (canSpawnInventions_ == null) {
              CanSpawnInventions = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanSpawnInventions);
            break;
          }
          case 778: {
            if (canUseRoomResetButton_ == null) {
              CanUseRoomResetButton = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanUseRoomResetButton);
            break;
          }
          case 786: {
            if (canUseDeleteAllButton_ == null) {
              CanUseDeleteAllButton = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanUseDeleteAllButton);
            break;
          }
          case 794: {
            if (canCreateRoleAssignmentChips_ == null) {
              CanCreateRoleAssignmentChips = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanCreateRoleAssignmentChips);
            break;
          }
          case 802: {
            if (canUsePlayGizmosToggle_ == null) {
              CanUsePlayGizmosToggle = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanUsePlayGizmosToggle);
            break;
          }
          case 810: {
            if (canEditCircuits_ == null) {
              CanEditCircuits = new global::RecRoom.Protobuf.OverridableBoolData();
            }
            input.ReadMessage(CanEditCircuits);
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code
