// <auto-generated>
//     Generated by the protocol buffer compiler.  DO NOT EDIT!
//     source: rec_room/persistence/persistence_view_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/persistence/persistence_view_data.proto</summary>
  public static partial class PersistenceViewDataReflection {

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

    static PersistenceViewDataReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "CjByZWNfcm9vbS9wZXJzaXN0ZW5jZS9wZXJzaXN0ZW5jZV92aWV3X2RhdGEu",
            "cHJvdG8SCHJlY19yb29tGhRjb3JlL2d1aWRfZGF0YS5wcm90bxoXY29yZS92",
            "ZWN0b3IzX2RhdGEucHJvdG8aJGNpcmN1aXRzX3YyL2NpcmN1aXRfZ3JhcGhf",
            "ZGF0YS5wcm90bxosY2lyY3VpdHNfdjIvY2lyY3VpdF90ZW1wbGF0ZV9yb290",
            "X2RhdGEucHJvdG8aHWNpcmN1aXRzX3YyL3Jld2FyZF9kYXRhLnByb3RvGh1y",
            "ZWNfcm9vbS90cmFuc2Zvcm1fZGF0YS5wcm90bxo5cmVjX3Jvb20vZ2FtZV9j",
            "b25maWd1cmF0aW9uL2dhbWVfY29uZmlndXJhdGlvbl9kYXRhLnByb3RvGjhy",
            "ZWNfcm9vbS9nYW1lX2NvbmZpZ3VyYXRpb24vZ2FtZV9ydWxlX3dyYXBwZXJf",
            "ZGF0YS5wcm90bxpJcmVjX3Jvb20vcGVyc2lzdGVuY2UvZGVwcmVjYXRlZC9E",
            "RVBSRUNBVEVEX3Jvb21fcGVyc2lzdGVuY2VfdmVyc2lvbi5wcm90bxo6cmVj",
            "X3Jvb20vcGVyc2lzdGVuY2UvZGVwcmVjYXRlZC9ERVBSRUNBVEVEX3Rvb2xf",
            "ZGF0YS5wcm90bxoicmVjX3Jvb20vcGVyc2lzdGVuY2UvYWlfZGF0YS5wcm90",
            "bxovcmVjX3Jvb20vcGVyc2lzdGVuY2UvYXJlYV9jb250cm9sbGVyX2RhdGEu",
            "cHJvdG8aMXJlY19yb29tL3BlcnNpc3RlbmNlL2F1ZGlvX2VmZmVjdF96b25l",
            "X2RhdGEucHJvdG8aLXJlY19yb29tL3BlcnNpc3RlbmNlL2F1ZGlvX3NhbXBs",
            "ZXJfZGF0YS5wcm90bxolcmVjX3Jvb20vcGVyc2lzdGVuY2UvdHJhaWxfZGF0",
            "YS5wcm90bxohcmVjX3Jvb20vcGVyc2lzdGVuY2UvYmVhY29uLnByb3RvGipy",
            "ZWNfcm9vbS9wZXJzaXN0ZW5jZS9ib3VuY2VfcGFkX2RhdGEucHJvdG8aMHJl",
            "Y19yb29tL3BlcnNpc3RlbmNlL2JyZWFrYWJsZV9vYmplY3RfZGF0YS5wcm90",
            "bxomcmVjX3Jvb20vcGVyc2lzdGVuY2UvYnV0dG9uX2RhdGEucHJvdG8aKnJl",
            "Y19yb29tL3BlcnNpc3RlbmNlL2NoZWNrcG9pbnRfZGF0YS5wcm90bxoscmVj",
            "X3Jvb20vcGVyc2lzdGVuY2UvY2lyY3VpdF9ub2RlX2RhdGEucHJvdG8aP3Jl",
            "Y19yb29tL3BlcnNpc3RlbmNlL2NvbmZpZ3VyYWJsZV9jaXJjdWl0X3Zpc2li",
            "aWxpdHlfZGF0YS5wcm90bxo9cmVjX3Jvb20vcGVyc2lzdGVuY2UvY29uZmln",
            "dXJhYmxlX3BoeXNpY3Nfc2V0dGluZ3NfZGF0YS5wcm90bxo1cmVjX3Jvb20v",
            "cGVyc2lzdGVuY2UvY29uZmlndXJhYmxlX3NlbGVjdG9yX2RhdGEucHJvdG8a",
            "MHJlY19yb29tL3BlcnNpc3RlbmNlL2Nvbm5lY3RhYmxlX25vZGVfZGF0YS5w",
            "cm90bxo8cmVjX3Jvb20vcGVyc2lzdGVuY2UvY29udHJvbF9wYW5lbF9jaXJj",
            "dWl0X29iamVjdF9kYXRhLnByb3RvGidyZWNfcm9vbS9wZXJzaXN0ZW5jZS9j",
            "b3N0dW1lX2RhdGEucHJvdG8aL3JlY19yb29tL3BlcnNpc3RlbmNlL2NyZWF0",
            "aW9uX29iamVjdF9kYXRhLnByb3RvGi9yZWNfcm9vbS9wZXJzaXN0ZW5jZS9k",
            "cmF3aW5nX3N1cmZhY2VfZGF0YS5wcm90bxotcmVjX3Jvb20vcGVyc2lzdGVu",
            "Y2UvZHluYW1pY19saWdodF9kYXRhLnByb3RvGjFyZWNfcm9vbS9wZXJzaXN0",
            "ZW5jZS9leHBsb3Npb25fZW1pdHRlcl9kYXRhLnByb3RvGjByZWNfcm9vbS9w",
            "ZXJzaXN0ZW5jZS9mcmVlX2dpZnRfYnV0dG9uX2RhdGEucHJvdG8aNXJlY19y",
            "b29tL3BlcnNpc3RlbmNlL2Z1bGxfYm9keV9wdXBwZXRfdG9vbF9kYXRhLnBy",
            "b3RvGilyZWNfcm9vbS9wZXJzaXN0ZW5jZS9tYW5uZXF1aW5fZGF0YS5wcm90",
            "bxoncmVjX3Jvb20vcGVyc2lzdGVuY2UvZ2FtZV9haV9kYXRhLnByb3RvGi5y",
            "ZWNfcm9vbS9wZXJzaXN0ZW5jZS9nYW1lX3JvbGVfbm9kZV9kYXRhLnByb3Rv",
            "GipyZWNfcm9vbS9wZXJzaXN0ZW5jZS9nbGFzc19wYW5lX2RhdGEucHJvdG8a",
            "J3JlY19yb29tL3BlcnNpc3RlbmNlL2dyYWJiZXJfZGF0YS5wcm90bxotcmVj",
            "X3Jvb20vcGVyc2lzdGVuY2UvaGVhbHRoX3BvdGlvbl9kYXRhLnByb3RvGidy",
            "ZWNfcm9vbS9wZXJzaXN0ZW5jZS9ob2xvdGFyX2RhdGEucHJvdG8aJXJlY19y",
            "b29tL3BlcnNpc3RlbmNlL2ltYWdlX2RhdGEucHJvdG8aMHJlY19yb29tL3Bl",
            "cnNpc3RlbmNlL2ludmVudGlvbl9hbmNob3JfZGF0YS5wcm90bxoycmVjX3Jv",
            "b20vcGVyc2lzdGVuY2UvaW52ZW50aW9uX2luc3RhbmNlX2RhdGEucHJvdG8a",
            "M3JlY19yb29tL3BlcnNpc3RlbmNlL2ludmlzaWJsZV9jb2xsaXNpb25fZGF0",
            "YS5wcm90bxo2cmVjX3Jvb20vcGVyc2lzdGVuY2UvaW52aXNpYmxlX2NvbGxp",
            "c2lvbl92Ml9kYXRhLnByb3RvGi1yZWNfcm9vbS9wZXJzaXN0ZW5jZS9sYXNl",
            "cl9wb2ludGVyX2RhdGEucHJvdG8aK3JlY19yb29tL3BlcnNpc3RlbmNlL2xl",
            "YWRlcmJvYXJkX2RhdGEucHJvdG8aJXJlY19yb29tL3BlcnNpc3RlbmNlL2xv",
            "Z19zY3JlZW4ucHJvdG8aK3JlY19yb29tL3BlcnNpc3RlbmNlL3RleHRfc2Ny",
            "ZWVuX2RhdGEucHJvdG8aOnJlY19yb29tL3BlcnNpc3RlbmNlL2NvbGxpc2lv",
            "bl9kZXRlY3Rpb25fdm9sdW1lX2RhdGEucHJvdG8aJ3JlY19yb29tL3BlcnNp",
            "c3RlbmNlL21lc3NhZ2VfZGF0YS5wcm90bxoscmVjX3Jvb20vcGVyc2lzdGVu",
            "Y2UvbW9vZF9jaXJjdWl0X2RhdGEucHJvdG8aLHJlY19yb29tL3BlcnNpc3Rl",
            "bmNlL21vdmVhYmxlcHJvcF9kYXRhLnByb3RvGixyZWNfcm9vbS9wZXJzaXN0",
            "ZW5jZS9vYmplY3RfZ3JvdXBfZGF0YS5wcm90bxoucmVjX3Jvb20vcGVyc2lz",
            "dGVuY2Uvb2JqZWN0X3NwYXduZXJfZGF0YS5wcm90bxowcmVjX3Jvb20vcGVy",
            "c2lzdGVuY2UvcGFydGljbGVfZW1pdHRlcl9kYXRhLnByb3RvGjFyZWNfcm9v",
            "bS9wZXJzaXN0ZW5jZS9wZXJzaXN0ZWRfcm9vbV92ZXJzaW9uLnByb3RvGi1y",
            "ZWNfcm9vbS9wZXJzaXN0ZW5jZS9wZXJzaXN0ZWRfc2Z4X2RhdGEucHJvdG8a",
            "MHJlY19yb29tL3BlcnNpc3RlbmNlL3BsYXllcl9hdHRyYWN0b3JfZGF0YS5w",
            "cm90bxoqcmVjX3Jvb20vcGVyc2lzdGVuY2UvcG9vbF90YWJsZV9kYXRhLnBy",
            "b3RvGiZyZWNfcm9vbS9wZXJzaXN0ZW5jZS9wb3N0ZXJfZGF0YS5wcm90bxou",
            "cmVjX3Jvb20vcGVyc2lzdGVuY2UvcHJveGltaXR5X21pbmVfZGF0YS5wcm90",
            "bxotcmVjX3Jvb20vcGVyc2lzdGVuY2UvcmF5Y2FzdF9naXptb19kYXRhLnBy",
            "b3RvGi5yZWNfcm9vbS9wZXJzaXN0ZW5jZS9yZW1vdGVfY29udHJvbF9kYXRh",
            "LnByb3RvGipyZWNfcm9vbS9wZXJzaXN0ZW5jZS9yZXBsaWNhdG9yX2RhdGEu",
            "cHJvdG8aNnJlY19yb29tL3BlcnNpc3RlbmNlL3Jvb21fY29uc3VtYWJsZV9i",
            "dXR0b25fZGF0YS5wcm90bxo0cmVjX3Jvb20vcGVyc2lzdGVuY2Uvcm9vbV9j",
            "dXJyZW5jeV9idXR0b25fZGF0YS5wcm90bxopcmVjX3Jvb20vcGVyc2lzdGVu",
            "Y2Uvcm9vbV9kb29yX2RhdGEucHJvdG8aLHJlY19yb29tL3BlcnNpc3RlbmNl",
            "L3Jvb21fZG9vcl92Ml9kYXRhLnByb3RvGjFyZWNfcm9vbS9wZXJzaXN0ZW5j",
            "ZS9zYW5kYm94X2NvbG9yYWJsZV9kYXRhLnByb3RvGjNyZWNfcm9vbS9wZXJz",
            "aXN0ZW5jZS9zYW5kYm94X2RlZm9ybWF0aW9uX2RhdGEucHJvdG8aLXJlY19y",
            "b29tL3BlcnNpc3RlbmNlL3NhbmRib3hfZ2l6bW9fZGF0YS5wcm90bxowcmVj",
            "X3Jvb20vcGVyc2lzdGVuY2Uvc2NvcmVib2FyZF9zZXR1cF9kYXRhLnByb3Rv",
            "GiRyZWNfcm9vbS9wZXJzaXN0ZW5jZS9zZWF0X2RhdGEucHJvdG8aKHJlY19y",
            "b29tL3BlcnNpc3RlbmNlL3NlY3VyaXR5X2RhdGEucHJvdG8aNHJlY19yb29t",
            "L3BlcnNpc3RlbmNlL3NldF9sZWFkZXJib2FyZF9zdGF0X2RhdGEucHJvdG8a",
            "LXJlY19yb29tL3BlcnNpc3RlbmNlL3NldF90YWdzX25vZGVfZGF0YS5wcm90",
            "bxolcmVjX3Jvb20vcGVyc2lzdGVuY2Uvc2hhcGVfZGF0YS5wcm90bxorcmVj",
            "X3Jvb20vcGVyc2lzdGVuY2Uvc3Bhd25fcG9pbnRfZGF0YS5wcm90bxoucmVj",
            "X3Jvb20vcGVyc2lzdGVuY2Uvc3Bhd25hYmxlX3Rvb2xfZGF0YS5wcm90bxoy",
            "cmVjX3Jvb20vcGVyc2lzdGVuY2Uvc3Bhd25wb2ludF9zcGF3bmVyX2RhdGEu",
            "cHJvdG8aKHJlY19yb29tL3BlcnNpc3RlbmNlL2tlZXBzYWtlX2RhdGEucHJv",
            "dG8aJnJlY19yb29tL3BlcnNpc3RlbmNlL3N0aWNreV9kYXRhLnByb3RvGjZy",
            "ZWNfcm9vbS9wZXJzaXN0ZW5jZS9zdHJlYW1pbmdfY2FtZXJhX3BvaW50X2Rh",
            "dGEucHJvdG8aLXJlY19yb29tL3BlcnNpc3RlbmNlL3N1cGVyX3Jvb21fdmVy",
            "c2lvbi5wcm90bxoscmVjX3Jvb20vcGVyc2lzdGVuY2Uvc3dpbmdfaGFuZGxl",
            "X2RhdGEucHJvdG8aJnJlY19yb29tL3BlcnNpc3RlbmNlL3N5bmNlZF9kYXRh",
            "LnByb3RvGityZWNfcm9vbS9wZXJzaXN0ZW5jZS90YWdnZWRfdG9vbF9kYXRh",
            "LnByb3RvGipyZWNfcm9vbS9wZXJzaXN0ZW5jZS90ZXh0X2xhYmVsX2RhdGEu",
            "cHJvdG8aLHJlY19yb29tL3BlcnNpc3RlbmNlL3Rocm93X2hhbmRsZV9kYXRh",
            "LnByb3RvGixyZWNfcm9vbS9wZXJzaXN0ZW5jZS90b29sX2NsZWFudXBfZGF0",
            "YS5wcm90bxorcmVjX3Jvb20vcGVyc2lzdGVuY2UvdG9vbF9lbnRpdHlfZGF0",
            "YS5wcm90bxorcmVjX3Jvb20vcGVyc2lzdGVuY2UvdG9vbF9ob2xkZXJfZGF0",
            "YS5wcm90bxoucmVjX3Jvb20vcGVyc2lzdGVuY2UvdHJpZ2dlcl9oYW5kbGVf",
            "ZGF0YS5wcm90bxoucmVjX3Jvb20vcGVyc2lzdGVuY2UvdHJpZ2dlcl92b2x1",
            "bWVfZGF0YS5wcm90bxoscmVjX3Jvb20vcGVyc2lzdGVuY2UvdWdjX3N0ZWVy",
            "aW5nX2RhdGEucHJvdG8aM3JlY19yb29tL3BlcnNpc3RlbmNlL3VnY19zdGVl",
            "cmluZ19lbmdpbmVfZGF0YS5wcm90bxoucmVjX3Jvb20vcGVyc2lzdGVuY2Uv",
            "dWdjX3N0b3JlZnJvbnRfZGF0YS5wcm90bxoncmVjX3Jvb20vcGVyc2lzdGVu",
            "Y2UvdmVoaWNsZV9kYXRhLnByb3RvGjJyZWNfcm9vbS9wZXJzaXN0ZW5jZS9p",
            "bnRlcmFjdGlvbl92b2x1bWVfZGF0YS5wcm90bxo9cmVjX3Jvb20vcGVyc2lz",
            "dGVuY2UvcGxheWVyX2V2ZW50X2Jyb2FkY2FzdF92b2x1bWVfZGF0YS5wcm90",
            "bxo2cmVjX3Jvb20vcGVyc2lzdGVuY2UvcGVyc2lzdGVkX2F1ZGlvX3BsYXll",
            "cl9kYXRhLnByb3RvGjNyZWNfcm9vbS9wZXJzaXN0ZW5jZS9wcm9qZWN0aWxl",
            "X2xhdW5jaGVyX2RhdGEucHJvdG8aM3JlY19yb29tL3BlcnNpc3RlbmNlL3Jl",
            "bW90ZV92aWRlb19wbGF5ZXJfZGF0YS5wcm90bxoycmVjX3Jvb20vcGVyc2lz",
            "dGVuY2UvcmFuZ2VkX3dlYXBvbl9wcm9wX2RhdGEucHJvdG8aLnJlY19yb29t",
            "L3BlcnNpc3RlbmNlL3dlbGNvbWVfbWF0X3YyX2RhdGEucHJvdG8aKnJlY19y",
            "b29tL3BlcnNpc3RlbmNlL2d1bl9oYW5kbGVfZGF0YS5wcm90bxoucmVjX3Jv",
            "b20vcGVyc2lzdGVuY2Uvc3Bhd25fcG9pbnRfdjJfZGF0YS5wcm90bxorcmVj",
            "X3Jvb20vcGVyc2lzdGVuY2UvZGlhbG9ndWVfdWlfZGF0YS5wcm90bxorcmVj",
            "X3Jvb20vcGVyc2lzdGVuY2UvYmFzZV9oYW5kbGVfZGF0YS5wcm90bxoscmVj",
            "X3Jvb20vcGVyc2lzdGVuY2UvbWVsZWVfd2VhcG9uX2RhdGEucHJvdG8aLXJl",
            "Y19yb29tL3BlcnNpc3RlbmNlL3RleHR1cmVkX3F1YWRfZGF0YS5wcm90byL1",
            "MwoTUGVyc2lzdGVuY2VWaWV3RGF0YRIKCgJpZBgBIAEoDBIiChpERVBSRUNB",
            "VEVEX2lzX3NjZW5lX29iamVjdBgCIAEoCBI3CgtjaGlsZF92aWV3cxgDIAMo",
            "CzIiLnJlY19yb29tLkNoaWxkUGVyc2lzdGVuY2VWaWV3RGF0YRIyChB0b29s",
            "X2VudGl0eV9kYXRhGAkgASgLMhgucmVjX3Jvb20uVG9vbEVudGl0eURhdGES",
            "KgoJdHJhbnNmb3JtGAogASgLMhcucmVjX3Jvb20uVHJhbnNmb3JtRGF0YRI4",
            "ChNzcGF3bmFibGVfdG9vbF9kYXRhGAsgASgLMhsucmVjX3Jvb20uU3Bhd25h",
            "YmxlVG9vbERhdGESOgoUc2hhcGVfY29udGFpbmVyX2RhdGEYDCABKAsyHC5y",
            "ZWNfcm9vbS5TaGFwZUNvbnRhaW5lckRhdGESOwoUREVQUkVDQVRFRF90b29s",
            "X2RhdGEYDSABKAsyHS5yZWNfcm9vbS5ERVBSRUNBVEVEX1Rvb2xEYXRhEjoK",
            "FGNyZWF0aW9uX29iamVjdF9kYXRhGA4gASgLMhwucmVjX3Jvb20uQ3JlYXRp",
            "b25PYmplY3REYXRhEjIKEHRhZ2dlZF90b29sX2RhdGEYDyABKAsyGC5yZWNf",
            "cm9vbS5UYWdnZWRUb29sRGF0YRIpCgtzdGlja3lfZGF0YRgQIAEoCzIULnJl",
            "Y19yb29tLlN0aWNreURhdGESOgoUZHJhd2luZ19zdXJmYWNlX2RhdGEYESAB",
            "KAsyHC5yZWNfcm9vbS5EcmF3aW5nU3VyZmFjZURhdGESJwoKaW1hZ2VfZGF0",
            "YRgSIAEoCzITLnJlY19yb29tLkltYWdlRGF0YRIyChB0b29sX2hvbGRlcl9k",
            "YXRhGBMgASgLMhgucmVjX3Jvb20uVG9vbEhvbGRlckRhdGESOAoTcmVtb3Rl",
            "X2NvbnRyb2xfZGF0YRgUIAEoCzIbLnJlY19yb29tLlJlbW90ZUNvbnRyb2xE",
            "YXRhEi4KDnJvb21fZG9vcl9kYXRhGBUgASgLMhYucmVjX3Jvb20uUm9vbURv",
            "b3JEYXRhEjQKEXRvb2xfY2xlYW51cF9kYXRhGBYgASgLMhkucmVjX3Jvb20u",
            "VG9vbENsZWFudXBEYXRhEkAKF3NwYXducG9pbnRfc3Bhd25lcl9kYXRhGBcg",
            "ASgLMh8ucmVjX3Jvb20uU3Bhd25Qb2ludFNwYXduZXJEYXRhEjYKEnBlcnNp",
            "c3RlZF9zZnhfZGF0YRgYIAEoCzIaLnJlY19yb29tLlBlcnNpc3RlZFNGWERh",
            "dGESNAoRY2lyY3VpdF9ub2RlX2RhdGEYGSABKAsyGS5yZWNfcm9vbS5DaXJj",
            "dWl0Tm9kZURhdGESKwoMbWVzc2FnZV9kYXRhGBogASgLMhUucmVjX3Jvb20u",
            "TWVzc2FnZURhdGESQgoYaG9sb3Rhcl9wZXJzaXN0ZW5jZV9EYXRhGBsgASgL",
            "MiAucmVjX3Jvb20uSG9sb3RhclBlcnNpc3RlbmNlRGF0YRIyChBzcGF3bl9w",
            "b2ludF9kYXRhGBwgASgLMhgucmVjX3Jvb20uU3Bhd25Qb2ludERhdGESTQoe",
            "YXVkaW9fc2FtcGxlcl9wZXJzaXN0ZW5jZV9kYXRhGB0gASgLMiUucmVjX3Jv",
            "b20uQXVkaW9TYW1wbGVyUGVyc2lzdGVuY2VEYXRhEikKC2J1dHRvbl9kYXRh",
            "GB4gASgLMhQucmVjX3Jvb20uQnV0dG9uRGF0YRI4ChN0cmlnZ2VyX3ZvbHVt",
            "ZV9kYXRhGB8gASgLMhsucmVjX3Jvb20uVHJpZ2dlclZvbHVtZURhdGESNgoS",
            "c2FuZGJveF9naXptb19kYXRhGCAgASgLMhoucmVjX3Jvb20uU2FuZGJveEdp",
            "em1vRGF0YRI/ChdvYmplY3Rfc3Bhd25fcG9pbnRfZGF0YRghIAEoCzIeLnJl",
            "Y19yb29tLk9iamVjdFNwYXduUG9pbnREYXRhEjUKEnNldF90YWdzX25vZGVf",
            "ZGF0YRgiIAEoCzIZLnJlY19yb29tLlNldFRhZ3NOb2RlRGF0YRI8ChVicmVh",
            "a2FibGVfb2JqZWN0X2RhdGEYIyABKAsyHS5yZWNfcm9vbS5CcmVha2FibGVP",
            "YmplY3REYXRhEj4KFnNhbmRib3hfY29sb3JhYmxlX2RhdGEYJCABKAsyHi5y",
            "ZWNfcm9vbS5TYW5kYm94Q29sb3JhYmxlRGF0YRI8ChVwYXJ0aWNsZV9lbWl0",
            "dGVyX2RhdGEYJSABKAsyHS5yZWNfcm9vbS5QYXJ0aWNsZUVtaXR0ZXJEYXRh",
            "EjQKEW9iamVjdF9ncm91cF9kYXRhGCYgASgLMhkucmVjX3Jvb20uT2JqZWN0",
            "R3JvdXBEYXRhEkEKGHN0YXRlX21hY2hpbmVfc3RhdGVfZGF0YRgnIAEoCzIf",
            "LnJlY19yb29tLlN0YXRlTWFjaGluZVN0YXRlRGF0YRJAChdnYW1lX2NvbmZp",
            "Z3VyYXRpb25fZGF0YRgoIAEoCzIfLnJlY19yb29tLkdhbWVDb25maWd1cmF0",
            "aW9uRGF0YRI9ChZnYW1lX3J1bGVfd3JhcHBlcl9kYXRhGCkgASgLMh0ucmVj",
            "X3Jvb20uR2FtZVJ1bGVXcmFwcGVyRGF0YRI2ChJoZWFsdGhfcG90aW9uX2Rh",
            "dGEYKiABKAsyGi5yZWNfcm9vbS5IZWFsdGhQb3Rpb25EYXRhEjwKFXNjb3Jl",
            "Ym9hcmRfc2V0dXBfZGF0YRgrIAEoCzIdLnJlY19yb29tLlNjb3JlYm9hcmRT",
            "ZXR1cERhdGESLwoOc3BvdGxpZ2h0X2RhdGEYLCABKAsyFy5yZWNfcm9vbS5T",
            "cG90bGlnaHREYXRhEjYKEmR5bmFtaWNfbGlnaHRfZGF0YRgtIAEoCzIaLnJl",
            "Y19yb29tLkR5bmFtaWNMaWdodERhdGESMAoPYm91bmNlX3BhZF9kYXRhGC4g",
            "ASgLMhcucmVjX3Jvb20uQm91bmNlUGFkRGF0YRIxCg9jaGVja3BvaW50X2Rh",
            "dGEYLyABKAsyGC5yZWNfcm9vbS5DaGVja3BvaW50RGF0YRIzChBsZWFkZXJi",
            "b2FyZF9kYXRhGDAgASgLMhkucmVjX3Jvb20uTGVhZGVyYm9hcmREYXRhEkMK",
            "GXNldF9sZWFkZXJib2FyZF9zdGF0X2RhdGEYMSABKAsyIC5yZWNfcm9vbS5T",
            "ZXRMZWFkZXJib2FyZFN0YXREYXRhEjcKE2dhbWVfcm9sZV9ub2RlX2RhdGEY",
            "MiABKAsyGi5yZWNfcm9vbS5HYW1lUm9sZU5vZGVEYXRhEjwKFXBsYXllcl9h",
            "dHRyYWN0b3JfZGF0YRgzIAEoCzIdLnJlY19yb29tLlBsYXllckF0dHJhY3Rv",
            "ckRhdGESNgoSdG9nZ2xlX2J1dHRvbl9kYXRhGDQgASgLMhoucmVjX3Jvb20u",
            "VG9nZ2xlQnV0dG9uRGF0YRJCChhzYW5kYm94X2RlZm9ybWF0aW9uX2RhdGEY",
            "NSABKAsyIC5yZWNfcm9vbS5TYW5kYm94RGVmb3JtYXRpb25EYXRhEjAKD3Rl",
            "eHRfbGFiZWxfZGF0YRg2IAEoCzIXLnJlY19yb29tLlRleHRMYWJlbERhdGES",
            "OAoTcHJveGltaXR5X21pbmVfZGF0YRg3IAEoCzIbLnJlY19yb29tLlByb3hp",
            "bWl0eU1pbmVEYXRhEkIKGGludmlzaWJsZV9jb2xsaXNpb25fZGF0YRg4IAEo",
            "CzIgLnJlY19yb29tLkludmlzaWJsZUNvbGxpc2lvbkRhdGESNAoRbW9vZF9j",
            "aXJjdWl0X2RhdGEYOSABKAsyGS5yZWNfcm9vbS5Nb29kQ2lyY3VpdERhdGES",
            "IQoHYWlfZGF0YRg6IAEoCzIQLnJlY19yb29tLkFJRGF0YRIyChB1Z2Nfc3Bh",
            "d25lcl9kYXRhGDsgASgLMhgucmVjX3Jvb20uVUdDU3Bhd25lckRhdGESMgoQ",
            "bGlua19idXR0b25fZGF0YRg8IAEoCzIYLnJlY19yb29tLkxpbmtCdXR0b25E",
            "YXRhEjYKEnJheWNhc3RfZ2l6bW9fZGF0YRg9IAEoCzIaLnJlY19yb29tLlJh",
            "eWNhc3RHaXptb0RhdGESKwoMY29zdHVtZV9kYXRhGD4gASgLMhUucmVjX3Jv",
            "b20uQ29zdHVtZURhdGESOwoVZnJlZV9naWZ0X2J1dHRvbl9kYXRhGD8gASgL",
            "MhwucmVjX3Jvb20uRnJlZUdpZnRCdXR0b25EYXRhEiUKCWFyZWFfZGF0YRhA",
            "IAEoCzISLnJlY19yb29tLkFyZWFEYXRhEkMKEmNvbnRyb2xfcGFuZWxfZGF0",
            "YRhBIAEoCzInLnJlY19yb29tLkNvbnRyb2xQYW5lbENpcmN1aXRPYmplY3RE",
            "YXRhEjoKFGFyZWFfY29udHJvbGxlcl9kYXRhGEIgASgLMhwucmVjX3Jvb20u",
            "QXJlYUNvbnRyb2xsZXJEYXRhEjoKFHNob3djYXNlX3Bvc3Rlcl9kYXRhGEMg",
            "ASgLMhwucmVjX3Jvb20uU2hvd2Nhc2VQb3N0ZXJEYXRhEjAKD2xvZ19zY3Jl",
            "ZW5fZGF0YRhEIAEoCzIXLnJlY19yb29tLkxvZ1NjcmVlbkRhdGESPQoWYXVk",
            "aW9fZWZmZWN0X3pvbmVfZGF0YRhFIAEoCzIdLnJlY19yb29tLkF1ZGlvRWZm",
            "ZWN0Wm9uZURhdGESMAoPZ2xhc3NfcGFuZV9kYXRhGEYgASgLMhcucmVjX3Jv",
            "b20uR2xhc3NQYW5lRGF0YRJRCiVERVBSRUNBVEVEX2NvbmZpZ3VyYWJsZV9z",
            "ZWxlY3Rvcl9kYXRhGEcgASgLMiIucmVjX3Jvb20uQ29uZmlndXJhYmxlU2Vs",
            "ZWN0b3JEYXRhEkIKFmNvbmZpZ3VyYWJsZV9zZWxlY3RvcnMYSCADKAsyIi5y",
            "ZWNfcm9vbS5Db25maWd1cmFibGVTZWxlY3RvckRhdGESRwobc3RyZWFtaW5n",
            "X2NhbWVyYV9wb2ludF9kYXRhGEkgASgLMiIucmVjX3Jvb20uU3RyZWFtaW5n",
            "Q2FtZXJhUG9pbnREYXRhEkMKGXJvb21fY3VycmVuY3lfYnV0dG9uX2RhdGEY",
            "SiABKAsyIC5yZWNfcm9vbS5Sb29tQ3VycmVuY3lCdXR0b25EYXRhElkKJGNv",
            "bmZpZ3VyYWJsZV9jaXJjdWl0X3Zpc2liaWxpdHlfZGF0YRhLIAEoCzIrLnJl",
            "Y19yb29tLkNvbmZpZ3VyYWJsZUNpcmN1aXRWaXNpYmlsaXR5RGF0YRIlCglz",
            "ZWF0X2RhdGEYTCABKAsyEi5yZWNfcm9vbS5TZWF0RGF0YRI2ChJtb3ZlYWJs",
            "ZV9wcm9wX2RhdGEYTSABKAsyGi5yZWNfcm9vbS5Nb3ZlYWJsZVByb3BEYXRh",
            "EikKC3N5bmNlZF9kYXRhGE4gASgLMhQucmVjX3Jvb20uU3luY2VkRGF0YRJH",
            "Chtyb29tX2NvbnN1bWFibGVfYnV0dG9uX2RhdGEYTyABKAsyIi5yZWNfcm9v",
            "bS5Sb29tQ29uc3VtYWJsZUJ1dHRvbkRhdGESOAoTZ3JvdW5kX3ZlaGljbGVf",
            "ZGF0YRhQIAEoCzIbLnJlY19yb29tLkdyb3VuZFZlaGljbGVEYXRhEjgKE3Zl",
            "aGljbGVfZW5naW5lX2RhdGEYUSABKAsyGy5yZWNfcm9vbS5WZWhpY2xlRW5n",
            "aW5lRGF0YRJAChd3aGVlbF9kaWZmZXJlbnRpYWxfZGF0YRhSIAEoCzIfLnJl",
            "Y19yb29tLldoZWVsRGlmZmVyZW50aWFsRGF0YRJJChx3aGVlbF9zdXNwZW5z",
            "aW9uX3N5c3RlbV9kYXRhGFMgASgLMiMucmVjX3Jvb20uV2hlZWxTdXNwZW5z",
            "aW9uU3lzdGVtRGF0YRI4ChN0cmlnZ2VyX2hhbmRsZV9kYXRhGFQgASgLMhsu",
            "cmVjX3Jvb20uVHJpZ2dlckhhbmRsZURhdGESQAoXaW50ZXJhY3Rpb25fdm9s",
            "dW1lX2RhdGEYVSABKAsyHy5yZWNfcm9vbS5JbnRlcmFjdGlvblZvbHVtZURh",
            "dGESMAoPcG9vbF90YWJsZV9kYXRhGFYgASgLMhcucmVjX3Jvb20uUG9vbFRh",
            "YmxlRGF0YRJUCiJwbGF5ZXJfZXZlbnRfYnJvYWRjYXN0X3ZvbHVtZV9kYXRh",
            "GFcgASgLMigucmVjX3Jvb20uUGxheWVyRXZlbnRCcm9hZGNhc3RWb2x1bWVE",
            "YXRhEjgKE3VnY19zdG9yZWZyb250X2RhdGEYWCABKAsyGy5yZWNfcm9vbS5V",
            "R0NTdG9yZWZyb250RGF0YRJCChhwcm9qZWN0aWxlX2xhdW5jaGVyX2RhdGEY",
            "WSABKAsyIC5yZWNfcm9vbS5Qcm9qZWN0aWxlTGF1bmNoZXJEYXRhEj0KEWF1",
            "ZGlvX3BsYXllcl9kYXRhGFogASgLMiIucmVjX3Jvb20uUGVyc2lzdGVkQXVk",
            "aW9QbGF5ZXJEYXRhEjAKD2RvbWVfbGlnaHRfZGF0YRhbIAEoCzIXLnJlY19y",
            "b29tLkRvbWVMaWdodERhdGESQQoYcmVtb3RlX3ZpZGVvX3BsYXllcl9kYXRh",
            "GFwgASgLMh8ucmVjX3Jvb20uUmVtb3RlVmlkZW9QbGF5ZXJEYXRhEj4KFmV4",
            "cGxvc2lvbl9lbWl0dGVyX2RhdGEYXSABKAsyHi5yZWNfcm9vbS5FeHBsb3Np",
            "b25FbWl0dGVyRGF0YRJHChtpbnZpc2libGVfY29sbGlzaW9uX3YyX2RhdGEY",
            "XiABKAsyIi5yZWNfcm9vbS5JbnZpc2libGVDb2xsaXNpb25WMkRhdGESVQoi",
            "Y29uZmlndXJhYmxlX3BoeXNpY3Nfc2V0dGluZ3NfZGF0YRhfIAEoCzIpLnJl",
            "Y19yb29tLkNvbmZpZ3VyYWJsZVBoeXNpY3NTZXR0aW5nc0RhdGESMAoPZ3Vu",
            "X2hhbmRsZV9kYXRhGGAgASgLMhcucmVjX3Jvb20uR3VuSGFuZGxlRGF0YRI3",
            "ChNzcGF3bl9wb2ludF92Ml9kYXRhGGEgASgLMhoucmVjX3Jvb20uU3Bhd25Q",
            "b2ludFYyRGF0YRI3ChN3ZWxjb21lX21hdF92Ml9kYXRhGGIgASgLMhoucmVj",
            "X3Jvb20uV2VsY29tZU1hdFYyRGF0YRIpCgtiZWFjb25fZGF0YRhjIAEoCzIU",
            "LnJlY19yb29tLkJlYWNvbkRhdGESEgoKZW50aXR5X2lkeBhkIAEoBRIyChB0",
            "ZXh0X3NjcmVlbl9kYXRhGGUgASgLMhgucmVjX3Jvb20uVGV4dFNjcmVlbkRh",
            "dGESMwoRcm9vbV9kb29yX3YyX2RhdGEYZiABKAsyGC5yZWNfcm9vbS5Sb29t",
            "RG9vclYyRGF0YRItCg1rZWVwc2FrZV9kYXRhGGcgASgLMhYucmVjX3Jvb20u",
            "S2VlcHNha2VEYXRhEjYKEmxhc2VyX3BvaW50ZXJfZGF0YRhoIAEoCzIaLnJl",
            "Y19yb29tLkxhc2VyUG9pbnRlckRhdGESTwofY29sbGlzaW9uX2RldGVjdGlv",
            "bl92b2x1bWVfZGF0YRhpIAEoCzImLnJlY19yb29tLkNvbGxpc2lvbkRldGVj",
            "dGlvblZvbHVtZURhdGESNAoRc3dpbmdfaGFuZGxlX2RhdGEYaiABKAsyGS5y",
            "ZWNfcm9vbS5Td2luZ0hhbmRsZURhdGESJwoKdHJhaWxfZGF0YRhrIAEoCzIT",
            "LnJlY19yb29tLlRyYWlsRGF0YRJEChpmdWxsX2JvZHlfcHVwcGV0X3Rvb2xf",
            "ZGF0YRhsIAEoCzIgLnJlY19yb29tLkZ1bGxCb2R5UHVwcGV0VG9vbERhdGES",
            "NAoRdGhyb3dfaGFuZGxlX2RhdGEYbiABKAsyGS5yZWNfcm9vbS5UaHJvd0hh",
            "bmRsZURhdGESMgoQZGlhbG9ndWVfdWlfZGF0YRhvIAEoCzIYLnJlY19yb29t",
            "LkRpYWxvZ3VlVUlEYXRhEisKDGdyYWJiZXJfZGF0YRhwIAEoCzIVLnJlY19y",
            "b29tLkdyYWJiZXJEYXRhEjEKD3JlcGxpY2F0b3JfZGF0YRhxIAEoCzIYLnJl",
            "Y19yb29tLlJlcGxpY2F0b3JEYXRhEjIKEGJhc2VfaGFuZGxlX2RhdGEYciAB",
            "KAsyGC5yZWNfcm9vbS5CYXNlSGFuZGxlRGF0YRI6ChJyYW5nZWRfd2VhcG9u",
            "X2RhdGEYcyABKAsyHi5yZWNfcm9vbS5SYW5nZWRXZWFwb25Qcm9wRGF0YRJB",
            "Chh1Z2Nfc3RlZXJpbmdfZW5naW5lX2RhdGEYdCABKAsyHy5yZWNfcm9vbS5V",
            "R0NTdGVlcmluZ0VuZ2luZURhdGESNAoRdWdjX3N0ZWVyaW5nX2RhdGEYdSAB",
            "KAsyGS5yZWNfcm9vbS5VR0NTdGVlcmluZ0RhdGESQwoZc2hhcmVkX3Jhbmdl",
            "ZF93ZWFwb25fZGF0YRh2IAEoCzIgLnJlY19yb29tLlNoYXJlZFJhbmdlZFdl",
            "YXBvbkRhdGESNAoRbWVsZWVfd2VhcG9uX2RhdGEYdyABKAsyGS5yZWNfcm9v",
            "bS5NZWxlZVdlYXBvbkRhdGESLwoObWFubmVxdWluX2RhdGEYeCABKAsyFy5y",
            "ZWNfcm9vbS5NYW5uZXF1aW5EYXRhEioKDGdhbWVfYWlfZGF0YRh5IAEoCzIU",
            "LnJlY19yb29tLkdhbWVBSURhdGESNgoSdGV4dHVyZWRfcXVhZF9kYXRhGHog",
            "ASgLMhoucmVjX3Jvb20uVGV4dHVyZWRRdWFkRGF0YSJZChhDaGlsZFBlcnNp",
            "c3RlbmNlVmlld0RhdGESEAoIY2hpbGRfaWQYASABKAUSKwoEZGF0YRgCIAEo",
            "CzIdLnJlY19yb29tLlBlcnNpc3RlbmNlVmlld0RhdGEipgIKDlVHQ1NwYXdu",
            "ZXJEYXRhEh4KFnRpbWVfYmV0d2Vlbl9zcGF3bnNfbXMYASABKAUSHAoUREVQ",
            "UkVDQVRFRF90b29sX3R5cGUYAiABKAUSFAoMaW52ZW50aW9uX2lkGAMgASgD",
            "EhwKFG51bV9vYmplY3RzX3RvX3NwYXduGAQgASgFEiUKHWFwcGx5X3RhZ3Nf",
            "dG9fc3Bhd25lZF9vYmplY3RzGAUgASgFEjYKDXRlbXBsYXRlX2RhdGEYBiAB",
            "KAsyHy5yZWNfcm9vbS5TcGF3bmFibGVUZW1wbGF0ZURhdGESIAoYcHJldmll",
            "d19jaXJjdWl0X2dyYXBoX2lkGAcgASgMEiEKCXRvb2xfdHlwZRgIIAEoCzIO",
            "LmNvcmUuR3VpZERhdGEi/AYKFVNwYXduYWJsZVRlbXBsYXRlRGF0YRJRChxE",
            "RVBSRUNBVEVEX3Jvb21fZGF0YV92ZXJzaW9uGAEgASgOMisucmVjX3Jvb20u",
            "REVQUkVDQVRFRF9Sb29tUGVyc2lzdGVuY2VWZXJzaW9uEjgKEXBlcnNpc3Rl",
            "bmNlX3ZpZXdzGAIgAygLMh0ucmVjX3Jvb20uUGVyc2lzdGVuY2VWaWV3RGF0",
            "YRISCgpvdXRwdXRfbG9nGAMgASgJEhQKDGNpcmN1aXRfZGF0YRgEIAEoDBI+",
            "ChZjb25uZWN0YWJsZV9ncmFwaF9kYXRhGAUgASgLMh4ucmVjX3Jvb20uQ29u",
            "bmVjdGFibGVHcmFwaERhdGESIgoHZXh0ZW50cxgGIAEoCzIRLmNvcmUuVmVj",
            "dG9yM0RhdGESQQoaREVQUkVDQVRFRF9jaXJjdWl0X3YyX2RhdGEYByABKAsy",
            "HS5jaXJjdWl0c192Mi5DaXJjdWl0R3JhcGhEYXRhEj0KD2NpcmN1aXRfdjJf",
            "ZGF0YRgIIAEoCzIkLmNpcmN1aXRzX3YyLkNpcmN1aXRUZW1wbGF0ZVJvb3RE",
            "YXRhEjwKFWludmVudGlvbl9hbmNob3JfZGF0YRgJIAEoCzIdLnJlY19yb29t",
            "LkludmVudGlvbkFuY2hvckRhdGESPgoWcGVyc2lzdGVkX3Jvb21fdmVyc2lv",
            "bhgKIAEoDjIeLnJlY19yb29tLlBlcnNpc3RlZFJvb21WZXJzaW9uEhkKEW9i",
            "amVjdF9tb2RlbF9kYXRhGAsgASgMEjYKEnN1cGVyX3Jvb21fdmVyc2lvbhgM",
            "IAEoDjIaLnJlY19yb29tLlN1cGVyUm9vbVZlcnNpb24SQAoXaW52ZW50aW9u",
            "X2luc3RhbmNlX2RhdGEYDSABKAsyHy5yZWNfcm9vbS5JbnZlbnRpb25JbnN0",
            "YW5jZURhdGESLQoNc2VjdXJpdHlfZGF0YRgOIAEoCzIWLnJlY19yb29tLlNl",
            "Y3VyaXR5RGF0YRIbChNpbnZlbnRvcnlfaXRlbV9kdG9zGA8gAygMEhcKD3Jv",
            "b21fb2ZmZXJfZHRvcxgQIAMoDBItCgxyZXdhcmRfZGF0YXMYESADKAsyFy5j",
            "aXJjdWl0c192Mi5SZXdhcmREYXRhEh8KF2ludmVudG9yeV9pdGVtX3RhZ19k",
            "dG9zGBIgAygMQhOqAhBSZWNSb29tLlByb3RvYnVmYgZwcm90bzM="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::RecRoom.Protobuf.Core.GuidDataReflection.Descriptor, global::RecRoom.Protobuf.Core.Vector3DataReflection.Descriptor, global::CircuitsV2.Protobuf.CircuitGraphDataReflection.Descriptor, global::CircuitsV2.Protobuf.CircuitTemplateRootDataReflection.Descriptor, global::CircuitsV2.Protobuf.RewardDataReflection.Descriptor, global::RecRoom.Protobuf.TransformDataReflection.Descriptor, global::RecRoom.Protobuf.GameConfigurationDataReflection.Descriptor, global::RecRoom.Protobuf.GameRuleWrapperDataReflection.Descriptor, global::RecRoom.Protobuf.DEPRECATEDRoomPersistenceVersionReflection.Descriptor, global::RecRoom.Protobuf.DEPRECATEDToolDataReflection.Descriptor, global::RecRoom.Protobuf.AiDataReflection.Descriptor, global::RecRoom.Protobuf.AreaControllerDataReflection.Descriptor, global::RecRoom.Protobuf.AudioEffectZoneDataReflection.Descriptor, global::RecRoom.Protobuf.AudioSamplerDataReflection.Descriptor, global::RecRoom.Protobuf.TrailDataReflection.Descriptor, global::RecRoom.Protobuf.BeaconReflection.Descriptor, global::RecRoom.Protobuf.BouncePadDataReflection.Descriptor, global::RecRoom.Protobuf.BreakableObjectDataReflection.Descriptor, global::RecRoom.Protobuf.ButtonDataReflection.Descriptor, global::RecRoom.Protobuf.CheckpointDataReflection.Descriptor, global::RecRoom.Protobuf.CircuitNodeDataReflection.Descriptor, global::RecRoom.Protobuf.ConfigurableCircuitVisibilityDataReflection.Descriptor, global::RecRoom.Protobuf.ConfigurablePhysicsSettingsDataReflection.Descriptor, global::RecRoom.Protobuf.ConfigurableSelectorDataReflection.Descriptor, global::RecRoom.Protobuf.ConnectableNodeDataReflection.Descriptor, global::RecRoom.Protobuf.ControlPanelCircuitObjectDataReflection.Descriptor, global::RecRoom.Protobuf.CostumeDataReflection.Descriptor, global::RecRoom.Protobuf.CreationObjectDataReflection.Descriptor, global::RecRoom.Protobuf.DrawingSurfaceDataReflection.Descriptor, global::RecRoom.Protobuf.DynamicLightDataReflection.Descriptor, global::RecRoom.Protobuf.ExplosionEmitterDataReflection.Descriptor, global::RecRoom.Protobuf.FreeGiftButtonDataReflection.Descriptor, global::RecRoom.Protobuf.FullBodyPuppetToolDataReflection.Descriptor, global::RecRoom.Protobuf.MannequinDataReflection.Descriptor, global::RecRoom.Protobuf.GameAiDataReflection.Descriptor, global::RecRoom.Protobuf.GameRoleNodeDataReflection.Descriptor, global::RecRoom.Protobuf.GlassPaneDataReflection.Descriptor, global::RecRoom.Protobuf.GrabberDataReflection.Descriptor, global::RecRoom.Protobuf.HealthPotionDataReflection.Descriptor, global::RecRoom.Protobuf.HolotarDataReflection.Descriptor, global::RecRoom.Protobuf.ImageDataReflection.Descriptor, global::RecRoom.Protobuf.InventionAnchorDataReflection.Descriptor, global::RecRoom.Protobuf.InventionInstanceDataReflection.Descriptor, global::RecRoom.Protobuf.InvisibleCollisionDataReflection.Descriptor, global::RecRoom.Protobuf.InvisibleCollisionV2DataReflection.Descriptor, global::RecRoom.Protobuf.LaserPointerDataReflection.Descriptor, global::RecRoom.Protobuf.LeaderboardDataReflection.Descriptor, global::RecRoom.Protobuf.LogScreenReflection.Descriptor, global::RecRoom.Protobuf.TextScreenDataReflection.Descriptor, global::RecRoom.Protobuf.CollisionDetectionVolumeDataReflection.Descriptor, global::RecRoom.Protobuf.MessageDataReflection.Descriptor, global::RecRoom.Protobuf.MoodCircuitDataReflection.Descriptor, global::RecRoom.Protobuf.MoveablepropDataReflection.Descriptor, global::RecRoom.Protobuf.ObjectGroupDataReflection.Descriptor, global::RecRoom.Protobuf.ObjectSpawnerDataReflection.Descriptor, global::RecRoom.Protobuf.ParticleEmitterDataReflection.Descriptor, global::RecRoom.Protobuf.PersistedRoomVersionReflection.Descriptor, global::RecRoom.Protobuf.PersistedSfxDataReflection.Descriptor, global::RecRoom.Protobuf.PlayerAttractorDataReflection.Descriptor, global::RecRoom.Protobuf.PoolTableDataReflection.Descriptor, global::RecRoom.Protobuf.PosterDataReflection.Descriptor, global::RecRoom.Protobuf.ProximityMineDataReflection.Descriptor, global::RecRoom.Protobuf.RaycastGizmoDataReflection.Descriptor, global::RecRoom.Protobuf.RemoteControlDataReflection.Descriptor, global::RecRoom.Protobuf.ReplicatorDataReflection.Descriptor, global::RecRoom.Protobuf.RoomConsumableButtonDataReflection.Descriptor, global::RecRoom.Protobuf.RoomCurrencyButtonDataReflection.Descriptor, global::RecRoom.Protobuf.RoomDoorDataReflection.Descriptor, global::RecRoom.Protobuf.RoomDoorV2DataReflection.Descriptor, global::RecRoom.Protobuf.SandboxColorableDataReflection.Descriptor, global::RecRoom.Protobuf.SandboxDeformationDataReflection.Descriptor, global::RecRoom.Protobuf.SandboxGizmoDataReflection.Descriptor, global::RecRoom.Protobuf.ScoreboardSetupDataReflection.Descriptor, global::RecRoom.Protobuf.SeatDataReflection.Descriptor, global::RecRoom.Protobuf.SecurityDataReflection.Descriptor, global::RecRoom.Protobuf.SetLeaderboardStatDataReflection.Descriptor, global::RecRoom.Protobuf.SetTagsNodeDataReflection.Descriptor, global::RecRoom.Protobuf.ShapeDataReflection.Descriptor, global::RecRoom.Protobuf.SpawnPointDataReflection.Descriptor, global::RecRoom.Protobuf.SpawnableToolDataReflection.Descriptor, global::RecRoom.Protobuf.SpawnpointSpawnerDataReflection.Descriptor, global::RecRoom.Protobuf.KeepsakeDataReflection.Descriptor, global::RecRoom.Protobuf.StickyDataReflection.Descriptor, global::RecRoom.Protobuf.StreamingCameraPointDataReflection.Descriptor, global::RecRoom.Protobuf.SuperRoomVersionReflection.Descriptor, global::RecRoom.Protobuf.SwingHandleDataReflection.Descriptor, global::RecRoom.Protobuf.SyncedDataReflection.Descriptor, global::RecRoom.Protobuf.TaggedToolDataReflection.Descriptor, global::RecRoom.Protobuf.TextLabelDataReflection.Descriptor, global::RecRoom.Protobuf.ThrowHandleDataReflection.Descriptor, global::RecRoom.Protobuf.ToolCleanupDataReflection.Descriptor, global::RecRoom.Protobuf.ToolEntityDataReflection.Descriptor, global::RecRoom.Protobuf.ToolHolderDataReflection.Descriptor, global::RecRoom.Protobuf.TriggerHandleDataReflection.Descriptor, global::RecRoom.Protobuf.TriggerVolumeDataReflection.Descriptor, global::RecRoom.Protobuf.UgcSteeringDataReflection.Descriptor, global::RecRoom.Protobuf.UgcSteeringEngineDataReflection.Descriptor, global::RecRoom.Protobuf.UgcStorefrontDataReflection.Descriptor, global::RecRoom.Protobuf.VehicleDataReflection.Descriptor, global::RecRoom.Protobuf.InteractionVolumeDataReflection.Descriptor, global::RecRoom.Protobuf.PlayerEventBroadcastVolumeDataReflection.Descriptor, global::RecRoom.Protobuf.PersistedAudioPlayerDataReflection.Descriptor, global::RecRoom.Protobuf.ProjectileLauncherDataReflection.Descriptor, global::RecRoom.Protobuf.RemoteVideoPlayerDataReflection.Descriptor, global::RecRoom.Protobuf.RangedWeaponPropDataReflection.Descriptor, global::RecRoom.Protobuf.WelcomeMatV2DataReflection.Descriptor, global::RecRoom.Protobuf.GunHandleDataReflection.Descriptor, global::RecRoom.Protobuf.SpawnPointV2DataReflection.Descriptor, global::RecRoom.Protobuf.DialogueUiDataReflection.Descriptor, global::RecRoom.Protobuf.BaseHandleDataReflection.Descriptor, global::RecRoom.Protobuf.MeleeWeaponDataReflection.Descriptor, global::RecRoom.Protobuf.TexturedQuadDataReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::RecRoom.Protobuf.PersistenceViewData), global::RecRoom.Protobuf.PersistenceViewData.Parser, new[]{ "Id", "DEPRECATEDIsSceneObject", "ChildViews", "ToolEntityData", "Transform", "SpawnableToolData", "ShapeContainerData", "DEPRECATEDToolData", "CreationObjectData", "TaggedToolData", "StickyData", "DrawingSurfaceData", "ImageData", "ToolHolderData", "RemoteControlData", "RoomDoorData", "ToolCleanupData", "SpawnpointSpawnerData", "PersistedSfxData", "CircuitNodeData", "MessageData", "HolotarPersistenceData", "SpawnPointData", "AudioSamplerPersistenceData", "ButtonData", "TriggerVolumeData", "SandboxGizmoData", "ObjectSpawnPointData", "SetTagsNodeData", "BreakableObjectData", "SandboxColorableData", "ParticleEmitterData", "ObjectGroupData", "StateMachineStateData", "GameConfigurationData", "GameRuleWrapperData", "HealthPotionData", "ScoreboardSetupData", "SpotlightData", "DynamicLightData", "BouncePadData", "CheckpointData", "LeaderboardData", "SetLeaderboardStatData", "GameRoleNodeData", "PlayerAttractorData", "ToggleButtonData", "SandboxDeformationData", "TextLabelData", "ProximityMineData", "InvisibleCollisionData", "MoodCircuitData", "AiData", "UgcSpawnerData", "LinkButtonData", "RaycastGizmoData", "CostumeData", "FreeGiftButtonData", "AreaData", "ControlPanelData", "AreaControllerData", "ShowcasePosterData", "LogScreenData", "AudioEffectZoneData", "GlassPaneData", "DEPRECATEDConfigurableSelectorData", "ConfigurableSelectors", "StreamingCameraPointData", "RoomCurrencyButtonData", "ConfigurableCircuitVisibilityData", "SeatData", "MoveablePropData", "SyncedData", "RoomConsumableButtonData", "GroundVehicleData", "VehicleEngineData", "WheelDifferentialData", "WheelSuspensionSystemData", "TriggerHandleData", "InteractionVolumeData", "PoolTableData", "PlayerEventBroadcastVolumeData", "UgcStorefrontData", "ProjectileLauncherData", "AudioPlayerData", "DomeLightData", "RemoteVideoPlayerData", "ExplosionEmitterData", "InvisibleCollisionV2Data", "ConfigurablePhysicsSettingsData", "GunHandleData", "SpawnPointV2Data", "WelcomeMatV2Data", "BeaconData", "EntityIdx", "TextScreenData", "RoomDoorV2Data", "KeepsakeData", "LaserPointerData", "CollisionDetectionVolumeData", "SwingHandleData", "TrailData", "FullBodyPuppetToolData", "ThrowHandleData", "DialogueUiData", "GrabberData", "ReplicatorData", "BaseHandleData", "RangedWeaponData", "UgcSteeringEngineData", "UgcSteeringData", "SharedRangedWeaponData", "MeleeWeaponData", "MannequinData", "GameAiData", "TexturedQuadData" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::RecRoom.Protobuf.ChildPersistenceViewData), global::RecRoom.Protobuf.ChildPersistenceViewData.Parser, new[]{ "ChildId", "Data" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::RecRoom.Protobuf.UGCSpawnerData), global::RecRoom.Protobuf.UGCSpawnerData.Parser, new[]{ "TimeBetweenSpawnsMs", "DEPRECATEDToolType", "InventionId", "NumObjectsToSpawn", "ApplyTagsToSpawnedObjects", "TemplateData", "PreviewCircuitGraphId", "ToolType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::RecRoom.Protobuf.SpawnableTemplateData), global::RecRoom.Protobuf.SpawnableTemplateData.Parser, new[]{ "DEPRECATEDRoomDataVersion", "PersistenceViews", "OutputLog", "CircuitData", "ConnectableGraphData", "Extents", "DEPRECATEDCircuitV2Data", "CircuitV2Data", "InventionAnchorData", "PersistedRoomVersion", "ObjectModelData", "SuperRoomVersion", "InventionInstanceData", "SecurityData", "InventoryItemDtos", "RoomOfferDtos", "RewardDatas", "InventoryItemTagDtos" }, null, null, null, null)
          }));
    }
    #endregion

  }
  #region Messages
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class PersistenceViewData : pb::IMessage<PersistenceViewData>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PersistenceViewData> _parser = new pb::MessageParser<PersistenceViewData>(() => new PersistenceViewData());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PersistenceViewData> 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.PersistenceViewDataReflection.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 PersistenceViewData() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PersistenceViewData(PersistenceViewData other) : this() {
      id_ = other.id_;
      dEPRECATEDIsSceneObject_ = other.dEPRECATEDIsSceneObject_;
      childViews_ = other.childViews_.Clone();
      toolEntityData_ = other.toolEntityData_ != null ? other.toolEntityData_.Clone() : null;
      transform_ = other.transform_ != null ? other.transform_.Clone() : null;
      spawnableToolData_ = other.spawnableToolData_ != null ? other.spawnableToolData_.Clone() : null;
      shapeContainerData_ = other.shapeContainerData_ != null ? other.shapeContainerData_.Clone() : null;
      dEPRECATEDToolData_ = other.dEPRECATEDToolData_ != null ? other.dEPRECATEDToolData_.Clone() : null;
      creationObjectData_ = other.creationObjectData_ != null ? other.creationObjectData_.Clone() : null;
      taggedToolData_ = other.taggedToolData_ != null ? other.taggedToolData_.Clone() : null;
      stickyData_ = other.stickyData_ != null ? other.stickyData_.Clone() : null;
      drawingSurfaceData_ = other.drawingSurfaceData_ != null ? other.drawingSurfaceData_.Clone() : null;
      imageData_ = other.imageData_ != null ? other.imageData_.Clone() : null;
      toolHolderData_ = other.toolHolderData_ != null ? other.toolHolderData_.Clone() : null;
      remoteControlData_ = other.remoteControlData_ != null ? other.remoteControlData_.Clone() : null;
      roomDoorData_ = other.roomDoorData_ != null ? other.roomDoorData_.Clone() : null;
      toolCleanupData_ = other.toolCleanupData_ != null ? other.toolCleanupData_.Clone() : null;
      spawnpointSpawnerData_ = other.spawnpointSpawnerData_ != null ? other.spawnpointSpawnerData_.Clone() : null;
      persistedSfxData_ = other.persistedSfxData_ != null ? other.persistedSfxData_.Clone() : null;
      circuitNodeData_ = other.circuitNodeData_ != null ? other.circuitNodeData_.Clone() : null;
      messageData_ = other.messageData_ != null ? other.messageData_.Clone() : null;
      holotarPersistenceData_ = other.holotarPersistenceData_ != null ? other.holotarPersistenceData_.Clone() : null;
      spawnPointData_ = other.spawnPointData_ != null ? other.spawnPointData_.Clone() : null;
      audioSamplerPersistenceData_ = other.audioSamplerPersistenceData_ != null ? other.audioSamplerPersistenceData_.Clone() : null;
      buttonData_ = other.buttonData_ != null ? other.buttonData_.Clone() : null;
      triggerVolumeData_ = other.triggerVolumeData_ != null ? other.triggerVolumeData_.Clone() : null;
      sandboxGizmoData_ = other.sandboxGizmoData_ != null ? other.sandboxGizmoData_.Clone() : null;
      objectSpawnPointData_ = other.objectSpawnPointData_ != null ? other.objectSpawnPointData_.Clone() : null;
      setTagsNodeData_ = other.setTagsNodeData_ != null ? other.setTagsNodeData_.Clone() : null;
      breakableObjectData_ = other.breakableObjectData_ != null ? other.breakableObjectData_.Clone() : null;
      sandboxColorableData_ = other.sandboxColorableData_ != null ? other.sandboxColorableData_.Clone() : null;
      particleEmitterData_ = other.particleEmitterData_ != null ? other.particleEmitterData_.Clone() : null;
      objectGroupData_ = other.objectGroupData_ != null ? other.objectGroupData_.Clone() : null;
      stateMachineStateData_ = other.stateMachineStateData_ != null ? other.stateMachineStateData_.Clone() : null;
      gameConfigurationData_ = other.gameConfigurationData_ != null ? other.gameConfigurationData_.Clone() : null;
      gameRuleWrapperData_ = other.gameRuleWrapperData_ != null ? other.gameRuleWrapperData_.Clone() : null;
      healthPotionData_ = other.healthPotionData_ != null ? other.healthPotionData_.Clone() : null;
      scoreboardSetupData_ = other.scoreboardSetupData_ != null ? other.scoreboardSetupData_.Clone() : null;
      spotlightData_ = other.spotlightData_ != null ? other.spotlightData_.Clone() : null;
      dynamicLightData_ = other.dynamicLightData_ != null ? other.dynamicLightData_.Clone() : null;
      bouncePadData_ = other.bouncePadData_ != null ? other.bouncePadData_.Clone() : null;
      checkpointData_ = other.checkpointData_ != null ? other.checkpointData_.Clone() : null;
      leaderboardData_ = other.leaderboardData_ != null ? other.leaderboardData_.Clone() : null;
      setLeaderboardStatData_ = other.setLeaderboardStatData_ != null ? other.setLeaderboardStatData_.Clone() : null;
      gameRoleNodeData_ = other.gameRoleNodeData_ != null ? other.gameRoleNodeData_.Clone() : null;
      playerAttractorData_ = other.playerAttractorData_ != null ? other.playerAttractorData_.Clone() : null;
      toggleButtonData_ = other.toggleButtonData_ != null ? other.toggleButtonData_.Clone() : null;
      sandboxDeformationData_ = other.sandboxDeformationData_ != null ? other.sandboxDeformationData_.Clone() : null;
      textLabelData_ = other.textLabelData_ != null ? other.textLabelData_.Clone() : null;
      proximityMineData_ = other.proximityMineData_ != null ? other.proximityMineData_.Clone() : null;
      invisibleCollisionData_ = other.invisibleCollisionData_ != null ? other.invisibleCollisionData_.Clone() : null;
      moodCircuitData_ = other.moodCircuitData_ != null ? other.moodCircuitData_.Clone() : null;
      aiData_ = other.aiData_ != null ? other.aiData_.Clone() : null;
      ugcSpawnerData_ = other.ugcSpawnerData_ != null ? other.ugcSpawnerData_.Clone() : null;
      linkButtonData_ = other.linkButtonData_ != null ? other.linkButtonData_.Clone() : null;
      raycastGizmoData_ = other.raycastGizmoData_ != null ? other.raycastGizmoData_.Clone() : null;
      costumeData_ = other.costumeData_ != null ? other.costumeData_.Clone() : null;
      freeGiftButtonData_ = other.freeGiftButtonData_ != null ? other.freeGiftButtonData_.Clone() : null;
      areaData_ = other.areaData_ != null ? other.areaData_.Clone() : null;
      controlPanelData_ = other.controlPanelData_ != null ? other.controlPanelData_.Clone() : null;
      areaControllerData_ = other.areaControllerData_ != null ? other.areaControllerData_.Clone() : null;
      showcasePosterData_ = other.showcasePosterData_ != null ? other.showcasePosterData_.Clone() : null;
      logScreenData_ = other.logScreenData_ != null ? other.logScreenData_.Clone() : null;
      audioEffectZoneData_ = other.audioEffectZoneData_ != null ? other.audioEffectZoneData_.Clone() : null;
      glassPaneData_ = other.glassPaneData_ != null ? other.glassPaneData_.Clone() : null;
      dEPRECATEDConfigurableSelectorData_ = other.dEPRECATEDConfigurableSelectorData_ != null ? other.dEPRECATEDConfigurableSelectorData_.Clone() : null;
      configurableSelectors_ = other.configurableSelectors_.Clone();
      streamingCameraPointData_ = other.streamingCameraPointData_ != null ? other.streamingCameraPointData_.Clone() : null;
      roomCurrencyButtonData_ = other.roomCurrencyButtonData_ != null ? other.roomCurrencyButtonData_.Clone() : null;
      configurableCircuitVisibilityData_ = other.configurableCircuitVisibilityData_ != null ? other.configurableCircuitVisibilityData_.Clone() : null;
      seatData_ = other.seatData_ != null ? other.seatData_.Clone() : null;
      moveablePropData_ = other.moveablePropData_ != null ? other.moveablePropData_.Clone() : null;
      syncedData_ = other.syncedData_ != null ? other.syncedData_.Clone() : null;
      roomConsumableButtonData_ = other.roomConsumableButtonData_ != null ? other.roomConsumableButtonData_.Clone() : null;
      groundVehicleData_ = other.groundVehicleData_ != null ? other.groundVehicleData_.Clone() : null;
      vehicleEngineData_ = other.vehicleEngineData_ != null ? other.vehicleEngineData_.Clone() : null;
      wheelDifferentialData_ = other.wheelDifferentialData_ != null ? other.wheelDifferentialData_.Clone() : null;
      wheelSuspensionSystemData_ = other.wheelSuspensionSystemData_ != null ? other.wheelSuspensionSystemData_.Clone() : null;
      triggerHandleData_ = other.triggerHandleData_ != null ? other.triggerHandleData_.Clone() : null;
      interactionVolumeData_ = other.interactionVolumeData_ != null ? other.interactionVolumeData_.Clone() : null;
      poolTableData_ = other.poolTableData_ != null ? other.poolTableData_.Clone() : null;
      playerEventBroadcastVolumeData_ = other.playerEventBroadcastVolumeData_ != null ? other.playerEventBroadcastVolumeData_.Clone() : null;
      ugcStorefrontData_ = other.ugcStorefrontData_ != null ? other.ugcStorefrontData_.Clone() : null;
      projectileLauncherData_ = other.projectileLauncherData_ != null ? other.projectileLauncherData_.Clone() : null;
      audioPlayerData_ = other.audioPlayerData_ != null ? other.audioPlayerData_.Clone() : null;
      domeLightData_ = other.domeLightData_ != null ? other.domeLightData_.Clone() : null;
      remoteVideoPlayerData_ = other.remoteVideoPlayerData_ != null ? other.remoteVideoPlayerData_.Clone() : null;
      explosionEmitterData_ = other.explosionEmitterData_ != null ? other.explosionEmitterData_.Clone() : null;
      invisibleCollisionV2Data_ = other.invisibleCollisionV2Data_ != null ? other.invisibleCollisionV2Data_.Clone() : null;
      configurablePhysicsSettingsData_ = other.configurablePhysicsSettingsData_ != null ? other.configurablePhysicsSettingsData_.Clone() : null;
      gunHandleData_ = other.gunHandleData_ != null ? other.gunHandleData_.Clone() : null;
      spawnPointV2Data_ = other.spawnPointV2Data_ != null ? other.spawnPointV2Data_.Clone() : null;
      welcomeMatV2Data_ = other.welcomeMatV2Data_ != null ? other.welcomeMatV2Data_.Clone() : null;
      beaconData_ = other.beaconData_ != null ? other.beaconData_.Clone() : null;
      entityIdx_ = other.entityIdx_;
      textScreenData_ = other.textScreenData_ != null ? other.textScreenData_.Clone() : null;
      roomDoorV2Data_ = other.roomDoorV2Data_ != null ? other.roomDoorV2Data_.Clone() : null;
      keepsakeData_ = other.keepsakeData_ != null ? other.keepsakeData_.Clone() : null;
      laserPointerData_ = other.laserPointerData_ != null ? other.laserPointerData_.Clone() : null;
      collisionDetectionVolumeData_ = other.collisionDetectionVolumeData_ != null ? other.collisionDetectionVolumeData_.Clone() : null;
      swingHandleData_ = other.swingHandleData_ != null ? other.swingHandleData_.Clone() : null;
      trailData_ = other.trailData_ != null ? other.trailData_.Clone() : null;
      fullBodyPuppetToolData_ = other.fullBodyPuppetToolData_ != null ? other.fullBodyPuppetToolData_.Clone() : null;
      throwHandleData_ = other.throwHandleData_ != null ? other.throwHandleData_.Clone() : null;
      dialogueUiData_ = other.dialogueUiData_ != null ? other.dialogueUiData_.Clone() : null;
      grabberData_ = other.grabberData_ != null ? other.grabberData_.Clone() : null;
      replicatorData_ = other.replicatorData_ != null ? other.replicatorData_.Clone() : null;
      baseHandleData_ = other.baseHandleData_ != null ? other.baseHandleData_.Clone() : null;
      rangedWeaponData_ = other.rangedWeaponData_ != null ? other.rangedWeaponData_.Clone() : null;
      ugcSteeringEngineData_ = other.ugcSteeringEngineData_ != null ? other.ugcSteeringEngineData_.Clone() : null;
      ugcSteeringData_ = other.ugcSteeringData_ != null ? other.ugcSteeringData_.Clone() : null;
      sharedRangedWeaponData_ = other.sharedRangedWeaponData_ != null ? other.sharedRangedWeaponData_.Clone() : null;
      meleeWeaponData_ = other.meleeWeaponData_ != null ? other.meleeWeaponData_.Clone() : null;
      mannequinData_ = other.mannequinData_ != null ? other.mannequinData_.Clone() : null;
      gameAiData_ = other.gameAiData_ != null ? other.gameAiData_.Clone() : null;
      texturedQuadData_ = other.texturedQuadData_ != null ? other.texturedQuadData_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "id" field.</summary>
    public const int IdFieldNumber = 1;
    private pb::ByteString id_ = pb::ByteString.Empty;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pb::ByteString Id {
      get { return id_; }
      set {
        id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

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

    /// <summary>Field number for the "child_views" field.</summary>
    public const int ChildViewsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::RecRoom.Protobuf.ChildPersistenceViewData> _repeated_childViews_codec
        = pb::FieldCodec.ForMessage(26, global::RecRoom.Protobuf.ChildPersistenceViewData.Parser);
    private readonly pbc::RepeatedField<global::RecRoom.Protobuf.ChildPersistenceViewData> childViews_ = new pbc::RepeatedField<global::RecRoom.Protobuf.ChildPersistenceViewData>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::RecRoom.Protobuf.ChildPersistenceViewData> ChildViews {
      get { return childViews_; }
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /// <summary>Field number for the "circuit_node_data" field.</summary>
    public const int CircuitNodeDataFieldNumber = 25;
    private global::RecRoom.Protobuf.CircuitNodeData circuitNodeData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.CircuitNodeData CircuitNodeData {
      get { return circuitNodeData_; }
      set {
        circuitNodeData_ = value;
      }
    }

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

    /// <summary>Field number for the "holotar_persistence_Data" field.</summary>
    public const int HolotarPersistenceDataFieldNumber = 27;
    private global::RecRoom.Protobuf.HolotarPersistenceData holotarPersistenceData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.HolotarPersistenceData HolotarPersistenceData {
      get { return holotarPersistenceData_; }
      set {
        holotarPersistenceData_ = value;
      }
    }

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

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

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

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

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

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

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

    /// <summary>Field number for the "breakable_object_data" field.</summary>
    public const int BreakableObjectDataFieldNumber = 35;
    private global::RecRoom.Protobuf.BreakableObjectData breakableObjectData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.BreakableObjectData BreakableObjectData {
      get { return breakableObjectData_; }
      set {
        breakableObjectData_ = value;
      }
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

    /// <summary>Field number for the "set_leaderboard_stat_data" field.</summary>
    public const int SetLeaderboardStatDataFieldNumber = 49;
    private global::RecRoom.Protobuf.SetLeaderboardStatData setLeaderboardStatData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.SetLeaderboardStatData SetLeaderboardStatData {
      get { return setLeaderboardStatData_; }
      set {
        setLeaderboardStatData_ = value;
      }
    }

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

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

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

    /// <summary>Field number for the "sandbox_deformation_data" field.</summary>
    public const int SandboxDeformationDataFieldNumber = 53;
    private global::RecRoom.Protobuf.SandboxDeformationData sandboxDeformationData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.SandboxDeformationData SandboxDeformationData {
      get { return sandboxDeformationData_; }
      set {
        sandboxDeformationData_ = value;
      }
    }

    /// <summary>Field number for the "text_label_data" field.</summary>
    public const int TextLabelDataFieldNumber = 54;
    private global::RecRoom.Protobuf.TextLabelData textLabelData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.TextLabelData TextLabelData {
      get { return textLabelData_; }
      set {
        textLabelData_ = value;
      }
    }

    /// <summary>Field number for the "proximity_mine_data" field.</summary>
    public const int ProximityMineDataFieldNumber = 55;
    private global::RecRoom.Protobuf.ProximityMineData proximityMineData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.ProximityMineData ProximityMineData {
      get { return proximityMineData_; }
      set {
        proximityMineData_ = value;
      }
    }

    /// <summary>Field number for the "invisible_collision_data" field.</summary>
    public const int InvisibleCollisionDataFieldNumber = 56;
    private global::RecRoom.Protobuf.InvisibleCollisionData invisibleCollisionData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.InvisibleCollisionData InvisibleCollisionData {
      get { return invisibleCollisionData_; }
      set {
        invisibleCollisionData_ = value;
      }
    }

    /// <summary>Field number for the "mood_circuit_data" field.</summary>
    public const int MoodCircuitDataFieldNumber = 57;
    private global::RecRoom.Protobuf.MoodCircuitData moodCircuitData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.MoodCircuitData MoodCircuitData {
      get { return moodCircuitData_; }
      set {
        moodCircuitData_ = value;
      }
    }

    /// <summary>Field number for the "ai_data" field.</summary>
    public const int AiDataFieldNumber = 58;
    private global::RecRoom.Protobuf.AIData aiData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.AIData AiData {
      get { return aiData_; }
      set {
        aiData_ = value;
      }
    }

    /// <summary>Field number for the "ugc_spawner_data" field.</summary>
    public const int UgcSpawnerDataFieldNumber = 59;
    private global::RecRoom.Protobuf.UGCSpawnerData ugcSpawnerData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.UGCSpawnerData UgcSpawnerData {
      get { return ugcSpawnerData_; }
      set {
        ugcSpawnerData_ = value;
      }
    }

    /// <summary>Field number for the "link_button_data" field.</summary>
    public const int LinkButtonDataFieldNumber = 60;
    private global::RecRoom.Protobuf.LinkButtonData linkButtonData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.LinkButtonData LinkButtonData {
      get { return linkButtonData_; }
      set {
        linkButtonData_ = value;
      }
    }

    /// <summary>Field number for the "raycast_gizmo_data" field.</summary>
    public const int RaycastGizmoDataFieldNumber = 61;
    private global::RecRoom.Protobuf.RaycastGizmoData raycastGizmoData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.RaycastGizmoData RaycastGizmoData {
      get { return raycastGizmoData_; }
      set {
        raycastGizmoData_ = value;
      }
    }

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

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

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

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

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

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

    /// <summary>Field number for the "log_screen_data" field.</summary>
    public const int LogScreenDataFieldNumber = 68;
    private global::RecRoom.Protobuf.LogScreenData logScreenData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.LogScreenData LogScreenData {
      get { return logScreenData_; }
      set {
        logScreenData_ = value;
      }
    }

    /// <summary>Field number for the "audio_effect_zone_data" field.</summary>
    public const int AudioEffectZoneDataFieldNumber = 69;
    private global::RecRoom.Protobuf.AudioEffectZoneData audioEffectZoneData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.AudioEffectZoneData AudioEffectZoneData {
      get { return audioEffectZoneData_; }
      set {
        audioEffectZoneData_ = value;
      }
    }

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

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

    /// <summary>Field number for the "configurable_selectors" field.</summary>
    public const int ConfigurableSelectorsFieldNumber = 72;
    private static readonly pb::FieldCodec<global::RecRoom.Protobuf.ConfigurableSelectorData> _repeated_configurableSelectors_codec
        = pb::FieldCodec.ForMessage(578, global::RecRoom.Protobuf.ConfigurableSelectorData.Parser);
    private readonly pbc::RepeatedField<global::RecRoom.Protobuf.ConfigurableSelectorData> configurableSelectors_ = new pbc::RepeatedField<global::RecRoom.Protobuf.ConfigurableSelectorData>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::RecRoom.Protobuf.ConfigurableSelectorData> ConfigurableSelectors {
      get { return configurableSelectors_; }
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /// <summary>Field number for the "entity_idx" field.</summary>
    public const int EntityIdxFieldNumber = 100;
    private int entityIdx_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EntityIdx {
      get { return entityIdx_; }
      set {
        entityIdx_ = value;
      }
    }

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

    /// <summary>Field number for the "room_door_v2_data" field.</summary>
    public const int RoomDoorV2DataFieldNumber = 102;
    private global::RecRoom.Protobuf.RoomDoorV2Data roomDoorV2Data_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.RoomDoorV2Data RoomDoorV2Data {
      get { return roomDoorV2Data_; }
      set {
        roomDoorV2Data_ = value;
      }
    }

    /// <summary>Field number for the "keepsake_data" field.</summary>
    public const int KeepsakeDataFieldNumber = 103;
    private global::RecRoom.Protobuf.KeepsakeData keepsakeData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.KeepsakeData KeepsakeData {
      get { return keepsakeData_; }
      set {
        keepsakeData_ = value;
      }
    }

    /// <summary>Field number for the "laser_pointer_data" field.</summary>
    public const int LaserPointerDataFieldNumber = 104;
    private global::RecRoom.Protobuf.LaserPointerData laserPointerData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.LaserPointerData LaserPointerData {
      get { return laserPointerData_; }
      set {
        laserPointerData_ = value;
      }
    }

    /// <summary>Field number for the "collision_detection_volume_data" field.</summary>
    public const int CollisionDetectionVolumeDataFieldNumber = 105;
    private global::RecRoom.Protobuf.CollisionDetectionVolumeData collisionDetectionVolumeData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.CollisionDetectionVolumeData CollisionDetectionVolumeData {
      get { return collisionDetectionVolumeData_; }
      set {
        collisionDetectionVolumeData_ = value;
      }
    }

    /// <summary>Field number for the "swing_handle_data" field.</summary>
    public const int SwingHandleDataFieldNumber = 106;
    private global::RecRoom.Protobuf.SwingHandleData swingHandleData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.SwingHandleData SwingHandleData {
      get { return swingHandleData_; }
      set {
        swingHandleData_ = value;
      }
    }

    /// <summary>Field number for the "trail_data" field.</summary>
    public const int TrailDataFieldNumber = 107;
    private global::RecRoom.Protobuf.TrailData trailData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.TrailData TrailData {
      get { return trailData_; }
      set {
        trailData_ = value;
      }
    }

    /// <summary>Field number for the "full_body_puppet_tool_data" field.</summary>
    public const int FullBodyPuppetToolDataFieldNumber = 108;
    private global::RecRoom.Protobuf.FullBodyPuppetToolData fullBodyPuppetToolData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.FullBodyPuppetToolData FullBodyPuppetToolData {
      get { return fullBodyPuppetToolData_; }
      set {
        fullBodyPuppetToolData_ = value;
      }
    }

    /// <summary>Field number for the "throw_handle_data" field.</summary>
    public const int ThrowHandleDataFieldNumber = 110;
    private global::RecRoom.Protobuf.ThrowHandleData throwHandleData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.ThrowHandleData ThrowHandleData {
      get { return throwHandleData_; }
      set {
        throwHandleData_ = value;
      }
    }

    /// <summary>Field number for the "dialogue_ui_data" field.</summary>
    public const int DialogueUiDataFieldNumber = 111;
    private global::RecRoom.Protobuf.DialogueUIData dialogueUiData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.DialogueUIData DialogueUiData {
      get { return dialogueUiData_; }
      set {
        dialogueUiData_ = value;
      }
    }

    /// <summary>Field number for the "grabber_data" field.</summary>
    public const int GrabberDataFieldNumber = 112;
    private global::RecRoom.Protobuf.GrabberData grabberData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.GrabberData GrabberData {
      get { return grabberData_; }
      set {
        grabberData_ = value;
      }
    }

    /// <summary>Field number for the "replicator_data" field.</summary>
    public const int ReplicatorDataFieldNumber = 113;
    private global::RecRoom.Protobuf.ReplicatorData replicatorData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.ReplicatorData ReplicatorData {
      get { return replicatorData_; }
      set {
        replicatorData_ = value;
      }
    }

    /// <summary>Field number for the "base_handle_data" field.</summary>
    public const int BaseHandleDataFieldNumber = 114;
    private global::RecRoom.Protobuf.BaseHandleData baseHandleData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.BaseHandleData BaseHandleData {
      get { return baseHandleData_; }
      set {
        baseHandleData_ = value;
      }
    }

    /// <summary>Field number for the "ranged_weapon_data" field.</summary>
    public const int RangedWeaponDataFieldNumber = 115;
    private global::RecRoom.Protobuf.RangedWeaponPropData rangedWeaponData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.RangedWeaponPropData RangedWeaponData {
      get { return rangedWeaponData_; }
      set {
        rangedWeaponData_ = value;
      }
    }

    /// <summary>Field number for the "ugc_steering_engine_data" field.</summary>
    public const int UgcSteeringEngineDataFieldNumber = 116;
    private global::RecRoom.Protobuf.UGCSteeringEngineData ugcSteeringEngineData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.UGCSteeringEngineData UgcSteeringEngineData {
      get { return ugcSteeringEngineData_; }
      set {
        ugcSteeringEngineData_ = value;
      }
    }

    /// <summary>Field number for the "ugc_steering_data" field.</summary>
    public const int UgcSteeringDataFieldNumber = 117;
    private global::RecRoom.Protobuf.UGCSteeringData ugcSteeringData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.UGCSteeringData UgcSteeringData {
      get { return ugcSteeringData_; }
      set {
        ugcSteeringData_ = value;
      }
    }

    /// <summary>Field number for the "shared_ranged_weapon_data" field.</summary>
    public const int SharedRangedWeaponDataFieldNumber = 118;
    private global::RecRoom.Protobuf.SharedRangedWeaponData sharedRangedWeaponData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.SharedRangedWeaponData SharedRangedWeaponData {
      get { return sharedRangedWeaponData_; }
      set {
        sharedRangedWeaponData_ = value;
      }
    }

    /// <summary>Field number for the "melee_weapon_data" field.</summary>
    public const int MeleeWeaponDataFieldNumber = 119;
    private global::RecRoom.Protobuf.MeleeWeaponData meleeWeaponData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.MeleeWeaponData MeleeWeaponData {
      get { return meleeWeaponData_; }
      set {
        meleeWeaponData_ = value;
      }
    }

    /// <summary>Field number for the "mannequin_data" field.</summary>
    public const int MannequinDataFieldNumber = 120;
    private global::RecRoom.Protobuf.MannequinData mannequinData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.MannequinData MannequinData {
      get { return mannequinData_; }
      set {
        mannequinData_ = value;
      }
    }

    /// <summary>Field number for the "game_ai_data" field.</summary>
    public const int GameAiDataFieldNumber = 121;
    private global::RecRoom.Protobuf.GameAIData gameAiData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.GameAIData GameAiData {
      get { return gameAiData_; }
      set {
        gameAiData_ = value;
      }
    }

    /// <summary>Field number for the "textured_quad_data" field.</summary>
    public const int TexturedQuadDataFieldNumber = 122;
    private global::RecRoom.Protobuf.TexturedQuadData texturedQuadData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.TexturedQuadData TexturedQuadData {
      get { return texturedQuadData_; }
      set {
        texturedQuadData_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PersistenceViewData other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (DEPRECATEDIsSceneObject != other.DEPRECATEDIsSceneObject) return false;
      if(!childViews_.Equals(other.childViews_)) return false;
      if (!object.Equals(ToolEntityData, other.ToolEntityData)) return false;
      if (!object.Equals(Transform, other.Transform)) return false;
      if (!object.Equals(SpawnableToolData, other.SpawnableToolData)) return false;
      if (!object.Equals(ShapeContainerData, other.ShapeContainerData)) return false;
      if (!object.Equals(DEPRECATEDToolData, other.DEPRECATEDToolData)) return false;
      if (!object.Equals(CreationObjectData, other.CreationObjectData)) return false;
      if (!object.Equals(TaggedToolData, other.TaggedToolData)) return false;
      if (!object.Equals(StickyData, other.StickyData)) return false;
      if (!object.Equals(DrawingSurfaceData, other.DrawingSurfaceData)) return false;
      if (!object.Equals(ImageData, other.ImageData)) return false;
      if (!object.Equals(ToolHolderData, other.ToolHolderData)) return false;
      if (!object.Equals(RemoteControlData, other.RemoteControlData)) return false;
      if (!object.Equals(RoomDoorData, other.RoomDoorData)) return false;
      if (!object.Equals(ToolCleanupData, other.ToolCleanupData)) return false;
      if (!object.Equals(SpawnpointSpawnerData, other.SpawnpointSpawnerData)) return false;
      if (!object.Equals(PersistedSfxData, other.PersistedSfxData)) return false;
      if (!object.Equals(CircuitNodeData, other.CircuitNodeData)) return false;
      if (!object.Equals(MessageData, other.MessageData)) return false;
      if (!object.Equals(HolotarPersistenceData, other.HolotarPersistenceData)) return false;
      if (!object.Equals(SpawnPointData, other.SpawnPointData)) return false;
      if (!object.Equals(AudioSamplerPersistenceData, other.AudioSamplerPersistenceData)) return false;
      if (!object.Equals(ButtonData, other.ButtonData)) return false;
      if (!object.Equals(TriggerVolumeData, other.TriggerVolumeData)) return false;
      if (!object.Equals(SandboxGizmoData, other.SandboxGizmoData)) return false;
      if (!object.Equals(ObjectSpawnPointData, other.ObjectSpawnPointData)) return false;
      if (!object.Equals(SetTagsNodeData, other.SetTagsNodeData)) return false;
      if (!object.Equals(BreakableObjectData, other.BreakableObjectData)) return false;
      if (!object.Equals(SandboxColorableData, other.SandboxColorableData)) return false;
      if (!object.Equals(ParticleEmitterData, other.ParticleEmitterData)) return false;
      if (!object.Equals(ObjectGroupData, other.ObjectGroupData)) return false;
      if (!object.Equals(StateMachineStateData, other.StateMachineStateData)) return false;
      if (!object.Equals(GameConfigurationData, other.GameConfigurationData)) return false;
      if (!object.Equals(GameRuleWrapperData, other.GameRuleWrapperData)) return false;
      if (!object.Equals(HealthPotionData, other.HealthPotionData)) return false;
      if (!object.Equals(ScoreboardSetupData, other.ScoreboardSetupData)) return false;
      if (!object.Equals(SpotlightData, other.SpotlightData)) return false;
      if (!object.Equals(DynamicLightData, other.DynamicLightData)) return false;
      if (!object.Equals(BouncePadData, other.BouncePadData)) return false;
      if (!object.Equals(CheckpointData, other.CheckpointData)) return false;
      if (!object.Equals(LeaderboardData, other.LeaderboardData)) return false;
      if (!object.Equals(SetLeaderboardStatData, other.SetLeaderboardStatData)) return false;
      if (!object.Equals(GameRoleNodeData, other.GameRoleNodeData)) return false;
      if (!object.Equals(PlayerAttractorData, other.PlayerAttractorData)) return false;
      if (!object.Equals(ToggleButtonData, other.ToggleButtonData)) return false;
      if (!object.Equals(SandboxDeformationData, other.SandboxDeformationData)) return false;
      if (!object.Equals(TextLabelData, other.TextLabelData)) return false;
      if (!object.Equals(ProximityMineData, other.ProximityMineData)) return false;
      if (!object.Equals(InvisibleCollisionData, other.InvisibleCollisionData)) return false;
      if (!object.Equals(MoodCircuitData, other.MoodCircuitData)) return false;
      if (!object.Equals(AiData, other.AiData)) return false;
      if (!object.Equals(UgcSpawnerData, other.UgcSpawnerData)) return false;
      if (!object.Equals(LinkButtonData, other.LinkButtonData)) return false;
      if (!object.Equals(RaycastGizmoData, other.RaycastGizmoData)) return false;
      if (!object.Equals(CostumeData, other.CostumeData)) return false;
      if (!object.Equals(FreeGiftButtonData, other.FreeGiftButtonData)) return false;
      if (!object.Equals(AreaData, other.AreaData)) return false;
      if (!object.Equals(ControlPanelData, other.ControlPanelData)) return false;
      if (!object.Equals(AreaControllerData, other.AreaControllerData)) return false;
      if (!object.Equals(ShowcasePosterData, other.ShowcasePosterData)) return false;
      if (!object.Equals(LogScreenData, other.LogScreenData)) return false;
      if (!object.Equals(AudioEffectZoneData, other.AudioEffectZoneData)) return false;
      if (!object.Equals(GlassPaneData, other.GlassPaneData)) return false;
      if (!object.Equals(DEPRECATEDConfigurableSelectorData, other.DEPRECATEDConfigurableSelectorData)) return false;
      if(!configurableSelectors_.Equals(other.configurableSelectors_)) return false;
      if (!object.Equals(StreamingCameraPointData, other.StreamingCameraPointData)) return false;
      if (!object.Equals(RoomCurrencyButtonData, other.RoomCurrencyButtonData)) return false;
      if (!object.Equals(ConfigurableCircuitVisibilityData, other.ConfigurableCircuitVisibilityData)) return false;
      if (!object.Equals(SeatData, other.SeatData)) return false;
      if (!object.Equals(MoveablePropData, other.MoveablePropData)) return false;
      if (!object.Equals(SyncedData, other.SyncedData)) return false;
      if (!object.Equals(RoomConsumableButtonData, other.RoomConsumableButtonData)) return false;
      if (!object.Equals(GroundVehicleData, other.GroundVehicleData)) return false;
      if (!object.Equals(VehicleEngineData, other.VehicleEngineData)) return false;
      if (!object.Equals(WheelDifferentialData, other.WheelDifferentialData)) return false;
      if (!object.Equals(WheelSuspensionSystemData, other.WheelSuspensionSystemData)) return false;
      if (!object.Equals(TriggerHandleData, other.TriggerHandleData)) return false;
      if (!object.Equals(InteractionVolumeData, other.InteractionVolumeData)) return false;
      if (!object.Equals(PoolTableData, other.PoolTableData)) return false;
      if (!object.Equals(PlayerEventBroadcastVolumeData, other.PlayerEventBroadcastVolumeData)) return false;
      if (!object.Equals(UgcStorefrontData, other.UgcStorefrontData)) return false;
      if (!object.Equals(ProjectileLauncherData, other.ProjectileLauncherData)) return false;
      if (!object.Equals(AudioPlayerData, other.AudioPlayerData)) return false;
      if (!object.Equals(DomeLightData, other.DomeLightData)) return false;
      if (!object.Equals(RemoteVideoPlayerData, other.RemoteVideoPlayerData)) return false;
      if (!object.Equals(ExplosionEmitterData, other.ExplosionEmitterData)) return false;
      if (!object.Equals(InvisibleCollisionV2Data, other.InvisibleCollisionV2Data)) return false;
      if (!object.Equals(ConfigurablePhysicsSettingsData, other.ConfigurablePhysicsSettingsData)) return false;
      if (!object.Equals(GunHandleData, other.GunHandleData)) return false;
      if (!object.Equals(SpawnPointV2Data, other.SpawnPointV2Data)) return false;
      if (!object.Equals(WelcomeMatV2Data, other.WelcomeMatV2Data)) return false;
      if (!object.Equals(BeaconData, other.BeaconData)) return false;
      if (EntityIdx != other.EntityIdx) return false;
      if (!object.Equals(TextScreenData, other.TextScreenData)) return false;
      if (!object.Equals(RoomDoorV2Data, other.RoomDoorV2Data)) return false;
      if (!object.Equals(KeepsakeData, other.KeepsakeData)) return false;
      if (!object.Equals(LaserPointerData, other.LaserPointerData)) return false;
      if (!object.Equals(CollisionDetectionVolumeData, other.CollisionDetectionVolumeData)) return false;
      if (!object.Equals(SwingHandleData, other.SwingHandleData)) return false;
      if (!object.Equals(TrailData, other.TrailData)) return false;
      if (!object.Equals(FullBodyPuppetToolData, other.FullBodyPuppetToolData)) return false;
      if (!object.Equals(ThrowHandleData, other.ThrowHandleData)) return false;
      if (!object.Equals(DialogueUiData, other.DialogueUiData)) return false;
      if (!object.Equals(GrabberData, other.GrabberData)) return false;
      if (!object.Equals(ReplicatorData, other.ReplicatorData)) return false;
      if (!object.Equals(BaseHandleData, other.BaseHandleData)) return false;
      if (!object.Equals(RangedWeaponData, other.RangedWeaponData)) return false;
      if (!object.Equals(UgcSteeringEngineData, other.UgcSteeringEngineData)) return false;
      if (!object.Equals(UgcSteeringData, other.UgcSteeringData)) return false;
      if (!object.Equals(SharedRangedWeaponData, other.SharedRangedWeaponData)) return false;
      if (!object.Equals(MeleeWeaponData, other.MeleeWeaponData)) return false;
      if (!object.Equals(MannequinData, other.MannequinData)) return false;
      if (!object.Equals(GameAiData, other.GameAiData)) return false;
      if (!object.Equals(TexturedQuadData, other.TexturedQuadData)) 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 (Id.Length != 0) hash ^= Id.GetHashCode();
      if (DEPRECATEDIsSceneObject != false) hash ^= DEPRECATEDIsSceneObject.GetHashCode();
      hash ^= childViews_.GetHashCode();
      if (toolEntityData_ != null) hash ^= ToolEntityData.GetHashCode();
      if (transform_ != null) hash ^= Transform.GetHashCode();
      if (spawnableToolData_ != null) hash ^= SpawnableToolData.GetHashCode();
      if (shapeContainerData_ != null) hash ^= ShapeContainerData.GetHashCode();
      if (dEPRECATEDToolData_ != null) hash ^= DEPRECATEDToolData.GetHashCode();
      if (creationObjectData_ != null) hash ^= CreationObjectData.GetHashCode();
      if (taggedToolData_ != null) hash ^= TaggedToolData.GetHashCode();
      if (stickyData_ != null) hash ^= StickyData.GetHashCode();
      if (drawingSurfaceData_ != null) hash ^= DrawingSurfaceData.GetHashCode();
      if (imageData_ != null) hash ^= ImageData.GetHashCode();
      if (toolHolderData_ != null) hash ^= ToolHolderData.GetHashCode();
      if (remoteControlData_ != null) hash ^= RemoteControlData.GetHashCode();
      if (roomDoorData_ != null) hash ^= RoomDoorData.GetHashCode();
      if (toolCleanupData_ != null) hash ^= ToolCleanupData.GetHashCode();
      if (spawnpointSpawnerData_ != null) hash ^= SpawnpointSpawnerData.GetHashCode();
      if (persistedSfxData_ != null) hash ^= PersistedSfxData.GetHashCode();
      if (circuitNodeData_ != null) hash ^= CircuitNodeData.GetHashCode();
      if (messageData_ != null) hash ^= MessageData.GetHashCode();
      if (holotarPersistenceData_ != null) hash ^= HolotarPersistenceData.GetHashCode();
      if (spawnPointData_ != null) hash ^= SpawnPointData.GetHashCode();
      if (audioSamplerPersistenceData_ != null) hash ^= AudioSamplerPersistenceData.GetHashCode();
      if (buttonData_ != null) hash ^= ButtonData.GetHashCode();
      if (triggerVolumeData_ != null) hash ^= TriggerVolumeData.GetHashCode();
      if (sandboxGizmoData_ != null) hash ^= SandboxGizmoData.GetHashCode();
      if (objectSpawnPointData_ != null) hash ^= ObjectSpawnPointData.GetHashCode();
      if (setTagsNodeData_ != null) hash ^= SetTagsNodeData.GetHashCode();
      if (breakableObjectData_ != null) hash ^= BreakableObjectData.GetHashCode();
      if (sandboxColorableData_ != null) hash ^= SandboxColorableData.GetHashCode();
      if (particleEmitterData_ != null) hash ^= ParticleEmitterData.GetHashCode();
      if (objectGroupData_ != null) hash ^= ObjectGroupData.GetHashCode();
      if (stateMachineStateData_ != null) hash ^= StateMachineStateData.GetHashCode();
      if (gameConfigurationData_ != null) hash ^= GameConfigurationData.GetHashCode();
      if (gameRuleWrapperData_ != null) hash ^= GameRuleWrapperData.GetHashCode();
      if (healthPotionData_ != null) hash ^= HealthPotionData.GetHashCode();
      if (scoreboardSetupData_ != null) hash ^= ScoreboardSetupData.GetHashCode();
      if (spotlightData_ != null) hash ^= SpotlightData.GetHashCode();
      if (dynamicLightData_ != null) hash ^= DynamicLightData.GetHashCode();
      if (bouncePadData_ != null) hash ^= BouncePadData.GetHashCode();
      if (checkpointData_ != null) hash ^= CheckpointData.GetHashCode();
      if (leaderboardData_ != null) hash ^= LeaderboardData.GetHashCode();
      if (setLeaderboardStatData_ != null) hash ^= SetLeaderboardStatData.GetHashCode();
      if (gameRoleNodeData_ != null) hash ^= GameRoleNodeData.GetHashCode();
      if (playerAttractorData_ != null) hash ^= PlayerAttractorData.GetHashCode();
      if (toggleButtonData_ != null) hash ^= ToggleButtonData.GetHashCode();
      if (sandboxDeformationData_ != null) hash ^= SandboxDeformationData.GetHashCode();
      if (textLabelData_ != null) hash ^= TextLabelData.GetHashCode();
      if (proximityMineData_ != null) hash ^= ProximityMineData.GetHashCode();
      if (invisibleCollisionData_ != null) hash ^= InvisibleCollisionData.GetHashCode();
      if (moodCircuitData_ != null) hash ^= MoodCircuitData.GetHashCode();
      if (aiData_ != null) hash ^= AiData.GetHashCode();
      if (ugcSpawnerData_ != null) hash ^= UgcSpawnerData.GetHashCode();
      if (linkButtonData_ != null) hash ^= LinkButtonData.GetHashCode();
      if (raycastGizmoData_ != null) hash ^= RaycastGizmoData.GetHashCode();
      if (costumeData_ != null) hash ^= CostumeData.GetHashCode();
      if (freeGiftButtonData_ != null) hash ^= FreeGiftButtonData.GetHashCode();
      if (areaData_ != null) hash ^= AreaData.GetHashCode();
      if (controlPanelData_ != null) hash ^= ControlPanelData.GetHashCode();
      if (areaControllerData_ != null) hash ^= AreaControllerData.GetHashCode();
      if (showcasePosterData_ != null) hash ^= ShowcasePosterData.GetHashCode();
      if (logScreenData_ != null) hash ^= LogScreenData.GetHashCode();
      if (audioEffectZoneData_ != null) hash ^= AudioEffectZoneData.GetHashCode();
      if (glassPaneData_ != null) hash ^= GlassPaneData.GetHashCode();
      if (dEPRECATEDConfigurableSelectorData_ != null) hash ^= DEPRECATEDConfigurableSelectorData.GetHashCode();
      hash ^= configurableSelectors_.GetHashCode();
      if (streamingCameraPointData_ != null) hash ^= StreamingCameraPointData.GetHashCode();
      if (roomCurrencyButtonData_ != null) hash ^= RoomCurrencyButtonData.GetHashCode();
      if (configurableCircuitVisibilityData_ != null) hash ^= ConfigurableCircuitVisibilityData.GetHashCode();
      if (seatData_ != null) hash ^= SeatData.GetHashCode();
      if (moveablePropData_ != null) hash ^= MoveablePropData.GetHashCode();
      if (syncedData_ != null) hash ^= SyncedData.GetHashCode();
      if (roomConsumableButtonData_ != null) hash ^= RoomConsumableButtonData.GetHashCode();
      if (groundVehicleData_ != null) hash ^= GroundVehicleData.GetHashCode();
      if (vehicleEngineData_ != null) hash ^= VehicleEngineData.GetHashCode();
      if (wheelDifferentialData_ != null) hash ^= WheelDifferentialData.GetHashCode();
      if (wheelSuspensionSystemData_ != null) hash ^= WheelSuspensionSystemData.GetHashCode();
      if (triggerHandleData_ != null) hash ^= TriggerHandleData.GetHashCode();
      if (interactionVolumeData_ != null) hash ^= InteractionVolumeData.GetHashCode();
      if (poolTableData_ != null) hash ^= PoolTableData.GetHashCode();
      if (playerEventBroadcastVolumeData_ != null) hash ^= PlayerEventBroadcastVolumeData.GetHashCode();
      if (ugcStorefrontData_ != null) hash ^= UgcStorefrontData.GetHashCode();
      if (projectileLauncherData_ != null) hash ^= ProjectileLauncherData.GetHashCode();
      if (audioPlayerData_ != null) hash ^= AudioPlayerData.GetHashCode();
      if (domeLightData_ != null) hash ^= DomeLightData.GetHashCode();
      if (remoteVideoPlayerData_ != null) hash ^= RemoteVideoPlayerData.GetHashCode();
      if (explosionEmitterData_ != null) hash ^= ExplosionEmitterData.GetHashCode();
      if (invisibleCollisionV2Data_ != null) hash ^= InvisibleCollisionV2Data.GetHashCode();
      if (configurablePhysicsSettingsData_ != null) hash ^= ConfigurablePhysicsSettingsData.GetHashCode();
      if (gunHandleData_ != null) hash ^= GunHandleData.GetHashCode();
      if (spawnPointV2Data_ != null) hash ^= SpawnPointV2Data.GetHashCode();
      if (welcomeMatV2Data_ != null) hash ^= WelcomeMatV2Data.GetHashCode();
      if (beaconData_ != null) hash ^= BeaconData.GetHashCode();
      if (EntityIdx != 0) hash ^= EntityIdx.GetHashCode();
      if (textScreenData_ != null) hash ^= TextScreenData.GetHashCode();
      if (roomDoorV2Data_ != null) hash ^= RoomDoorV2Data.GetHashCode();
      if (keepsakeData_ != null) hash ^= KeepsakeData.GetHashCode();
      if (laserPointerData_ != null) hash ^= LaserPointerData.GetHashCode();
      if (collisionDetectionVolumeData_ != null) hash ^= CollisionDetectionVolumeData.GetHashCode();
      if (swingHandleData_ != null) hash ^= SwingHandleData.GetHashCode();
      if (trailData_ != null) hash ^= TrailData.GetHashCode();
      if (fullBodyPuppetToolData_ != null) hash ^= FullBodyPuppetToolData.GetHashCode();
      if (throwHandleData_ != null) hash ^= ThrowHandleData.GetHashCode();
      if (dialogueUiData_ != null) hash ^= DialogueUiData.GetHashCode();
      if (grabberData_ != null) hash ^= GrabberData.GetHashCode();
      if (replicatorData_ != null) hash ^= ReplicatorData.GetHashCode();
      if (baseHandleData_ != null) hash ^= BaseHandleData.GetHashCode();
      if (rangedWeaponData_ != null) hash ^= RangedWeaponData.GetHashCode();
      if (ugcSteeringEngineData_ != null) hash ^= UgcSteeringEngineData.GetHashCode();
      if (ugcSteeringData_ != null) hash ^= UgcSteeringData.GetHashCode();
      if (sharedRangedWeaponData_ != null) hash ^= SharedRangedWeaponData.GetHashCode();
      if (meleeWeaponData_ != null) hash ^= MeleeWeaponData.GetHashCode();
      if (mannequinData_ != null) hash ^= MannequinData.GetHashCode();
      if (gameAiData_ != null) hash ^= GameAiData.GetHashCode();
      if (texturedQuadData_ != null) hash ^= TexturedQuadData.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 (Id.Length != 0) {
        output.WriteRawTag(10);
        output.WriteBytes(Id);
      }
      if (DEPRECATEDIsSceneObject != false) {
        output.WriteRawTag(16);
        output.WriteBool(DEPRECATEDIsSceneObject);
      }
      childViews_.WriteTo(output, _repeated_childViews_codec);
      if (toolEntityData_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(ToolEntityData);
      }
      if (transform_ != null) {
        output.WriteRawTag(82);
        output.WriteMessage(Transform);
      }
      if (spawnableToolData_ != null) {
        output.WriteRawTag(90);
        output.WriteMessage(SpawnableToolData);
      }
      if (shapeContainerData_ != null) {
        output.WriteRawTag(98);
        output.WriteMessage(ShapeContainerData);
      }
      if (dEPRECATEDToolData_ != null) {
        output.WriteRawTag(106);
        output.WriteMessage(DEPRECATEDToolData);
      }
      if (creationObjectData_ != null) {
        output.WriteRawTag(114);
        output.WriteMessage(CreationObjectData);
      }
      if (taggedToolData_ != null) {
        output.WriteRawTag(122);
        output.WriteMessage(TaggedToolData);
      }
      if (stickyData_ != null) {
        output.WriteRawTag(130, 1);
        output.WriteMessage(StickyData);
      }
      if (drawingSurfaceData_ != null) {
        output.WriteRawTag(138, 1);
        output.WriteMessage(DrawingSurfaceData);
      }
      if (imageData_ != null) {
        output.WriteRawTag(146, 1);
        output.WriteMessage(ImageData);
      }
      if (toolHolderData_ != null) {
        output.WriteRawTag(154, 1);
        output.WriteMessage(ToolHolderData);
      }
      if (remoteControlData_ != null) {
        output.WriteRawTag(162, 1);
        output.WriteMessage(RemoteControlData);
      }
      if (roomDoorData_ != null) {
        output.WriteRawTag(170, 1);
        output.WriteMessage(RoomDoorData);
      }
      if (toolCleanupData_ != null) {
        output.WriteRawTag(178, 1);
        output.WriteMessage(ToolCleanupData);
      }
      if (spawnpointSpawnerData_ != null) {
        output.WriteRawTag(186, 1);
        output.WriteMessage(SpawnpointSpawnerData);
      }
      if (persistedSfxData_ != null) {
        output.WriteRawTag(194, 1);
        output.WriteMessage(PersistedSfxData);
      }
      if (circuitNodeData_ != null) {
        output.WriteRawTag(202, 1);
        output.WriteMessage(CircuitNodeData);
      }
      if (messageData_ != null) {
        output.WriteRawTag(210, 1);
        output.WriteMessage(MessageData);
      }
      if (holotarPersistenceData_ != null) {
        output.WriteRawTag(218, 1);
        output.WriteMessage(HolotarPersistenceData);
      }
      if (spawnPointData_ != null) {
        output.WriteRawTag(226, 1);
        output.WriteMessage(SpawnPointData);
      }
      if (audioSamplerPersistenceData_ != null) {
        output.WriteRawTag(234, 1);
        output.WriteMessage(AudioSamplerPersistenceData);
      }
      if (buttonData_ != null) {
        output.WriteRawTag(242, 1);
        output.WriteMessage(ButtonData);
      }
      if (triggerVolumeData_ != null) {
        output.WriteRawTag(250, 1);
        output.WriteMessage(TriggerVolumeData);
      }
      if (sandboxGizmoData_ != null) {
        output.WriteRawTag(130, 2);
        output.WriteMessage(SandboxGizmoData);
      }
      if (objectSpawnPointData_ != null) {
        output.WriteRawTag(138, 2);
        output.WriteMessage(ObjectSpawnPointData);
      }
      if (setTagsNodeData_ != null) {
        output.WriteRawTag(146, 2);
        output.WriteMessage(SetTagsNodeData);
      }
      if (breakableObjectData_ != null) {
        output.WriteRawTag(154, 2);
        output.WriteMessage(BreakableObjectData);
      }
      if (sandboxColorableData_ != null) {
        output.WriteRawTag(162, 2);
        output.WriteMessage(SandboxColorableData);
      }
      if (particleEmitterData_ != null) {
        output.WriteRawTag(170, 2);
        output.WriteMessage(ParticleEmitterData);
      }
      if (objectGroupData_ != null) {
        output.WriteRawTag(178, 2);
        output.WriteMessage(ObjectGroupData);
      }
      if (stateMachineStateData_ != null) {
        output.WriteRawTag(186, 2);
        output.WriteMessage(StateMachineStateData);
      }
      if (gameConfigurationData_ != null) {
        output.WriteRawTag(194, 2);
        output.WriteMessage(GameConfigurationData);
      }
      if (gameRuleWrapperData_ != null) {
        output.WriteRawTag(202, 2);
        output.WriteMessage(GameRuleWrapperData);
      }
      if (healthPotionData_ != null) {
        output.WriteRawTag(210, 2);
        output.WriteMessage(HealthPotionData);
      }
      if (scoreboardSetupData_ != null) {
        output.WriteRawTag(218, 2);
        output.WriteMessage(ScoreboardSetupData);
      }
      if (spotlightData_ != null) {
        output.WriteRawTag(226, 2);
        output.WriteMessage(SpotlightData);
      }
      if (dynamicLightData_ != null) {
        output.WriteRawTag(234, 2);
        output.WriteMessage(DynamicLightData);
      }
      if (bouncePadData_ != null) {
        output.WriteRawTag(242, 2);
        output.WriteMessage(BouncePadData);
      }
      if (checkpointData_ != null) {
        output.WriteRawTag(250, 2);
        output.WriteMessage(CheckpointData);
      }
      if (leaderboardData_ != null) {
        output.WriteRawTag(130, 3);
        output.WriteMessage(LeaderboardData);
      }
      if (setLeaderboardStatData_ != null) {
        output.WriteRawTag(138, 3);
        output.WriteMessage(SetLeaderboardStatData);
      }
      if (gameRoleNodeData_ != null) {
        output.WriteRawTag(146, 3);
        output.WriteMessage(GameRoleNodeData);
      }
      if (playerAttractorData_ != null) {
        output.WriteRawTag(154, 3);
        output.WriteMessage(PlayerAttractorData);
      }
      if (toggleButtonData_ != null) {
        output.WriteRawTag(162, 3);
        output.WriteMessage(ToggleButtonData);
      }
      if (sandboxDeformationData_ != null) {
        output.WriteRawTag(170, 3);
        output.WriteMessage(SandboxDeformationData);
      }
      if (textLabelData_ != null) {
        output.WriteRawTag(178, 3);
        output.WriteMessage(TextLabelData);
      }
      if (proximityMineData_ != null) {
        output.WriteRawTag(186, 3);
        output.WriteMessage(ProximityMineData);
      }
      if (invisibleCollisionData_ != null) {
        output.WriteRawTag(194, 3);
        output.WriteMessage(InvisibleCollisionData);
      }
      if (moodCircuitData_ != null) {
        output.WriteRawTag(202, 3);
        output.WriteMessage(MoodCircuitData);
      }
      if (aiData_ != null) {
        output.WriteRawTag(210, 3);
        output.WriteMessage(AiData);
      }
      if (ugcSpawnerData_ != null) {
        output.WriteRawTag(218, 3);
        output.WriteMessage(UgcSpawnerData);
      }
      if (linkButtonData_ != null) {
        output.WriteRawTag(226, 3);
        output.WriteMessage(LinkButtonData);
      }
      if (raycastGizmoData_ != null) {
        output.WriteRawTag(234, 3);
        output.WriteMessage(RaycastGizmoData);
      }
      if (costumeData_ != null) {
        output.WriteRawTag(242, 3);
        output.WriteMessage(CostumeData);
      }
      if (freeGiftButtonData_ != null) {
        output.WriteRawTag(250, 3);
        output.WriteMessage(FreeGiftButtonData);
      }
      if (areaData_ != null) {
        output.WriteRawTag(130, 4);
        output.WriteMessage(AreaData);
      }
      if (controlPanelData_ != null) {
        output.WriteRawTag(138, 4);
        output.WriteMessage(ControlPanelData);
      }
      if (areaControllerData_ != null) {
        output.WriteRawTag(146, 4);
        output.WriteMessage(AreaControllerData);
      }
      if (showcasePosterData_ != null) {
        output.WriteRawTag(154, 4);
        output.WriteMessage(ShowcasePosterData);
      }
      if (logScreenData_ != null) {
        output.WriteRawTag(162, 4);
        output.WriteMessage(LogScreenData);
      }
      if (audioEffectZoneData_ != null) {
        output.WriteRawTag(170, 4);
        output.WriteMessage(AudioEffectZoneData);
      }
      if (glassPaneData_ != null) {
        output.WriteRawTag(178, 4);
        output.WriteMessage(GlassPaneData);
      }
      if (dEPRECATEDConfigurableSelectorData_ != null) {
        output.WriteRawTag(186, 4);
        output.WriteMessage(DEPRECATEDConfigurableSelectorData);
      }
      configurableSelectors_.WriteTo(output, _repeated_configurableSelectors_codec);
      if (streamingCameraPointData_ != null) {
        output.WriteRawTag(202, 4);
        output.WriteMessage(StreamingCameraPointData);
      }
      if (roomCurrencyButtonData_ != null) {
        output.WriteRawTag(210, 4);
        output.WriteMessage(RoomCurrencyButtonData);
      }
      if (configurableCircuitVisibilityData_ != null) {
        output.WriteRawTag(218, 4);
        output.WriteMessage(ConfigurableCircuitVisibilityData);
      }
      if (seatData_ != null) {
        output.WriteRawTag(226, 4);
        output.WriteMessage(SeatData);
      }
      if (moveablePropData_ != null) {
        output.WriteRawTag(234, 4);
        output.WriteMessage(MoveablePropData);
      }
      if (syncedData_ != null) {
        output.WriteRawTag(242, 4);
        output.WriteMessage(SyncedData);
      }
      if (roomConsumableButtonData_ != null) {
        output.WriteRawTag(250, 4);
        output.WriteMessage(RoomConsumableButtonData);
      }
      if (groundVehicleData_ != null) {
        output.WriteRawTag(130, 5);
        output.WriteMessage(GroundVehicleData);
      }
      if (vehicleEngineData_ != null) {
        output.WriteRawTag(138, 5);
        output.WriteMessage(VehicleEngineData);
      }
      if (wheelDifferentialData_ != null) {
        output.WriteRawTag(146, 5);
        output.WriteMessage(WheelDifferentialData);
      }
      if (wheelSuspensionSystemData_ != null) {
        output.WriteRawTag(154, 5);
        output.WriteMessage(WheelSuspensionSystemData);
      }
      if (triggerHandleData_ != null) {
        output.WriteRawTag(162, 5);
        output.WriteMessage(TriggerHandleData);
      }
      if (interactionVolumeData_ != null) {
        output.WriteRawTag(170, 5);
        output.WriteMessage(InteractionVolumeData);
      }
      if (poolTableData_ != null) {
        output.WriteRawTag(178, 5);
        output.WriteMessage(PoolTableData);
      }
      if (playerEventBroadcastVolumeData_ != null) {
        output.WriteRawTag(186, 5);
        output.WriteMessage(PlayerEventBroadcastVolumeData);
      }
      if (ugcStorefrontData_ != null) {
        output.WriteRawTag(194, 5);
        output.WriteMessage(UgcStorefrontData);
      }
      if (projectileLauncherData_ != null) {
        output.WriteRawTag(202, 5);
        output.WriteMessage(ProjectileLauncherData);
      }
      if (audioPlayerData_ != null) {
        output.WriteRawTag(210, 5);
        output.WriteMessage(AudioPlayerData);
      }
      if (domeLightData_ != null) {
        output.WriteRawTag(218, 5);
        output.WriteMessage(DomeLightData);
      }
      if (remoteVideoPlayerData_ != null) {
        output.WriteRawTag(226, 5);
        output.WriteMessage(RemoteVideoPlayerData);
      }
      if (explosionEmitterData_ != null) {
        output.WriteRawTag(234, 5);
        output.WriteMessage(ExplosionEmitterData);
      }
      if (invisibleCollisionV2Data_ != null) {
        output.WriteRawTag(242, 5);
        output.WriteMessage(InvisibleCollisionV2Data);
      }
      if (configurablePhysicsSettingsData_ != null) {
        output.WriteRawTag(250, 5);
        output.WriteMessage(ConfigurablePhysicsSettingsData);
      }
      if (gunHandleData_ != null) {
        output.WriteRawTag(130, 6);
        output.WriteMessage(GunHandleData);
      }
      if (spawnPointV2Data_ != null) {
        output.WriteRawTag(138, 6);
        output.WriteMessage(SpawnPointV2Data);
      }
      if (welcomeMatV2Data_ != null) {
        output.WriteRawTag(146, 6);
        output.WriteMessage(WelcomeMatV2Data);
      }
      if (beaconData_ != null) {
        output.WriteRawTag(154, 6);
        output.WriteMessage(BeaconData);
      }
      if (EntityIdx != 0) {
        output.WriteRawTag(160, 6);
        output.WriteInt32(EntityIdx);
      }
      if (textScreenData_ != null) {
        output.WriteRawTag(170, 6);
        output.WriteMessage(TextScreenData);
      }
      if (roomDoorV2Data_ != null) {
        output.WriteRawTag(178, 6);
        output.WriteMessage(RoomDoorV2Data);
      }
      if (keepsakeData_ != null) {
        output.WriteRawTag(186, 6);
        output.WriteMessage(KeepsakeData);
      }
      if (laserPointerData_ != null) {
        output.WriteRawTag(194, 6);
        output.WriteMessage(LaserPointerData);
      }
      if (collisionDetectionVolumeData_ != null) {
        output.WriteRawTag(202, 6);
        output.WriteMessage(CollisionDetectionVolumeData);
      }
      if (swingHandleData_ != null) {
        output.WriteRawTag(210, 6);
        output.WriteMessage(SwingHandleData);
      }
      if (trailData_ != null) {
        output.WriteRawTag(218, 6);
        output.WriteMessage(TrailData);
      }
      if (fullBodyPuppetToolData_ != null) {
        output.WriteRawTag(226, 6);
        output.WriteMessage(FullBodyPuppetToolData);
      }
      if (throwHandleData_ != null) {
        output.WriteRawTag(242, 6);
        output.WriteMessage(ThrowHandleData);
      }
      if (dialogueUiData_ != null) {
        output.WriteRawTag(250, 6);
        output.WriteMessage(DialogueUiData);
      }
      if (grabberData_ != null) {
        output.WriteRawTag(130, 7);
        output.WriteMessage(GrabberData);
      }
      if (replicatorData_ != null) {
        output.WriteRawTag(138, 7);
        output.WriteMessage(ReplicatorData);
      }
      if (baseHandleData_ != null) {
        output.WriteRawTag(146, 7);
        output.WriteMessage(BaseHandleData);
      }
      if (rangedWeaponData_ != null) {
        output.WriteRawTag(154, 7);
        output.WriteMessage(RangedWeaponData);
      }
      if (ugcSteeringEngineData_ != null) {
        output.WriteRawTag(162, 7);
        output.WriteMessage(UgcSteeringEngineData);
      }
      if (ugcSteeringData_ != null) {
        output.WriteRawTag(170, 7);
        output.WriteMessage(UgcSteeringData);
      }
      if (sharedRangedWeaponData_ != null) {
        output.WriteRawTag(178, 7);
        output.WriteMessage(SharedRangedWeaponData);
      }
      if (meleeWeaponData_ != null) {
        output.WriteRawTag(186, 7);
        output.WriteMessage(MeleeWeaponData);
      }
      if (mannequinData_ != null) {
        output.WriteRawTag(194, 7);
        output.WriteMessage(MannequinData);
      }
      if (gameAiData_ != null) {
        output.WriteRawTag(202, 7);
        output.WriteMessage(GameAiData);
      }
      if (texturedQuadData_ != null) {
        output.WriteRawTag(210, 7);
        output.WriteMessage(TexturedQuadData);
      }
      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 (Id.Length != 0) {
        output.WriteRawTag(10);
        output.WriteBytes(Id);
      }
      if (DEPRECATEDIsSceneObject != false) {
        output.WriteRawTag(16);
        output.WriteBool(DEPRECATEDIsSceneObject);
      }
      childViews_.WriteTo(ref output, _repeated_childViews_codec);
      if (toolEntityData_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(ToolEntityData);
      }
      if (transform_ != null) {
        output.WriteRawTag(82);
        output.WriteMessage(Transform);
      }
      if (spawnableToolData_ != null) {
        output.WriteRawTag(90);
        output.WriteMessage(SpawnableToolData);
      }
      if (shapeContainerData_ != null) {
        output.WriteRawTag(98);
        output.WriteMessage(ShapeContainerData);
      }
      if (dEPRECATEDToolData_ != null) {
        output.WriteRawTag(106);
        output.WriteMessage(DEPRECATEDToolData);
      }
      if (creationObjectData_ != null) {
        output.WriteRawTag(114);
        output.WriteMessage(CreationObjectData);
      }
      if (taggedToolData_ != null) {
        output.WriteRawTag(122);
        output.WriteMessage(TaggedToolData);
      }
      if (stickyData_ != null) {
        output.WriteRawTag(130, 1);
        output.WriteMessage(StickyData);
      }
      if (drawingSurfaceData_ != null) {
        output.WriteRawTag(138, 1);
        output.WriteMessage(DrawingSurfaceData);
      }
      if (imageData_ != null) {
        output.WriteRawTag(146, 1);
        output.WriteMessage(ImageData);
      }
      if (toolHolderData_ != null) {
        output.WriteRawTag(154, 1);
        output.WriteMessage(ToolHolderData);
      }
      if (remoteControlData_ != null) {
        output.WriteRawTag(162, 1);
        output.WriteMessage(RemoteControlData);
      }
      if (roomDoorData_ != null) {
        output.WriteRawTag(170, 1);
        output.WriteMessage(RoomDoorData);
      }
      if (toolCleanupData_ != null) {
        output.WriteRawTag(178, 1);
        output.WriteMessage(ToolCleanupData);
      }
      if (spawnpointSpawnerData_ != null) {
        output.WriteRawTag(186, 1);
        output.WriteMessage(SpawnpointSpawnerData);
      }
      if (persistedSfxData_ != null) {
        output.WriteRawTag(194, 1);
        output.WriteMessage(PersistedSfxData);
      }
      if (circuitNodeData_ != null) {
        output.WriteRawTag(202, 1);
        output.WriteMessage(CircuitNodeData);
      }
      if (messageData_ != null) {
        output.WriteRawTag(210, 1);
        output.WriteMessage(MessageData);
      }
      if (holotarPersistenceData_ != null) {
        output.WriteRawTag(218, 1);
        output.WriteMessage(HolotarPersistenceData);
      }
      if (spawnPointData_ != null) {
        output.WriteRawTag(226, 1);
        output.WriteMessage(SpawnPointData);
      }
      if (audioSamplerPersistenceData_ != null) {
        output.WriteRawTag(234, 1);
        output.WriteMessage(AudioSamplerPersistenceData);
      }
      if (buttonData_ != null) {
        output.WriteRawTag(242, 1);
        output.WriteMessage(ButtonData);
      }
      if (triggerVolumeData_ != null) {
        output.WriteRawTag(250, 1);
        output.WriteMessage(TriggerVolumeData);
      }
      if (sandboxGizmoData_ != null) {
        output.WriteRawTag(130, 2);
        output.WriteMessage(SandboxGizmoData);
      }
      if (objectSpawnPointData_ != null) {
        output.WriteRawTag(138, 2);
        output.WriteMessage(ObjectSpawnPointData);
      }
      if (setTagsNodeData_ != null) {
        output.WriteRawTag(146, 2);
        output.WriteMessage(SetTagsNodeData);
      }
      if (breakableObjectData_ != null) {
        output.WriteRawTag(154, 2);
        output.WriteMessage(BreakableObjectData);
      }
      if (sandboxColorableData_ != null) {
        output.WriteRawTag(162, 2);
        output.WriteMessage(SandboxColorableData);
      }
      if (particleEmitterData_ != null) {
        output.WriteRawTag(170, 2);
        output.WriteMessage(ParticleEmitterData);
      }
      if (objectGroupData_ != null) {
        output.WriteRawTag(178, 2);
        output.WriteMessage(ObjectGroupData);
      }
      if (stateMachineStateData_ != null) {
        output.WriteRawTag(186, 2);
        output.WriteMessage(StateMachineStateData);
      }
      if (gameConfigurationData_ != null) {
        output.WriteRawTag(194, 2);
        output.WriteMessage(GameConfigurationData);
      }
      if (gameRuleWrapperData_ != null) {
        output.WriteRawTag(202, 2);
        output.WriteMessage(GameRuleWrapperData);
      }
      if (healthPotionData_ != null) {
        output.WriteRawTag(210, 2);
        output.WriteMessage(HealthPotionData);
      }
      if (scoreboardSetupData_ != null) {
        output.WriteRawTag(218, 2);
        output.WriteMessage(ScoreboardSetupData);
      }
      if (spotlightData_ != null) {
        output.WriteRawTag(226, 2);
        output.WriteMessage(SpotlightData);
      }
      if (dynamicLightData_ != null) {
        output.WriteRawTag(234, 2);
        output.WriteMessage(DynamicLightData);
      }
      if (bouncePadData_ != null) {
        output.WriteRawTag(242, 2);
        output.WriteMessage(BouncePadData);
      }
      if (checkpointData_ != null) {
        output.WriteRawTag(250, 2);
        output.WriteMessage(CheckpointData);
      }
      if (leaderboardData_ != null) {
        output.WriteRawTag(130, 3);
        output.WriteMessage(LeaderboardData);
      }
      if (setLeaderboardStatData_ != null) {
        output.WriteRawTag(138, 3);
        output.WriteMessage(SetLeaderboardStatData);
      }
      if (gameRoleNodeData_ != null) {
        output.WriteRawTag(146, 3);
        output.WriteMessage(GameRoleNodeData);
      }
      if (playerAttractorData_ != null) {
        output.WriteRawTag(154, 3);
        output.WriteMessage(PlayerAttractorData);
      }
      if (toggleButtonData_ != null) {
        output.WriteRawTag(162, 3);
        output.WriteMessage(ToggleButtonData);
      }
      if (sandboxDeformationData_ != null) {
        output.WriteRawTag(170, 3);
        output.WriteMessage(SandboxDeformationData);
      }
      if (textLabelData_ != null) {
        output.WriteRawTag(178, 3);
        output.WriteMessage(TextLabelData);
      }
      if (proximityMineData_ != null) {
        output.WriteRawTag(186, 3);
        output.WriteMessage(ProximityMineData);
      }
      if (invisibleCollisionData_ != null) {
        output.WriteRawTag(194, 3);
        output.WriteMessage(InvisibleCollisionData);
      }
      if (moodCircuitData_ != null) {
        output.WriteRawTag(202, 3);
        output.WriteMessage(MoodCircuitData);
      }
      if (aiData_ != null) {
        output.WriteRawTag(210, 3);
        output.WriteMessage(AiData);
      }
      if (ugcSpawnerData_ != null) {
        output.WriteRawTag(218, 3);
        output.WriteMessage(UgcSpawnerData);
      }
      if (linkButtonData_ != null) {
        output.WriteRawTag(226, 3);
        output.WriteMessage(LinkButtonData);
      }
      if (raycastGizmoData_ != null) {
        output.WriteRawTag(234, 3);
        output.WriteMessage(RaycastGizmoData);
      }
      if (costumeData_ != null) {
        output.WriteRawTag(242, 3);
        output.WriteMessage(CostumeData);
      }
      if (freeGiftButtonData_ != null) {
        output.WriteRawTag(250, 3);
        output.WriteMessage(FreeGiftButtonData);
      }
      if (areaData_ != null) {
        output.WriteRawTag(130, 4);
        output.WriteMessage(AreaData);
      }
      if (controlPanelData_ != null) {
        output.WriteRawTag(138, 4);
        output.WriteMessage(ControlPanelData);
      }
      if (areaControllerData_ != null) {
        output.WriteRawTag(146, 4);
        output.WriteMessage(AreaControllerData);
      }
      if (showcasePosterData_ != null) {
        output.WriteRawTag(154, 4);
        output.WriteMessage(ShowcasePosterData);
      }
      if (logScreenData_ != null) {
        output.WriteRawTag(162, 4);
        output.WriteMessage(LogScreenData);
      }
      if (audioEffectZoneData_ != null) {
        output.WriteRawTag(170, 4);
        output.WriteMessage(AudioEffectZoneData);
      }
      if (glassPaneData_ != null) {
        output.WriteRawTag(178, 4);
        output.WriteMessage(GlassPaneData);
      }
      if (dEPRECATEDConfigurableSelectorData_ != null) {
        output.WriteRawTag(186, 4);
        output.WriteMessage(DEPRECATEDConfigurableSelectorData);
      }
      configurableSelectors_.WriteTo(ref output, _repeated_configurableSelectors_codec);
      if (streamingCameraPointData_ != null) {
        output.WriteRawTag(202, 4);
        output.WriteMessage(StreamingCameraPointData);
      }
      if (roomCurrencyButtonData_ != null) {
        output.WriteRawTag(210, 4);
        output.WriteMessage(RoomCurrencyButtonData);
      }
      if (configurableCircuitVisibilityData_ != null) {
        output.WriteRawTag(218, 4);
        output.WriteMessage(ConfigurableCircuitVisibilityData);
      }
      if (seatData_ != null) {
        output.WriteRawTag(226, 4);
        output.WriteMessage(SeatData);
      }
      if (moveablePropData_ != null) {
        output.WriteRawTag(234, 4);
        output.WriteMessage(MoveablePropData);
      }
      if (syncedData_ != null) {
        output.WriteRawTag(242, 4);
        output.WriteMessage(SyncedData);
      }
      if (roomConsumableButtonData_ != null) {
        output.WriteRawTag(250, 4);
        output.WriteMessage(RoomConsumableButtonData);
      }
      if (groundVehicleData_ != null) {
        output.WriteRawTag(130, 5);
        output.WriteMessage(GroundVehicleData);
      }
      if (vehicleEngineData_ != null) {
        output.WriteRawTag(138, 5);
        output.WriteMessage(VehicleEngineData);
      }
      if (wheelDifferentialData_ != null) {
        output.WriteRawTag(146, 5);
        output.WriteMessage(WheelDifferentialData);
      }
      if (wheelSuspensionSystemData_ != null) {
        output.WriteRawTag(154, 5);
        output.WriteMessage(WheelSuspensionSystemData);
      }
      if (triggerHandleData_ != null) {
        output.WriteRawTag(162, 5);
        output.WriteMessage(TriggerHandleData);
      }
      if (interactionVolumeData_ != null) {
        output.WriteRawTag(170, 5);
        output.WriteMessage(InteractionVolumeData);
      }
      if (poolTableData_ != null) {
        output.WriteRawTag(178, 5);
        output.WriteMessage(PoolTableData);
      }
      if (playerEventBroadcastVolumeData_ != null) {
        output.WriteRawTag(186, 5);
        output.WriteMessage(PlayerEventBroadcastVolumeData);
      }
      if (ugcStorefrontData_ != null) {
        output.WriteRawTag(194, 5);
        output.WriteMessage(UgcStorefrontData);
      }
      if (projectileLauncherData_ != null) {
        output.WriteRawTag(202, 5);
        output.WriteMessage(ProjectileLauncherData);
      }
      if (audioPlayerData_ != null) {
        output.WriteRawTag(210, 5);
        output.WriteMessage(AudioPlayerData);
      }
      if (domeLightData_ != null) {
        output.WriteRawTag(218, 5);
        output.WriteMessage(DomeLightData);
      }
      if (remoteVideoPlayerData_ != null) {
        output.WriteRawTag(226, 5);
        output.WriteMessage(RemoteVideoPlayerData);
      }
      if (explosionEmitterData_ != null) {
        output.WriteRawTag(234, 5);
        output.WriteMessage(ExplosionEmitterData);
      }
      if (invisibleCollisionV2Data_ != null) {
        output.WriteRawTag(242, 5);
        output.WriteMessage(InvisibleCollisionV2Data);
      }
      if (configurablePhysicsSettingsData_ != null) {
        output.WriteRawTag(250, 5);
        output.WriteMessage(ConfigurablePhysicsSettingsData);
      }
      if (gunHandleData_ != null) {
        output.WriteRawTag(130, 6);
        output.WriteMessage(GunHandleData);
      }
      if (spawnPointV2Data_ != null) {
        output.WriteRawTag(138, 6);
        output.WriteMessage(SpawnPointV2Data);
      }
      if (welcomeMatV2Data_ != null) {
        output.WriteRawTag(146, 6);
        output.WriteMessage(WelcomeMatV2Data);
      }
      if (beaconData_ != null) {
        output.WriteRawTag(154, 6);
        output.WriteMessage(BeaconData);
      }
      if (EntityIdx != 0) {
        output.WriteRawTag(160, 6);
        output.WriteInt32(EntityIdx);
      }
      if (textScreenData_ != null) {
        output.WriteRawTag(170, 6);
        output.WriteMessage(TextScreenData);
      }
      if (roomDoorV2Data_ != null) {
        output.WriteRawTag(178, 6);
        output.WriteMessage(RoomDoorV2Data);
      }
      if (keepsakeData_ != null) {
        output.WriteRawTag(186, 6);
        output.WriteMessage(KeepsakeData);
      }
      if (laserPointerData_ != null) {
        output.WriteRawTag(194, 6);
        output.WriteMessage(LaserPointerData);
      }
      if (collisionDetectionVolumeData_ != null) {
        output.WriteRawTag(202, 6);
        output.WriteMessage(CollisionDetectionVolumeData);
      }
      if (swingHandleData_ != null) {
        output.WriteRawTag(210, 6);
        output.WriteMessage(SwingHandleData);
      }
      if (trailData_ != null) {
        output.WriteRawTag(218, 6);
        output.WriteMessage(TrailData);
      }
      if (fullBodyPuppetToolData_ != null) {
        output.WriteRawTag(226, 6);
        output.WriteMessage(FullBodyPuppetToolData);
      }
      if (throwHandleData_ != null) {
        output.WriteRawTag(242, 6);
        output.WriteMessage(ThrowHandleData);
      }
      if (dialogueUiData_ != null) {
        output.WriteRawTag(250, 6);
        output.WriteMessage(DialogueUiData);
      }
      if (grabberData_ != null) {
        output.WriteRawTag(130, 7);
        output.WriteMessage(GrabberData);
      }
      if (replicatorData_ != null) {
        output.WriteRawTag(138, 7);
        output.WriteMessage(ReplicatorData);
      }
      if (baseHandleData_ != null) {
        output.WriteRawTag(146, 7);
        output.WriteMessage(BaseHandleData);
      }
      if (rangedWeaponData_ != null) {
        output.WriteRawTag(154, 7);
        output.WriteMessage(RangedWeaponData);
      }
      if (ugcSteeringEngineData_ != null) {
        output.WriteRawTag(162, 7);
        output.WriteMessage(UgcSteeringEngineData);
      }
      if (ugcSteeringData_ != null) {
        output.WriteRawTag(170, 7);
        output.WriteMessage(UgcSteeringData);
      }
      if (sharedRangedWeaponData_ != null) {
        output.WriteRawTag(178, 7);
        output.WriteMessage(SharedRangedWeaponData);
      }
      if (meleeWeaponData_ != null) {
        output.WriteRawTag(186, 7);
        output.WriteMessage(MeleeWeaponData);
      }
      if (mannequinData_ != null) {
        output.WriteRawTag(194, 7);
        output.WriteMessage(MannequinData);
      }
      if (gameAiData_ != null) {
        output.WriteRawTag(202, 7);
        output.WriteMessage(GameAiData);
      }
      if (texturedQuadData_ != null) {
        output.WriteRawTag(210, 7);
        output.WriteMessage(TexturedQuadData);
      }
      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 (Id.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeBytesSize(Id);
      }
      if (DEPRECATEDIsSceneObject != false) {
        size += 1 + 1;
      }
      size += childViews_.CalculateSize(_repeated_childViews_codec);
      if (toolEntityData_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ToolEntityData);
      }
      if (transform_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Transform);
      }
      if (spawnableToolData_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpawnableToolData);
      }
      if (shapeContainerData_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ShapeContainerData);
      }
      if (dEPRECATEDToolData_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DEPRECATEDToolData);
      }
      if (creationObjectData_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(CreationObjectData);
      }
      if (taggedToolData_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(TaggedToolData);
      }
      if (stickyData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(StickyData);
      }
      if (drawingSurfaceData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(DrawingSurfaceData);
      }
      if (imageData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ImageData);
      }
      if (toolHolderData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ToolHolderData);
      }
      if (remoteControlData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(RemoteControlData);
      }
      if (roomDoorData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(RoomDoorData);
      }
      if (toolCleanupData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ToolCleanupData);
      }
      if (spawnpointSpawnerData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SpawnpointSpawnerData);
      }
      if (persistedSfxData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(PersistedSfxData);
      }
      if (circuitNodeData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CircuitNodeData);
      }
      if (messageData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(MessageData);
      }
      if (holotarPersistenceData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(HolotarPersistenceData);
      }
      if (spawnPointData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SpawnPointData);
      }
      if (audioSamplerPersistenceData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(AudioSamplerPersistenceData);
      }
      if (buttonData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ButtonData);
      }
      if (triggerVolumeData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(TriggerVolumeData);
      }
      if (sandboxGizmoData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SandboxGizmoData);
      }
      if (objectSpawnPointData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ObjectSpawnPointData);
      }
      if (setTagsNodeData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SetTagsNodeData);
      }
      if (breakableObjectData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(BreakableObjectData);
      }
      if (sandboxColorableData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SandboxColorableData);
      }
      if (particleEmitterData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ParticleEmitterData);
      }
      if (objectGroupData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ObjectGroupData);
      }
      if (stateMachineStateData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(StateMachineStateData);
      }
      if (gameConfigurationData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(GameConfigurationData);
      }
      if (gameRuleWrapperData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(GameRuleWrapperData);
      }
      if (healthPotionData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(HealthPotionData);
      }
      if (scoreboardSetupData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ScoreboardSetupData);
      }
      if (spotlightData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SpotlightData);
      }
      if (dynamicLightData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(DynamicLightData);
      }
      if (bouncePadData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(BouncePadData);
      }
      if (checkpointData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckpointData);
      }
      if (leaderboardData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(LeaderboardData);
      }
      if (setLeaderboardStatData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SetLeaderboardStatData);
      }
      if (gameRoleNodeData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(GameRoleNodeData);
      }
      if (playerAttractorData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(PlayerAttractorData);
      }
      if (toggleButtonData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ToggleButtonData);
      }
      if (sandboxDeformationData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SandboxDeformationData);
      }
      if (textLabelData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(TextLabelData);
      }
      if (proximityMineData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ProximityMineData);
      }
      if (invisibleCollisionData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(InvisibleCollisionData);
      }
      if (moodCircuitData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoodCircuitData);
      }
      if (aiData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(AiData);
      }
      if (ugcSpawnerData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(UgcSpawnerData);
      }
      if (linkButtonData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(LinkButtonData);
      }
      if (raycastGizmoData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(RaycastGizmoData);
      }
      if (costumeData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CostumeData);
      }
      if (freeGiftButtonData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(FreeGiftButtonData);
      }
      if (areaData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(AreaData);
      }
      if (controlPanelData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ControlPanelData);
      }
      if (areaControllerData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(AreaControllerData);
      }
      if (showcasePosterData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ShowcasePosterData);
      }
      if (logScreenData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(LogScreenData);
      }
      if (audioEffectZoneData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(AudioEffectZoneData);
      }
      if (glassPaneData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(GlassPaneData);
      }
      if (dEPRECATEDConfigurableSelectorData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(DEPRECATEDConfigurableSelectorData);
      }
      size += configurableSelectors_.CalculateSize(_repeated_configurableSelectors_codec);
      if (streamingCameraPointData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(StreamingCameraPointData);
      }
      if (roomCurrencyButtonData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(RoomCurrencyButtonData);
      }
      if (configurableCircuitVisibilityData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ConfigurableCircuitVisibilityData);
      }
      if (seatData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SeatData);
      }
      if (moveablePropData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveablePropData);
      }
      if (syncedData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SyncedData);
      }
      if (roomConsumableButtonData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(RoomConsumableButtonData);
      }
      if (groundVehicleData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(GroundVehicleData);
      }
      if (vehicleEngineData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(VehicleEngineData);
      }
      if (wheelDifferentialData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(WheelDifferentialData);
      }
      if (wheelSuspensionSystemData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(WheelSuspensionSystemData);
      }
      if (triggerHandleData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(TriggerHandleData);
      }
      if (interactionVolumeData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(InteractionVolumeData);
      }
      if (poolTableData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(PoolTableData);
      }
      if (playerEventBroadcastVolumeData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(PlayerEventBroadcastVolumeData);
      }
      if (ugcStorefrontData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(UgcStorefrontData);
      }
      if (projectileLauncherData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ProjectileLauncherData);
      }
      if (audioPlayerData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(AudioPlayerData);
      }
      if (domeLightData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(DomeLightData);
      }
      if (remoteVideoPlayerData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(RemoteVideoPlayerData);
      }
      if (explosionEmitterData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ExplosionEmitterData);
      }
      if (invisibleCollisionV2Data_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(InvisibleCollisionV2Data);
      }
      if (configurablePhysicsSettingsData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ConfigurablePhysicsSettingsData);
      }
      if (gunHandleData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(GunHandleData);
      }
      if (spawnPointV2Data_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SpawnPointV2Data);
      }
      if (welcomeMatV2Data_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(WelcomeMatV2Data);
      }
      if (beaconData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(BeaconData);
      }
      if (EntityIdx != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EntityIdx);
      }
      if (textScreenData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(TextScreenData);
      }
      if (roomDoorV2Data_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(RoomDoorV2Data);
      }
      if (keepsakeData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(KeepsakeData);
      }
      if (laserPointerData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(LaserPointerData);
      }
      if (collisionDetectionVolumeData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(CollisionDetectionVolumeData);
      }
      if (swingHandleData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SwingHandleData);
      }
      if (trailData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(TrailData);
      }
      if (fullBodyPuppetToolData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(FullBodyPuppetToolData);
      }
      if (throwHandleData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ThrowHandleData);
      }
      if (dialogueUiData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(DialogueUiData);
      }
      if (grabberData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(GrabberData);
      }
      if (replicatorData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ReplicatorData);
      }
      if (baseHandleData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(BaseHandleData);
      }
      if (rangedWeaponData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(RangedWeaponData);
      }
      if (ugcSteeringEngineData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(UgcSteeringEngineData);
      }
      if (ugcSteeringData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(UgcSteeringData);
      }
      if (sharedRangedWeaponData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SharedRangedWeaponData);
      }
      if (meleeWeaponData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(MeleeWeaponData);
      }
      if (mannequinData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(MannequinData);
      }
      if (gameAiData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(GameAiData);
      }
      if (texturedQuadData_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(TexturedQuadData);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PersistenceViewData other) {
      if (other == null) {
        return;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      if (other.DEPRECATEDIsSceneObject != false) {
        DEPRECATEDIsSceneObject = other.DEPRECATEDIsSceneObject;
      }
      childViews_.Add(other.childViews_);
      if (other.toolEntityData_ != null) {
        if (toolEntityData_ == null) {
          ToolEntityData = new global::RecRoom.Protobuf.ToolEntityData();
        }
        ToolEntityData.MergeFrom(other.ToolEntityData);
      }
      if (other.transform_ != null) {
        if (transform_ == null) {
          Transform = new global::RecRoom.Protobuf.TransformData();
        }
        Transform.MergeFrom(other.Transform);
      }
      if (other.spawnableToolData_ != null) {
        if (spawnableToolData_ == null) {
          SpawnableToolData = new global::RecRoom.Protobuf.SpawnableToolData();
        }
        SpawnableToolData.MergeFrom(other.SpawnableToolData);
      }
      if (other.shapeContainerData_ != null) {
        if (shapeContainerData_ == null) {
          ShapeContainerData = new global::RecRoom.Protobuf.ShapeContainerData();
        }
        ShapeContainerData.MergeFrom(other.ShapeContainerData);
      }
      if (other.dEPRECATEDToolData_ != null) {
        if (dEPRECATEDToolData_ == null) {
          DEPRECATEDToolData = new global::RecRoom.Protobuf.DEPRECATED_ToolData();
        }
        DEPRECATEDToolData.MergeFrom(other.DEPRECATEDToolData);
      }
      if (other.creationObjectData_ != null) {
        if (creationObjectData_ == null) {
          CreationObjectData = new global::RecRoom.Protobuf.CreationObjectData();
        }
        CreationObjectData.MergeFrom(other.CreationObjectData);
      }
      if (other.taggedToolData_ != null) {
        if (taggedToolData_ == null) {
          TaggedToolData = new global::RecRoom.Protobuf.TaggedToolData();
        }
        TaggedToolData.MergeFrom(other.TaggedToolData);
      }
      if (other.stickyData_ != null) {
        if (stickyData_ == null) {
          StickyData = new global::RecRoom.Protobuf.StickyData();
        }
        StickyData.MergeFrom(other.StickyData);
      }
      if (other.drawingSurfaceData_ != null) {
        if (drawingSurfaceData_ == null) {
          DrawingSurfaceData = new global::RecRoom.Protobuf.DrawingSurfaceData();
        }
        DrawingSurfaceData.MergeFrom(other.DrawingSurfaceData);
      }
      if (other.imageData_ != null) {
        if (imageData_ == null) {
          ImageData = new global::RecRoom.Protobuf.ImageData();
        }
        ImageData.MergeFrom(other.ImageData);
      }
      if (other.toolHolderData_ != null) {
        if (toolHolderData_ == null) {
          ToolHolderData = new global::RecRoom.Protobuf.ToolHolderData();
        }
        ToolHolderData.MergeFrom(other.ToolHolderData);
      }
      if (other.remoteControlData_ != null) {
        if (remoteControlData_ == null) {
          RemoteControlData = new global::RecRoom.Protobuf.RemoteControlData();
        }
        RemoteControlData.MergeFrom(other.RemoteControlData);
      }
      if (other.roomDoorData_ != null) {
        if (roomDoorData_ == null) {
          RoomDoorData = new global::RecRoom.Protobuf.RoomDoorData();
        }
        RoomDoorData.MergeFrom(other.RoomDoorData);
      }
      if (other.toolCleanupData_ != null) {
        if (toolCleanupData_ == null) {
          ToolCleanupData = new global::RecRoom.Protobuf.ToolCleanupData();
        }
        ToolCleanupData.MergeFrom(other.ToolCleanupData);
      }
      if (other.spawnpointSpawnerData_ != null) {
        if (spawnpointSpawnerData_ == null) {
          SpawnpointSpawnerData = new global::RecRoom.Protobuf.SpawnPointSpawnerData();
        }
        SpawnpointSpawnerData.MergeFrom(other.SpawnpointSpawnerData);
      }
      if (other.persistedSfxData_ != null) {
        if (persistedSfxData_ == null) {
          PersistedSfxData = new global::RecRoom.Protobuf.PersistedSFXData();
        }
        PersistedSfxData.MergeFrom(other.PersistedSfxData);
      }
      if (other.circuitNodeData_ != null) {
        if (circuitNodeData_ == null) {
          CircuitNodeData = new global::RecRoom.Protobuf.CircuitNodeData();
        }
        CircuitNodeData.MergeFrom(other.CircuitNodeData);
      }
      if (other.messageData_ != null) {
        if (messageData_ == null) {
          MessageData = new global::RecRoom.Protobuf.MessageData();
        }
        MessageData.MergeFrom(other.MessageData);
      }
      if (other.holotarPersistenceData_ != null) {
        if (holotarPersistenceData_ == null) {
          HolotarPersistenceData = new global::RecRoom.Protobuf.HolotarPersistenceData();
        }
        HolotarPersistenceData.MergeFrom(other.HolotarPersistenceData);
      }
      if (other.spawnPointData_ != null) {
        if (spawnPointData_ == null) {
          SpawnPointData = new global::RecRoom.Protobuf.SpawnPointData();
        }
        SpawnPointData.MergeFrom(other.SpawnPointData);
      }
      if (other.audioSamplerPersistenceData_ != null) {
        if (audioSamplerPersistenceData_ == null) {
          AudioSamplerPersistenceData = new global::RecRoom.Protobuf.AudioSamplerPersistenceData();
        }
        AudioSamplerPersistenceData.MergeFrom(other.AudioSamplerPersistenceData);
      }
      if (other.buttonData_ != null) {
        if (buttonData_ == null) {
          ButtonData = new global::RecRoom.Protobuf.ButtonData();
        }
        ButtonData.MergeFrom(other.ButtonData);
      }
      if (other.triggerVolumeData_ != null) {
        if (triggerVolumeData_ == null) {
          TriggerVolumeData = new global::RecRoom.Protobuf.TriggerVolumeData();
        }
        TriggerVolumeData.MergeFrom(other.TriggerVolumeData);
      }
      if (other.sandboxGizmoData_ != null) {
        if (sandboxGizmoData_ == null) {
          SandboxGizmoData = new global::RecRoom.Protobuf.SandboxGizmoData();
        }
        SandboxGizmoData.MergeFrom(other.SandboxGizmoData);
      }
      if (other.objectSpawnPointData_ != null) {
        if (objectSpawnPointData_ == null) {
          ObjectSpawnPointData = new global::RecRoom.Protobuf.ObjectSpawnPointData();
        }
        ObjectSpawnPointData.MergeFrom(other.ObjectSpawnPointData);
      }
      if (other.setTagsNodeData_ != null) {
        if (setTagsNodeData_ == null) {
          SetTagsNodeData = new global::RecRoom.Protobuf.SetTagsNodeData();
        }
        SetTagsNodeData.MergeFrom(other.SetTagsNodeData);
      }
      if (other.breakableObjectData_ != null) {
        if (breakableObjectData_ == null) {
          BreakableObjectData = new global::RecRoom.Protobuf.BreakableObjectData();
        }
        BreakableObjectData.MergeFrom(other.BreakableObjectData);
      }
      if (other.sandboxColorableData_ != null) {
        if (sandboxColorableData_ == null) {
          SandboxColorableData = new global::RecRoom.Protobuf.SandboxColorableData();
        }
        SandboxColorableData.MergeFrom(other.SandboxColorableData);
      }
      if (other.particleEmitterData_ != null) {
        if (particleEmitterData_ == null) {
          ParticleEmitterData = new global::RecRoom.Protobuf.ParticleEmitterData();
        }
        ParticleEmitterData.MergeFrom(other.ParticleEmitterData);
      }
      if (other.objectGroupData_ != null) {
        if (objectGroupData_ == null) {
          ObjectGroupData = new global::RecRoom.Protobuf.ObjectGroupData();
        }
        ObjectGroupData.MergeFrom(other.ObjectGroupData);
      }
      if (other.stateMachineStateData_ != null) {
        if (stateMachineStateData_ == null) {
          StateMachineStateData = new global::RecRoom.Protobuf.StateMachineStateData();
        }
        StateMachineStateData.MergeFrom(other.StateMachineStateData);
      }
      if (other.gameConfigurationData_ != null) {
        if (gameConfigurationData_ == null) {
          GameConfigurationData = new global::RecRoom.Protobuf.GameConfigurationData();
        }
        GameConfigurationData.MergeFrom(other.GameConfigurationData);
      }
      if (other.gameRuleWrapperData_ != null) {
        if (gameRuleWrapperData_ == null) {
          GameRuleWrapperData = new global::RecRoom.Protobuf.GameRuleWrapperData();
        }
        GameRuleWrapperData.MergeFrom(other.GameRuleWrapperData);
      }
      if (other.healthPotionData_ != null) {
        if (healthPotionData_ == null) {
          HealthPotionData = new global::RecRoom.Protobuf.HealthPotionData();
        }
        HealthPotionData.MergeFrom(other.HealthPotionData);
      }
      if (other.scoreboardSetupData_ != null) {
        if (scoreboardSetupData_ == null) {
          ScoreboardSetupData = new global::RecRoom.Protobuf.ScoreboardSetupData();
        }
        ScoreboardSetupData.MergeFrom(other.ScoreboardSetupData);
      }
      if (other.spotlightData_ != null) {
        if (spotlightData_ == null) {
          SpotlightData = new global::RecRoom.Protobuf.SpotlightData();
        }
        SpotlightData.MergeFrom(other.SpotlightData);
      }
      if (other.dynamicLightData_ != null) {
        if (dynamicLightData_ == null) {
          DynamicLightData = new global::RecRoom.Protobuf.DynamicLightData();
        }
        DynamicLightData.MergeFrom(other.DynamicLightData);
      }
      if (other.bouncePadData_ != null) {
        if (bouncePadData_ == null) {
          BouncePadData = new global::RecRoom.Protobuf.BouncePadData();
        }
        BouncePadData.MergeFrom(other.BouncePadData);
      }
      if (other.checkpointData_ != null) {
        if (checkpointData_ == null) {
          CheckpointData = new global::RecRoom.Protobuf.CheckpointData();
        }
        CheckpointData.MergeFrom(other.CheckpointData);
      }
      if (other.leaderboardData_ != null) {
        if (leaderboardData_ == null) {
          LeaderboardData = new global::RecRoom.Protobuf.LeaderboardData();
        }
        LeaderboardData.MergeFrom(other.LeaderboardData);
      }
      if (other.setLeaderboardStatData_ != null) {
        if (setLeaderboardStatData_ == null) {
          SetLeaderboardStatData = new global::RecRoom.Protobuf.SetLeaderboardStatData();
        }
        SetLeaderboardStatData.MergeFrom(other.SetLeaderboardStatData);
      }
      if (other.gameRoleNodeData_ != null) {
        if (gameRoleNodeData_ == null) {
          GameRoleNodeData = new global::RecRoom.Protobuf.GameRoleNodeData();
        }
        GameRoleNodeData.MergeFrom(other.GameRoleNodeData);
      }
      if (other.playerAttractorData_ != null) {
        if (playerAttractorData_ == null) {
          PlayerAttractorData = new global::RecRoom.Protobuf.PlayerAttractorData();
        }
        PlayerAttractorData.MergeFrom(other.PlayerAttractorData);
      }
      if (other.toggleButtonData_ != null) {
        if (toggleButtonData_ == null) {
          ToggleButtonData = new global::RecRoom.Protobuf.ToggleButtonData();
        }
        ToggleButtonData.MergeFrom(other.ToggleButtonData);
      }
      if (other.sandboxDeformationData_ != null) {
        if (sandboxDeformationData_ == null) {
          SandboxDeformationData = new global::RecRoom.Protobuf.SandboxDeformationData();
        }
        SandboxDeformationData.MergeFrom(other.SandboxDeformationData);
      }
      if (other.textLabelData_ != null) {
        if (textLabelData_ == null) {
          TextLabelData = new global::RecRoom.Protobuf.TextLabelData();
        }
        TextLabelData.MergeFrom(other.TextLabelData);
      }
      if (other.proximityMineData_ != null) {
        if (proximityMineData_ == null) {
          ProximityMineData = new global::RecRoom.Protobuf.ProximityMineData();
        }
        ProximityMineData.MergeFrom(other.ProximityMineData);
      }
      if (other.invisibleCollisionData_ != null) {
        if (invisibleCollisionData_ == null) {
          InvisibleCollisionData = new global::RecRoom.Protobuf.InvisibleCollisionData();
        }
        InvisibleCollisionData.MergeFrom(other.InvisibleCollisionData);
      }
      if (other.moodCircuitData_ != null) {
        if (moodCircuitData_ == null) {
          MoodCircuitData = new global::RecRoom.Protobuf.MoodCircuitData();
        }
        MoodCircuitData.MergeFrom(other.MoodCircuitData);
      }
      if (other.aiData_ != null) {
        if (aiData_ == null) {
          AiData = new global::RecRoom.Protobuf.AIData();
        }
        AiData.MergeFrom(other.AiData);
      }
      if (other.ugcSpawnerData_ != null) {
        if (ugcSpawnerData_ == null) {
          UgcSpawnerData = new global::RecRoom.Protobuf.UGCSpawnerData();
        }
        UgcSpawnerData.MergeFrom(other.UgcSpawnerData);
      }
      if (other.linkButtonData_ != null) {
        if (linkButtonData_ == null) {
          LinkButtonData = new global::RecRoom.Protobuf.LinkButtonData();
        }
        LinkButtonData.MergeFrom(other.LinkButtonData);
      }
      if (other.raycastGizmoData_ != null) {
        if (raycastGizmoData_ == null) {
          RaycastGizmoData = new global::RecRoom.Protobuf.RaycastGizmoData();
        }
        RaycastGizmoData.MergeFrom(other.RaycastGizmoData);
      }
      if (other.costumeData_ != null) {
        if (costumeData_ == null) {
          CostumeData = new global::RecRoom.Protobuf.CostumeData();
        }
        CostumeData.MergeFrom(other.CostumeData);
      }
      if (other.freeGiftButtonData_ != null) {
        if (freeGiftButtonData_ == null) {
          FreeGiftButtonData = new global::RecRoom.Protobuf.FreeGiftButtonData();
        }
        FreeGiftButtonData.MergeFrom(other.FreeGiftButtonData);
      }
      if (other.areaData_ != null) {
        if (areaData_ == null) {
          AreaData = new global::RecRoom.Protobuf.AreaData();
        }
        AreaData.MergeFrom(other.AreaData);
      }
      if (other.controlPanelData_ != null) {
        if (controlPanelData_ == null) {
          ControlPanelData = new global::RecRoom.Protobuf.ControlPanelCircuitObjectData();
        }
        ControlPanelData.MergeFrom(other.ControlPanelData);
      }
      if (other.areaControllerData_ != null) {
        if (areaControllerData_ == null) {
          AreaControllerData = new global::RecRoom.Protobuf.AreaControllerData();
        }
        AreaControllerData.MergeFrom(other.AreaControllerData);
      }
      if (other.showcasePosterData_ != null) {
        if (showcasePosterData_ == null) {
          ShowcasePosterData = new global::RecRoom.Protobuf.ShowcasePosterData();
        }
        ShowcasePosterData.MergeFrom(other.ShowcasePosterData);
      }
      if (other.logScreenData_ != null) {
        if (logScreenData_ == null) {
          LogScreenData = new global::RecRoom.Protobuf.LogScreenData();
        }
        LogScreenData.MergeFrom(other.LogScreenData);
      }
      if (other.audioEffectZoneData_ != null) {
        if (audioEffectZoneData_ == null) {
          AudioEffectZoneData = new global::RecRoom.Protobuf.AudioEffectZoneData();
        }
        AudioEffectZoneData.MergeFrom(other.AudioEffectZoneData);
      }
      if (other.glassPaneData_ != null) {
        if (glassPaneData_ == null) {
          GlassPaneData = new global::RecRoom.Protobuf.GlassPaneData();
        }
        GlassPaneData.MergeFrom(other.GlassPaneData);
      }
      if (other.dEPRECATEDConfigurableSelectorData_ != null) {
        if (dEPRECATEDConfigurableSelectorData_ == null) {
          DEPRECATEDConfigurableSelectorData = new global::RecRoom.Protobuf.ConfigurableSelectorData();
        }
        DEPRECATEDConfigurableSelectorData.MergeFrom(other.DEPRECATEDConfigurableSelectorData);
      }
      configurableSelectors_.Add(other.configurableSelectors_);
      if (other.streamingCameraPointData_ != null) {
        if (streamingCameraPointData_ == null) {
          StreamingCameraPointData = new global::RecRoom.Protobuf.StreamingCameraPointData();
        }
        StreamingCameraPointData.MergeFrom(other.StreamingCameraPointData);
      }
      if (other.roomCurrencyButtonData_ != null) {
        if (roomCurrencyButtonData_ == null) {
          RoomCurrencyButtonData = new global::RecRoom.Protobuf.RoomCurrencyButtonData();
        }
        RoomCurrencyButtonData.MergeFrom(other.RoomCurrencyButtonData);
      }
      if (other.configurableCircuitVisibilityData_ != null) {
        if (configurableCircuitVisibilityData_ == null) {
          ConfigurableCircuitVisibilityData = new global::RecRoom.Protobuf.ConfigurableCircuitVisibilityData();
        }
        ConfigurableCircuitVisibilityData.MergeFrom(other.ConfigurableCircuitVisibilityData);
      }
      if (other.seatData_ != null) {
        if (seatData_ == null) {
          SeatData = new global::RecRoom.Protobuf.SeatData();
        }
        SeatData.MergeFrom(other.SeatData);
      }
      if (other.moveablePropData_ != null) {
        if (moveablePropData_ == null) {
          MoveablePropData = new global::RecRoom.Protobuf.MoveablePropData();
        }
        MoveablePropData.MergeFrom(other.MoveablePropData);
      }
      if (other.syncedData_ != null) {
        if (syncedData_ == null) {
          SyncedData = new global::RecRoom.Protobuf.SyncedData();
        }
        SyncedData.MergeFrom(other.SyncedData);
      }
      if (other.roomConsumableButtonData_ != null) {
        if (roomConsumableButtonData_ == null) {
          RoomConsumableButtonData = new global::RecRoom.Protobuf.RoomConsumableButtonData();
        }
        RoomConsumableButtonData.MergeFrom(other.RoomConsumableButtonData);
      }
      if (other.groundVehicleData_ != null) {
        if (groundVehicleData_ == null) {
          GroundVehicleData = new global::RecRoom.Protobuf.GroundVehicleData();
        }
        GroundVehicleData.MergeFrom(other.GroundVehicleData);
      }
      if (other.vehicleEngineData_ != null) {
        if (vehicleEngineData_ == null) {
          VehicleEngineData = new global::RecRoom.Protobuf.VehicleEngineData();
        }
        VehicleEngineData.MergeFrom(other.VehicleEngineData);
      }
      if (other.wheelDifferentialData_ != null) {
        if (wheelDifferentialData_ == null) {
          WheelDifferentialData = new global::RecRoom.Protobuf.WheelDifferentialData();
        }
        WheelDifferentialData.MergeFrom(other.WheelDifferentialData);
      }
      if (other.wheelSuspensionSystemData_ != null) {
        if (wheelSuspensionSystemData_ == null) {
          WheelSuspensionSystemData = new global::RecRoom.Protobuf.WheelSuspensionSystemData();
        }
        WheelSuspensionSystemData.MergeFrom(other.WheelSuspensionSystemData);
      }
      if (other.triggerHandleData_ != null) {
        if (triggerHandleData_ == null) {
          TriggerHandleData = new global::RecRoom.Protobuf.TriggerHandleData();
        }
        TriggerHandleData.MergeFrom(other.TriggerHandleData);
      }
      if (other.interactionVolumeData_ != null) {
        if (interactionVolumeData_ == null) {
          InteractionVolumeData = new global::RecRoom.Protobuf.InteractionVolumeData();
        }
        InteractionVolumeData.MergeFrom(other.InteractionVolumeData);
      }
      if (other.poolTableData_ != null) {
        if (poolTableData_ == null) {
          PoolTableData = new global::RecRoom.Protobuf.PoolTableData();
        }
        PoolTableData.MergeFrom(other.PoolTableData);
      }
      if (other.playerEventBroadcastVolumeData_ != null) {
        if (playerEventBroadcastVolumeData_ == null) {
          PlayerEventBroadcastVolumeData = new global::RecRoom.Protobuf.PlayerEventBroadcastVolumeData();
        }
        PlayerEventBroadcastVolumeData.MergeFrom(other.PlayerEventBroadcastVolumeData);
      }
      if (other.ugcStorefrontData_ != null) {
        if (ugcStorefrontData_ == null) {
          UgcStorefrontData = new global::RecRoom.Protobuf.UGCStorefrontData();
        }
        UgcStorefrontData.MergeFrom(other.UgcStorefrontData);
      }
      if (other.projectileLauncherData_ != null) {
        if (projectileLauncherData_ == null) {
          ProjectileLauncherData = new global::RecRoom.Protobuf.ProjectileLauncherData();
        }
        ProjectileLauncherData.MergeFrom(other.ProjectileLauncherData);
      }
      if (other.audioPlayerData_ != null) {
        if (audioPlayerData_ == null) {
          AudioPlayerData = new global::RecRoom.Protobuf.PersistedAudioPlayerData();
        }
        AudioPlayerData.MergeFrom(other.AudioPlayerData);
      }
      if (other.domeLightData_ != null) {
        if (domeLightData_ == null) {
          DomeLightData = new global::RecRoom.Protobuf.DomeLightData();
        }
        DomeLightData.MergeFrom(other.DomeLightData);
      }
      if (other.remoteVideoPlayerData_ != null) {
        if (remoteVideoPlayerData_ == null) {
          RemoteVideoPlayerData = new global::RecRoom.Protobuf.RemoteVideoPlayerData();
        }
        RemoteVideoPlayerData.MergeFrom(other.RemoteVideoPlayerData);
      }
      if (other.explosionEmitterData_ != null) {
        if (explosionEmitterData_ == null) {
          ExplosionEmitterData = new global::RecRoom.Protobuf.ExplosionEmitterData();
        }
        ExplosionEmitterData.MergeFrom(other.ExplosionEmitterData);
      }
      if (other.invisibleCollisionV2Data_ != null) {
        if (invisibleCollisionV2Data_ == null) {
          InvisibleCollisionV2Data = new global::RecRoom.Protobuf.InvisibleCollisionV2Data();
        }
        InvisibleCollisionV2Data.MergeFrom(other.InvisibleCollisionV2Data);
      }
      if (other.configurablePhysicsSettingsData_ != null) {
        if (configurablePhysicsSettingsData_ == null) {
          ConfigurablePhysicsSettingsData = new global::RecRoom.Protobuf.ConfigurablePhysicsSettingsData();
        }
        ConfigurablePhysicsSettingsData.MergeFrom(other.ConfigurablePhysicsSettingsData);
      }
      if (other.gunHandleData_ != null) {
        if (gunHandleData_ == null) {
          GunHandleData = new global::RecRoom.Protobuf.GunHandleData();
        }
        GunHandleData.MergeFrom(other.GunHandleData);
      }
      if (other.spawnPointV2Data_ != null) {
        if (spawnPointV2Data_ == null) {
          SpawnPointV2Data = new global::RecRoom.Protobuf.SpawnPointV2Data();
        }
        SpawnPointV2Data.MergeFrom(other.SpawnPointV2Data);
      }
      if (other.welcomeMatV2Data_ != null) {
        if (welcomeMatV2Data_ == null) {
          WelcomeMatV2Data = new global::RecRoom.Protobuf.WelcomeMatV2Data();
        }
        WelcomeMatV2Data.MergeFrom(other.WelcomeMatV2Data);
      }
      if (other.beaconData_ != null) {
        if (beaconData_ == null) {
          BeaconData = new global::RecRoom.Protobuf.BeaconData();
        }
        BeaconData.MergeFrom(other.BeaconData);
      }
      if (other.EntityIdx != 0) {
        EntityIdx = other.EntityIdx;
      }
      if (other.textScreenData_ != null) {
        if (textScreenData_ == null) {
          TextScreenData = new global::RecRoom.Protobuf.TextScreenData();
        }
        TextScreenData.MergeFrom(other.TextScreenData);
      }
      if (other.roomDoorV2Data_ != null) {
        if (roomDoorV2Data_ == null) {
          RoomDoorV2Data = new global::RecRoom.Protobuf.RoomDoorV2Data();
        }
        RoomDoorV2Data.MergeFrom(other.RoomDoorV2Data);
      }
      if (other.keepsakeData_ != null) {
        if (keepsakeData_ == null) {
          KeepsakeData = new global::RecRoom.Protobuf.KeepsakeData();
        }
        KeepsakeData.MergeFrom(other.KeepsakeData);
      }
      if (other.laserPointerData_ != null) {
        if (laserPointerData_ == null) {
          LaserPointerData = new global::RecRoom.Protobuf.LaserPointerData();
        }
        LaserPointerData.MergeFrom(other.LaserPointerData);
      }
      if (other.collisionDetectionVolumeData_ != null) {
        if (collisionDetectionVolumeData_ == null) {
          CollisionDetectionVolumeData = new global::RecRoom.Protobuf.CollisionDetectionVolumeData();
        }
        CollisionDetectionVolumeData.MergeFrom(other.CollisionDetectionVolumeData);
      }
      if (other.swingHandleData_ != null) {
        if (swingHandleData_ == null) {
          SwingHandleData = new global::RecRoom.Protobuf.SwingHandleData();
        }
        SwingHandleData.MergeFrom(other.SwingHandleData);
      }
      if (other.trailData_ != null) {
        if (trailData_ == null) {
          TrailData = new global::RecRoom.Protobuf.TrailData();
        }
        TrailData.MergeFrom(other.TrailData);
      }
      if (other.fullBodyPuppetToolData_ != null) {
        if (fullBodyPuppetToolData_ == null) {
          FullBodyPuppetToolData = new global::RecRoom.Protobuf.FullBodyPuppetToolData();
        }
        FullBodyPuppetToolData.MergeFrom(other.FullBodyPuppetToolData);
      }
      if (other.throwHandleData_ != null) {
        if (throwHandleData_ == null) {
          ThrowHandleData = new global::RecRoom.Protobuf.ThrowHandleData();
        }
        ThrowHandleData.MergeFrom(other.ThrowHandleData);
      }
      if (other.dialogueUiData_ != null) {
        if (dialogueUiData_ == null) {
          DialogueUiData = new global::RecRoom.Protobuf.DialogueUIData();
        }
        DialogueUiData.MergeFrom(other.DialogueUiData);
      }
      if (other.grabberData_ != null) {
        if (grabberData_ == null) {
          GrabberData = new global::RecRoom.Protobuf.GrabberData();
        }
        GrabberData.MergeFrom(other.GrabberData);
      }
      if (other.replicatorData_ != null) {
        if (replicatorData_ == null) {
          ReplicatorData = new global::RecRoom.Protobuf.ReplicatorData();
        }
        ReplicatorData.MergeFrom(other.ReplicatorData);
      }
      if (other.baseHandleData_ != null) {
        if (baseHandleData_ == null) {
          BaseHandleData = new global::RecRoom.Protobuf.BaseHandleData();
        }
        BaseHandleData.MergeFrom(other.BaseHandleData);
      }
      if (other.rangedWeaponData_ != null) {
        if (rangedWeaponData_ == null) {
          RangedWeaponData = new global::RecRoom.Protobuf.RangedWeaponPropData();
        }
        RangedWeaponData.MergeFrom(other.RangedWeaponData);
      }
      if (other.ugcSteeringEngineData_ != null) {
        if (ugcSteeringEngineData_ == null) {
          UgcSteeringEngineData = new global::RecRoom.Protobuf.UGCSteeringEngineData();
        }
        UgcSteeringEngineData.MergeFrom(other.UgcSteeringEngineData);
      }
      if (other.ugcSteeringData_ != null) {
        if (ugcSteeringData_ == null) {
          UgcSteeringData = new global::RecRoom.Protobuf.UGCSteeringData();
        }
        UgcSteeringData.MergeFrom(other.UgcSteeringData);
      }
      if (other.sharedRangedWeaponData_ != null) {
        if (sharedRangedWeaponData_ == null) {
          SharedRangedWeaponData = new global::RecRoom.Protobuf.SharedRangedWeaponData();
        }
        SharedRangedWeaponData.MergeFrom(other.SharedRangedWeaponData);
      }
      if (other.meleeWeaponData_ != null) {
        if (meleeWeaponData_ == null) {
          MeleeWeaponData = new global::RecRoom.Protobuf.MeleeWeaponData();
        }
        MeleeWeaponData.MergeFrom(other.MeleeWeaponData);
      }
      if (other.mannequinData_ != null) {
        if (mannequinData_ == null) {
          MannequinData = new global::RecRoom.Protobuf.MannequinData();
        }
        MannequinData.MergeFrom(other.MannequinData);
      }
      if (other.gameAiData_ != null) {
        if (gameAiData_ == null) {
          GameAiData = new global::RecRoom.Protobuf.GameAIData();
        }
        GameAiData.MergeFrom(other.GameAiData);
      }
      if (other.texturedQuadData_ != null) {
        if (texturedQuadData_ == null) {
          TexturedQuadData = new global::RecRoom.Protobuf.TexturedQuadData();
        }
        TexturedQuadData.MergeFrom(other.TexturedQuadData);
      }
      _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 10: {
            Id = input.ReadBytes();
            break;
          }
          case 16: {
            DEPRECATEDIsSceneObject = input.ReadBool();
            break;
          }
          case 26: {
            childViews_.AddEntriesFrom(input, _repeated_childViews_codec);
            break;
          }
          case 74: {
            if (toolEntityData_ == null) {
              ToolEntityData = new global::RecRoom.Protobuf.ToolEntityData();
            }
            input.ReadMessage(ToolEntityData);
            break;
          }
          case 82: {
            if (transform_ == null) {
              Transform = new global::RecRoom.Protobuf.TransformData();
            }
            input.ReadMessage(Transform);
            break;
          }
          case 90: {
            if (spawnableToolData_ == null) {
              SpawnableToolData = new global::RecRoom.Protobuf.SpawnableToolData();
            }
            input.ReadMessage(SpawnableToolData);
            break;
          }
          case 98: {
            if (shapeContainerData_ == null) {
              ShapeContainerData = new global::RecRoom.Protobuf.ShapeContainerData();
            }
            input.ReadMessage(ShapeContainerData);
            break;
          }
          case 106: {
            if (dEPRECATEDToolData_ == null) {
              DEPRECATEDToolData = new global::RecRoom.Protobuf.DEPRECATED_ToolData();
            }
            input.ReadMessage(DEPRECATEDToolData);
            break;
          }
          case 114: {
            if (creationObjectData_ == null) {
              CreationObjectData = new global::RecRoom.Protobuf.CreationObjectData();
            }
            input.ReadMessage(CreationObjectData);
            break;
          }
          case 122: {
            if (taggedToolData_ == null) {
              TaggedToolData = new global::RecRoom.Protobuf.TaggedToolData();
            }
            input.ReadMessage(TaggedToolData);
            break;
          }
          case 130: {
            if (stickyData_ == null) {
              StickyData = new global::RecRoom.Protobuf.StickyData();
            }
            input.ReadMessage(StickyData);
            break;
          }
          case 138: {
            if (drawingSurfaceData_ == null) {
              DrawingSurfaceData = new global::RecRoom.Protobuf.DrawingSurfaceData();
            }
            input.ReadMessage(DrawingSurfaceData);
            break;
          }
          case 146: {
            if (imageData_ == null) {
              ImageData = new global::RecRoom.Protobuf.ImageData();
            }
            input.ReadMessage(ImageData);
            break;
          }
          case 154: {
            if (toolHolderData_ == null) {
              ToolHolderData = new global::RecRoom.Protobuf.ToolHolderData();
            }
            input.ReadMessage(ToolHolderData);
            break;
          }
          case 162: {
            if (remoteControlData_ == null) {
              RemoteControlData = new global::RecRoom.Protobuf.RemoteControlData();
            }
            input.ReadMessage(RemoteControlData);
            break;
          }
          case 170: {
            if (roomDoorData_ == null) {
              RoomDoorData = new global::RecRoom.Protobuf.RoomDoorData();
            }
            input.ReadMessage(RoomDoorData);
            break;
          }
          case 178: {
            if (toolCleanupData_ == null) {
              ToolCleanupData = new global::RecRoom.Protobuf.ToolCleanupData();
            }
            input.ReadMessage(ToolCleanupData);
            break;
          }
          case 186: {
            if (spawnpointSpawnerData_ == null) {
              SpawnpointSpawnerData = new global::RecRoom.Protobuf.SpawnPointSpawnerData();
            }
            input.ReadMessage(SpawnpointSpawnerData);
            break;
          }
          case 194: {
            if (persistedSfxData_ == null) {
              PersistedSfxData = new global::RecRoom.Protobuf.PersistedSFXData();
            }
            input.ReadMessage(PersistedSfxData);
            break;
          }
          case 202: {
            if (circuitNodeData_ == null) {
              CircuitNodeData = new global::RecRoom.Protobuf.CircuitNodeData();
            }
            input.ReadMessage(CircuitNodeData);
            break;
          }
          case 210: {
            if (messageData_ == null) {
              MessageData = new global::RecRoom.Protobuf.MessageData();
            }
            input.ReadMessage(MessageData);
            break;
          }
          case 218: {
            if (holotarPersistenceData_ == null) {
              HolotarPersistenceData = new global::RecRoom.Protobuf.HolotarPersistenceData();
            }
            input.ReadMessage(HolotarPersistenceData);
            break;
          }
          case 226: {
            if (spawnPointData_ == null) {
              SpawnPointData = new global::RecRoom.Protobuf.SpawnPointData();
            }
            input.ReadMessage(SpawnPointData);
            break;
          }
          case 234: {
            if (audioSamplerPersistenceData_ == null) {
              AudioSamplerPersistenceData = new global::RecRoom.Protobuf.AudioSamplerPersistenceData();
            }
            input.ReadMessage(AudioSamplerPersistenceData);
            break;
          }
          case 242: {
            if (buttonData_ == null) {
              ButtonData = new global::RecRoom.Protobuf.ButtonData();
            }
            input.ReadMessage(ButtonData);
            break;
          }
          case 250: {
            if (triggerVolumeData_ == null) {
              TriggerVolumeData = new global::RecRoom.Protobuf.TriggerVolumeData();
            }
            input.ReadMessage(TriggerVolumeData);
            break;
          }
          case 258: {
            if (sandboxGizmoData_ == null) {
              SandboxGizmoData = new global::RecRoom.Protobuf.SandboxGizmoData();
            }
            input.ReadMessage(SandboxGizmoData);
            break;
          }
          case 266: {
            if (objectSpawnPointData_ == null) {
              ObjectSpawnPointData = new global::RecRoom.Protobuf.ObjectSpawnPointData();
            }
            input.ReadMessage(ObjectSpawnPointData);
            break;
          }
          case 274: {
            if (setTagsNodeData_ == null) {
              SetTagsNodeData = new global::RecRoom.Protobuf.SetTagsNodeData();
            }
            input.ReadMessage(SetTagsNodeData);
            break;
          }
          case 282: {
            if (breakableObjectData_ == null) {
              BreakableObjectData = new global::RecRoom.Protobuf.BreakableObjectData();
            }
            input.ReadMessage(BreakableObjectData);
            break;
          }
          case 290: {
            if (sandboxColorableData_ == null) {
              SandboxColorableData = new global::RecRoom.Protobuf.SandboxColorableData();
            }
            input.ReadMessage(SandboxColorableData);
            break;
          }
          case 298: {
            if (particleEmitterData_ == null) {
              ParticleEmitterData = new global::RecRoom.Protobuf.ParticleEmitterData();
            }
            input.ReadMessage(ParticleEmitterData);
            break;
          }
          case 306: {
            if (objectGroupData_ == null) {
              ObjectGroupData = new global::RecRoom.Protobuf.ObjectGroupData();
            }
            input.ReadMessage(ObjectGroupData);
            break;
          }
          case 314: {
            if (stateMachineStateData_ == null) {
              StateMachineStateData = new global::RecRoom.Protobuf.StateMachineStateData();
            }
            input.ReadMessage(StateMachineStateData);
            break;
          }
          case 322: {
            if (gameConfigurationData_ == null) {
              GameConfigurationData = new global::RecRoom.Protobuf.GameConfigurationData();
            }
            input.ReadMessage(GameConfigurationData);
            break;
          }
          case 330: {
            if (gameRuleWrapperData_ == null) {
              GameRuleWrapperData = new global::RecRoom.Protobuf.GameRuleWrapperData();
            }
            input.ReadMessage(GameRuleWrapperData);
            break;
          }
          case 338: {
            if (healthPotionData_ == null) {
              HealthPotionData = new global::RecRoom.Protobuf.HealthPotionData();
            }
            input.ReadMessage(HealthPotionData);
            break;
          }
          case 346: {
            if (scoreboardSetupData_ == null) {
              ScoreboardSetupData = new global::RecRoom.Protobuf.ScoreboardSetupData();
            }
            input.ReadMessage(ScoreboardSetupData);
            break;
          }
          case 354: {
            if (spotlightData_ == null) {
              SpotlightData = new global::RecRoom.Protobuf.SpotlightData();
            }
            input.ReadMessage(SpotlightData);
            break;
          }
          case 362: {
            if (dynamicLightData_ == null) {
              DynamicLightData = new global::RecRoom.Protobuf.DynamicLightData();
            }
            input.ReadMessage(DynamicLightData);
            break;
          }
          case 370: {
            if (bouncePadData_ == null) {
              BouncePadData = new global::RecRoom.Protobuf.BouncePadData();
            }
            input.ReadMessage(BouncePadData);
            break;
          }
          case 378: {
            if (checkpointData_ == null) {
              CheckpointData = new global::RecRoom.Protobuf.CheckpointData();
            }
            input.ReadMessage(CheckpointData);
            break;
          }
          case 386: {
            if (leaderboardData_ == null) {
              LeaderboardData = new global::RecRoom.Protobuf.LeaderboardData();
            }
            input.ReadMessage(LeaderboardData);
            break;
          }
          case 394: {
            if (setLeaderboardStatData_ == null) {
              SetLeaderboardStatData = new global::RecRoom.Protobuf.SetLeaderboardStatData();
            }
            input.ReadMessage(SetLeaderboardStatData);
            break;
          }
          case 402: {
            if (gameRoleNodeData_ == null) {
              GameRoleNodeData = new global::RecRoom.Protobuf.GameRoleNodeData();
            }
            input.ReadMessage(GameRoleNodeData);
            break;
          }
          case 410: {
            if (playerAttractorData_ == null) {
              PlayerAttractorData = new global::RecRoom.Protobuf.PlayerAttractorData();
            }
            input.ReadMessage(PlayerAttractorData);
            break;
          }
          case 418: {
            if (toggleButtonData_ == null) {
              ToggleButtonData = new global::RecRoom.Protobuf.ToggleButtonData();
            }
            input.ReadMessage(ToggleButtonData);
            break;
          }
          case 426: {
            if (sandboxDeformationData_ == null) {
              SandboxDeformationData = new global::RecRoom.Protobuf.SandboxDeformationData();
            }
            input.ReadMessage(SandboxDeformationData);
            break;
          }
          case 434: {
            if (textLabelData_ == null) {
              TextLabelData = new global::RecRoom.Protobuf.TextLabelData();
            }
            input.ReadMessage(TextLabelData);
            break;
          }
          case 442: {
            if (proximityMineData_ == null) {
              ProximityMineData = new global::RecRoom.Protobuf.ProximityMineData();
            }
            input.ReadMessage(ProximityMineData);
            break;
          }
          case 450: {
            if (invisibleCollisionData_ == null) {
              InvisibleCollisionData = new global::RecRoom.Protobuf.InvisibleCollisionData();
            }
            input.ReadMessage(InvisibleCollisionData);
            break;
          }
          case 458: {
            if (moodCircuitData_ == null) {
              MoodCircuitData = new global::RecRoom.Protobuf.MoodCircuitData();
            }
            input.ReadMessage(MoodCircuitData);
            break;
          }
          case 466: {
            if (aiData_ == null) {
              AiData = new global::RecRoom.Protobuf.AIData();
            }
            input.ReadMessage(AiData);
            break;
          }
          case 474: {
            if (ugcSpawnerData_ == null) {
              UgcSpawnerData = new global::RecRoom.Protobuf.UGCSpawnerData();
            }
            input.ReadMessage(UgcSpawnerData);
            break;
          }
          case 482: {
            if (linkButtonData_ == null) {
              LinkButtonData = new global::RecRoom.Protobuf.LinkButtonData();
            }
            input.ReadMessage(LinkButtonData);
            break;
          }
          case 490: {
            if (raycastGizmoData_ == null) {
              RaycastGizmoData = new global::RecRoom.Protobuf.RaycastGizmoData();
            }
            input.ReadMessage(RaycastGizmoData);
            break;
          }
          case 498: {
            if (costumeData_ == null) {
              CostumeData = new global::RecRoom.Protobuf.CostumeData();
            }
            input.ReadMessage(CostumeData);
            break;
          }
          case 506: {
            if (freeGiftButtonData_ == null) {
              FreeGiftButtonData = new global::RecRoom.Protobuf.FreeGiftButtonData();
            }
            input.ReadMessage(FreeGiftButtonData);
            break;
          }
          case 514: {
            if (areaData_ == null) {
              AreaData = new global::RecRoom.Protobuf.AreaData();
            }
            input.ReadMessage(AreaData);
            break;
          }
          case 522: {
            if (controlPanelData_ == null) {
              ControlPanelData = new global::RecRoom.Protobuf.ControlPanelCircuitObjectData();
            }
            input.ReadMessage(ControlPanelData);
            break;
          }
          case 530: {
            if (areaControllerData_ == null) {
              AreaControllerData = new global::RecRoom.Protobuf.AreaControllerData();
            }
            input.ReadMessage(AreaControllerData);
            break;
          }
          case 538: {
            if (showcasePosterData_ == null) {
              ShowcasePosterData = new global::RecRoom.Protobuf.ShowcasePosterData();
            }
            input.ReadMessage(ShowcasePosterData);
            break;
          }
          case 546: {
            if (logScreenData_ == null) {
              LogScreenData = new global::RecRoom.Protobuf.LogScreenData();
            }
            input.ReadMessage(LogScreenData);
            break;
          }
          case 554: {
            if (audioEffectZoneData_ == null) {
              AudioEffectZoneData = new global::RecRoom.Protobuf.AudioEffectZoneData();
            }
            input.ReadMessage(AudioEffectZoneData);
            break;
          }
          case 562: {
            if (glassPaneData_ == null) {
              GlassPaneData = new global::RecRoom.Protobuf.GlassPaneData();
            }
            input.ReadMessage(GlassPaneData);
            break;
          }
          case 570: {
            if (dEPRECATEDConfigurableSelectorData_ == null) {
              DEPRECATEDConfigurableSelectorData = new global::RecRoom.Protobuf.ConfigurableSelectorData();
            }
            input.ReadMessage(DEPRECATEDConfigurableSelectorData);
            break;
          }
          case 578: {
            configurableSelectors_.AddEntriesFrom(input, _repeated_configurableSelectors_codec);
            break;
          }
          case 586: {
            if (streamingCameraPointData_ == null) {
              StreamingCameraPointData = new global::RecRoom.Protobuf.StreamingCameraPointData();
            }
            input.ReadMessage(StreamingCameraPointData);
            break;
          }
          case 594: {
            if (roomCurrencyButtonData_ == null) {
              RoomCurrencyButtonData = new global::RecRoom.Protobuf.RoomCurrencyButtonData();
            }
            input.ReadMessage(RoomCurrencyButtonData);
            break;
          }
          case 602: {
            if (configurableCircuitVisibilityData_ == null) {
              ConfigurableCircuitVisibilityData = new global::RecRoom.Protobuf.ConfigurableCircuitVisibilityData();
            }
            input.ReadMessage(ConfigurableCircuitVisibilityData);
            break;
          }
          case 610: {
            if (seatData_ == null) {
              SeatData = new global::RecRoom.Protobuf.SeatData();
            }
            input.ReadMessage(SeatData);
            break;
          }
          case 618: {
            if (moveablePropData_ == null) {
              MoveablePropData = new global::RecRoom.Protobuf.MoveablePropData();
            }
            input.ReadMessage(MoveablePropData);
            break;
          }
          case 626: {
            if (syncedData_ == null) {
              SyncedData = new global::RecRoom.Protobuf.SyncedData();
            }
            input.ReadMessage(SyncedData);
            break;
          }
          case 634: {
            if (roomConsumableButtonData_ == null) {
              RoomConsumableButtonData = new global::RecRoom.Protobuf.RoomConsumableButtonData();
            }
            input.ReadMessage(RoomConsumableButtonData);
            break;
          }
          case 642: {
            if (groundVehicleData_ == null) {
              GroundVehicleData = new global::RecRoom.Protobuf.GroundVehicleData();
            }
            input.ReadMessage(GroundVehicleData);
            break;
          }
          case 650: {
            if (vehicleEngineData_ == null) {
              VehicleEngineData = new global::RecRoom.Protobuf.VehicleEngineData();
            }
            input.ReadMessage(VehicleEngineData);
            break;
          }
          case 658: {
            if (wheelDifferentialData_ == null) {
              WheelDifferentialData = new global::RecRoom.Protobuf.WheelDifferentialData();
            }
            input.ReadMessage(WheelDifferentialData);
            break;
          }
          case 666: {
            if (wheelSuspensionSystemData_ == null) {
              WheelSuspensionSystemData = new global::RecRoom.Protobuf.WheelSuspensionSystemData();
            }
            input.ReadMessage(WheelSuspensionSystemData);
            break;
          }
          case 674: {
            if (triggerHandleData_ == null) {
              TriggerHandleData = new global::RecRoom.Protobuf.TriggerHandleData();
            }
            input.ReadMessage(TriggerHandleData);
            break;
          }
          case 682: {
            if (interactionVolumeData_ == null) {
              InteractionVolumeData = new global::RecRoom.Protobuf.InteractionVolumeData();
            }
            input.ReadMessage(InteractionVolumeData);
            break;
          }
          case 690: {
            if (poolTableData_ == null) {
              PoolTableData = new global::RecRoom.Protobuf.PoolTableData();
            }
            input.ReadMessage(PoolTableData);
            break;
          }
          case 698: {
            if (playerEventBroadcastVolumeData_ == null) {
              PlayerEventBroadcastVolumeData = new global::RecRoom.Protobuf.PlayerEventBroadcastVolumeData();
            }
            input.ReadMessage(PlayerEventBroadcastVolumeData);
            break;
          }
          case 706: {
            if (ugcStorefrontData_ == null) {
              UgcStorefrontData = new global::RecRoom.Protobuf.UGCStorefrontData();
            }
            input.ReadMessage(UgcStorefrontData);
            break;
          }
          case 714: {
            if (projectileLauncherData_ == null) {
              ProjectileLauncherData = new global::RecRoom.Protobuf.ProjectileLauncherData();
            }
            input.ReadMessage(ProjectileLauncherData);
            break;
          }
          case 722: {
            if (audioPlayerData_ == null) {
              AudioPlayerData = new global::RecRoom.Protobuf.PersistedAudioPlayerData();
            }
            input.ReadMessage(AudioPlayerData);
            break;
          }
          case 730: {
            if (domeLightData_ == null) {
              DomeLightData = new global::RecRoom.Protobuf.DomeLightData();
            }
            input.ReadMessage(DomeLightData);
            break;
          }
          case 738: {
            if (remoteVideoPlayerData_ == null) {
              RemoteVideoPlayerData = new global::RecRoom.Protobuf.RemoteVideoPlayerData();
            }
            input.ReadMessage(RemoteVideoPlayerData);
            break;
          }
          case 746: {
            if (explosionEmitterData_ == null) {
              ExplosionEmitterData = new global::RecRoom.Protobuf.ExplosionEmitterData();
            }
            input.ReadMessage(ExplosionEmitterData);
            break;
          }
          case 754: {
            if (invisibleCollisionV2Data_ == null) {
              InvisibleCollisionV2Data = new global::RecRoom.Protobuf.InvisibleCollisionV2Data();
            }
            input.ReadMessage(InvisibleCollisionV2Data);
            break;
          }
          case 762: {
            if (configurablePhysicsSettingsData_ == null) {
              ConfigurablePhysicsSettingsData = new global::RecRoom.Protobuf.ConfigurablePhysicsSettingsData();
            }
            input.ReadMessage(ConfigurablePhysicsSettingsData);
            break;
          }
          case 770: {
            if (gunHandleData_ == null) {
              GunHandleData = new global::RecRoom.Protobuf.GunHandleData();
            }
            input.ReadMessage(GunHandleData);
            break;
          }
          case 778: {
            if (spawnPointV2Data_ == null) {
              SpawnPointV2Data = new global::RecRoom.Protobuf.SpawnPointV2Data();
            }
            input.ReadMessage(SpawnPointV2Data);
            break;
          }
          case 786: {
            if (welcomeMatV2Data_ == null) {
              WelcomeMatV2Data = new global::RecRoom.Protobuf.WelcomeMatV2Data();
            }
            input.ReadMessage(WelcomeMatV2Data);
            break;
          }
          case 794: {
            if (beaconData_ == null) {
              BeaconData = new global::RecRoom.Protobuf.BeaconData();
            }
            input.ReadMessage(BeaconData);
            break;
          }
          case 800: {
            EntityIdx = input.ReadInt32();
            break;
          }
          case 810: {
            if (textScreenData_ == null) {
              TextScreenData = new global::RecRoom.Protobuf.TextScreenData();
            }
            input.ReadMessage(TextScreenData);
            break;
          }
          case 818: {
            if (roomDoorV2Data_ == null) {
              RoomDoorV2Data = new global::RecRoom.Protobuf.RoomDoorV2Data();
            }
            input.ReadMessage(RoomDoorV2Data);
            break;
          }
          case 826: {
            if (keepsakeData_ == null) {
              KeepsakeData = new global::RecRoom.Protobuf.KeepsakeData();
            }
            input.ReadMessage(KeepsakeData);
            break;
          }
          case 834: {
            if (laserPointerData_ == null) {
              LaserPointerData = new global::RecRoom.Protobuf.LaserPointerData();
            }
            input.ReadMessage(LaserPointerData);
            break;
          }
          case 842: {
            if (collisionDetectionVolumeData_ == null) {
              CollisionDetectionVolumeData = new global::RecRoom.Protobuf.CollisionDetectionVolumeData();
            }
            input.ReadMessage(CollisionDetectionVolumeData);
            break;
          }
          case 850: {
            if (swingHandleData_ == null) {
              SwingHandleData = new global::RecRoom.Protobuf.SwingHandleData();
            }
            input.ReadMessage(SwingHandleData);
            break;
          }
          case 858: {
            if (trailData_ == null) {
              TrailData = new global::RecRoom.Protobuf.TrailData();
            }
            input.ReadMessage(TrailData);
            break;
          }
          case 866: {
            if (fullBodyPuppetToolData_ == null) {
              FullBodyPuppetToolData = new global::RecRoom.Protobuf.FullBodyPuppetToolData();
            }
            input.ReadMessage(FullBodyPuppetToolData);
            break;
          }
          case 882: {
            if (throwHandleData_ == null) {
              ThrowHandleData = new global::RecRoom.Protobuf.ThrowHandleData();
            }
            input.ReadMessage(ThrowHandleData);
            break;
          }
          case 890: {
            if (dialogueUiData_ == null) {
              DialogueUiData = new global::RecRoom.Protobuf.DialogueUIData();
            }
            input.ReadMessage(DialogueUiData);
            break;
          }
          case 898: {
            if (grabberData_ == null) {
              GrabberData = new global::RecRoom.Protobuf.GrabberData();
            }
            input.ReadMessage(GrabberData);
            break;
          }
          case 906: {
            if (replicatorData_ == null) {
              ReplicatorData = new global::RecRoom.Protobuf.ReplicatorData();
            }
            input.ReadMessage(ReplicatorData);
            break;
          }
          case 914: {
            if (baseHandleData_ == null) {
              BaseHandleData = new global::RecRoom.Protobuf.BaseHandleData();
            }
            input.ReadMessage(BaseHandleData);
            break;
          }
          case 922: {
            if (rangedWeaponData_ == null) {
              RangedWeaponData = new global::RecRoom.Protobuf.RangedWeaponPropData();
            }
            input.ReadMessage(RangedWeaponData);
            break;
          }
          case 930: {
            if (ugcSteeringEngineData_ == null) {
              UgcSteeringEngineData = new global::RecRoom.Protobuf.UGCSteeringEngineData();
            }
            input.ReadMessage(UgcSteeringEngineData);
            break;
          }
          case 938: {
            if (ugcSteeringData_ == null) {
              UgcSteeringData = new global::RecRoom.Protobuf.UGCSteeringData();
            }
            input.ReadMessage(UgcSteeringData);
            break;
          }
          case 946: {
            if (sharedRangedWeaponData_ == null) {
              SharedRangedWeaponData = new global::RecRoom.Protobuf.SharedRangedWeaponData();
            }
            input.ReadMessage(SharedRangedWeaponData);
            break;
          }
          case 954: {
            if (meleeWeaponData_ == null) {
              MeleeWeaponData = new global::RecRoom.Protobuf.MeleeWeaponData();
            }
            input.ReadMessage(MeleeWeaponData);
            break;
          }
          case 962: {
            if (mannequinData_ == null) {
              MannequinData = new global::RecRoom.Protobuf.MannequinData();
            }
            input.ReadMessage(MannequinData);
            break;
          }
          case 970: {
            if (gameAiData_ == null) {
              GameAiData = new global::RecRoom.Protobuf.GameAIData();
            }
            input.ReadMessage(GameAiData);
            break;
          }
          case 978: {
            if (texturedQuadData_ == null) {
              TexturedQuadData = new global::RecRoom.Protobuf.TexturedQuadData();
            }
            input.ReadMessage(TexturedQuadData);
            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 10: {
            Id = input.ReadBytes();
            break;
          }
          case 16: {
            DEPRECATEDIsSceneObject = input.ReadBool();
            break;
          }
          case 26: {
            childViews_.AddEntriesFrom(ref input, _repeated_childViews_codec);
            break;
          }
          case 74: {
            if (toolEntityData_ == null) {
              ToolEntityData = new global::RecRoom.Protobuf.ToolEntityData();
            }
            input.ReadMessage(ToolEntityData);
            break;
          }
          case 82: {
            if (transform_ == null) {
              Transform = new global::RecRoom.Protobuf.TransformData();
            }
            input.ReadMessage(Transform);
            break;
          }
          case 90: {
            if (spawnableToolData_ == null) {
              SpawnableToolData = new global::RecRoom.Protobuf.SpawnableToolData();
            }
            input.ReadMessage(SpawnableToolData);
            break;
          }
          case 98: {
            if (shapeContainerData_ == null) {
              ShapeContainerData = new global::RecRoom.Protobuf.ShapeContainerData();
            }
            input.ReadMessage(ShapeContainerData);
            break;
          }
          case 106: {
            if (dEPRECATEDToolData_ == null) {
              DEPRECATEDToolData = new global::RecRoom.Protobuf.DEPRECATED_ToolData();
            }
            input.ReadMessage(DEPRECATEDToolData);
            break;
          }
          case 114: {
            if (creationObjectData_ == null) {
              CreationObjectData = new global::RecRoom.Protobuf.CreationObjectData();
            }
            input.ReadMessage(CreationObjectData);
            break;
          }
          case 122: {
            if (taggedToolData_ == null) {
              TaggedToolData = new global::RecRoom.Protobuf.TaggedToolData();
            }
            input.ReadMessage(TaggedToolData);
            break;
          }
          case 130: {
            if (stickyData_ == null) {
              StickyData = new global::RecRoom.Protobuf.StickyData();
            }
            input.ReadMessage(StickyData);
            break;
          }
          case 138: {
            if (drawingSurfaceData_ == null) {
              DrawingSurfaceData = new global::RecRoom.Protobuf.DrawingSurfaceData();
            }
            input.ReadMessage(DrawingSurfaceData);
            break;
          }
          case 146: {
            if (imageData_ == null) {
              ImageData = new global::RecRoom.Protobuf.ImageData();
            }
            input.ReadMessage(ImageData);
            break;
          }
          case 154: {
            if (toolHolderData_ == null) {
              ToolHolderData = new global::RecRoom.Protobuf.ToolHolderData();
            }
            input.ReadMessage(ToolHolderData);
            break;
          }
          case 162: {
            if (remoteControlData_ == null) {
              RemoteControlData = new global::RecRoom.Protobuf.RemoteControlData();
            }
            input.ReadMessage(RemoteControlData);
            break;
          }
          case 170: {
            if (roomDoorData_ == null) {
              RoomDoorData = new global::RecRoom.Protobuf.RoomDoorData();
            }
            input.ReadMessage(RoomDoorData);
            break;
          }
          case 178: {
            if (toolCleanupData_ == null) {
              ToolCleanupData = new global::RecRoom.Protobuf.ToolCleanupData();
            }
            input.ReadMessage(ToolCleanupData);
            break;
          }
          case 186: {
            if (spawnpointSpawnerData_ == null) {
              SpawnpointSpawnerData = new global::RecRoom.Protobuf.SpawnPointSpawnerData();
            }
            input.ReadMessage(SpawnpointSpawnerData);
            break;
          }
          case 194: {
            if (persistedSfxData_ == null) {
              PersistedSfxData = new global::RecRoom.Protobuf.PersistedSFXData();
            }
            input.ReadMessage(PersistedSfxData);
            break;
          }
          case 202: {
            if (circuitNodeData_ == null) {
              CircuitNodeData = new global::RecRoom.Protobuf.CircuitNodeData();
            }
            input.ReadMessage(CircuitNodeData);
            break;
          }
          case 210: {
            if (messageData_ == null) {
              MessageData = new global::RecRoom.Protobuf.MessageData();
            }
            input.ReadMessage(MessageData);
            break;
          }
          case 218: {
            if (holotarPersistenceData_ == null) {
              HolotarPersistenceData = new global::RecRoom.Protobuf.HolotarPersistenceData();
            }
            input.ReadMessage(HolotarPersistenceData);
            break;
          }
          case 226: {
            if (spawnPointData_ == null) {
              SpawnPointData = new global::RecRoom.Protobuf.SpawnPointData();
            }
            input.ReadMessage(SpawnPointData);
            break;
          }
          case 234: {
            if (audioSamplerPersistenceData_ == null) {
              AudioSamplerPersistenceData = new global::RecRoom.Protobuf.AudioSamplerPersistenceData();
            }
            input.ReadMessage(AudioSamplerPersistenceData);
            break;
          }
          case 242: {
            if (buttonData_ == null) {
              ButtonData = new global::RecRoom.Protobuf.ButtonData();
            }
            input.ReadMessage(ButtonData);
            break;
          }
          case 250: {
            if (triggerVolumeData_ == null) {
              TriggerVolumeData = new global::RecRoom.Protobuf.TriggerVolumeData();
            }
            input.ReadMessage(TriggerVolumeData);
            break;
          }
          case 258: {
            if (sandboxGizmoData_ == null) {
              SandboxGizmoData = new global::RecRoom.Protobuf.SandboxGizmoData();
            }
            input.ReadMessage(SandboxGizmoData);
            break;
          }
          case 266: {
            if (objectSpawnPointData_ == null) {
              ObjectSpawnPointData = new global::RecRoom.Protobuf.ObjectSpawnPointData();
            }
            input.ReadMessage(ObjectSpawnPointData);
            break;
          }
          case 274: {
            if (setTagsNodeData_ == null) {
              SetTagsNodeData = new global::RecRoom.Protobuf.SetTagsNodeData();
            }
            input.ReadMessage(SetTagsNodeData);
            break;
          }
          case 282: {
            if (breakableObjectData_ == null) {
              BreakableObjectData = new global::RecRoom.Protobuf.BreakableObjectData();
            }
            input.ReadMessage(BreakableObjectData);
            break;
          }
          case 290: {
            if (sandboxColorableData_ == null) {
              SandboxColorableData = new global::RecRoom.Protobuf.SandboxColorableData();
            }
            input.ReadMessage(SandboxColorableData);
            break;
          }
          case 298: {
            if (particleEmitterData_ == null) {
              ParticleEmitterData = new global::RecRoom.Protobuf.ParticleEmitterData();
            }
            input.ReadMessage(ParticleEmitterData);
            break;
          }
          case 306: {
            if (objectGroupData_ == null) {
              ObjectGroupData = new global::RecRoom.Protobuf.ObjectGroupData();
            }
            input.ReadMessage(ObjectGroupData);
            break;
          }
          case 314: {
            if (stateMachineStateData_ == null) {
              StateMachineStateData = new global::RecRoom.Protobuf.StateMachineStateData();
            }
            input.ReadMessage(StateMachineStateData);
            break;
          }
          case 322: {
            if (gameConfigurationData_ == null) {
              GameConfigurationData = new global::RecRoom.Protobuf.GameConfigurationData();
            }
            input.ReadMessage(GameConfigurationData);
            break;
          }
          case 330: {
            if (gameRuleWrapperData_ == null) {
              GameRuleWrapperData = new global::RecRoom.Protobuf.GameRuleWrapperData();
            }
            input.ReadMessage(GameRuleWrapperData);
            break;
          }
          case 338: {
            if (healthPotionData_ == null) {
              HealthPotionData = new global::RecRoom.Protobuf.HealthPotionData();
            }
            input.ReadMessage(HealthPotionData);
            break;
          }
          case 346: {
            if (scoreboardSetupData_ == null) {
              ScoreboardSetupData = new global::RecRoom.Protobuf.ScoreboardSetupData();
            }
            input.ReadMessage(ScoreboardSetupData);
            break;
          }
          case 354: {
            if (spotlightData_ == null) {
              SpotlightData = new global::RecRoom.Protobuf.SpotlightData();
            }
            input.ReadMessage(SpotlightData);
            break;
          }
          case 362: {
            if (dynamicLightData_ == null) {
              DynamicLightData = new global::RecRoom.Protobuf.DynamicLightData();
            }
            input.ReadMessage(DynamicLightData);
            break;
          }
          case 370: {
            if (bouncePadData_ == null) {
              BouncePadData = new global::RecRoom.Protobuf.BouncePadData();
            }
            input.ReadMessage(BouncePadData);
            break;
          }
          case 378: {
            if (checkpointData_ == null) {
              CheckpointData = new global::RecRoom.Protobuf.CheckpointData();
            }
            input.ReadMessage(CheckpointData);
            break;
          }
          case 386: {
            if (leaderboardData_ == null) {
              LeaderboardData = new global::RecRoom.Protobuf.LeaderboardData();
            }
            input.ReadMessage(LeaderboardData);
            break;
          }
          case 394: {
            if (setLeaderboardStatData_ == null) {
              SetLeaderboardStatData = new global::RecRoom.Protobuf.SetLeaderboardStatData();
            }
            input.ReadMessage(SetLeaderboardStatData);
            break;
          }
          case 402: {
            if (gameRoleNodeData_ == null) {
              GameRoleNodeData = new global::RecRoom.Protobuf.GameRoleNodeData();
            }
            input.ReadMessage(GameRoleNodeData);
            break;
          }
          case 410: {
            if (playerAttractorData_ == null) {
              PlayerAttractorData = new global::RecRoom.Protobuf.PlayerAttractorData();
            }
            input.ReadMessage(PlayerAttractorData);
            break;
          }
          case 418: {
            if (toggleButtonData_ == null) {
              ToggleButtonData = new global::RecRoom.Protobuf.ToggleButtonData();
            }
            input.ReadMessage(ToggleButtonData);
            break;
          }
          case 426: {
            if (sandboxDeformationData_ == null) {
              SandboxDeformationData = new global::RecRoom.Protobuf.SandboxDeformationData();
            }
            input.ReadMessage(SandboxDeformationData);
            break;
          }
          case 434: {
            if (textLabelData_ == null) {
              TextLabelData = new global::RecRoom.Protobuf.TextLabelData();
            }
            input.ReadMessage(TextLabelData);
            break;
          }
          case 442: {
            if (proximityMineData_ == null) {
              ProximityMineData = new global::RecRoom.Protobuf.ProximityMineData();
            }
            input.ReadMessage(ProximityMineData);
            break;
          }
          case 450: {
            if (invisibleCollisionData_ == null) {
              InvisibleCollisionData = new global::RecRoom.Protobuf.InvisibleCollisionData();
            }
            input.ReadMessage(InvisibleCollisionData);
            break;
          }
          case 458: {
            if (moodCircuitData_ == null) {
              MoodCircuitData = new global::RecRoom.Protobuf.MoodCircuitData();
            }
            input.ReadMessage(MoodCircuitData);
            break;
          }
          case 466: {
            if (aiData_ == null) {
              AiData = new global::RecRoom.Protobuf.AIData();
            }
            input.ReadMessage(AiData);
            break;
          }
          case 474: {
            if (ugcSpawnerData_ == null) {
              UgcSpawnerData = new global::RecRoom.Protobuf.UGCSpawnerData();
            }
            input.ReadMessage(UgcSpawnerData);
            break;
          }
          case 482: {
            if (linkButtonData_ == null) {
              LinkButtonData = new global::RecRoom.Protobuf.LinkButtonData();
            }
            input.ReadMessage(LinkButtonData);
            break;
          }
          case 490: {
            if (raycastGizmoData_ == null) {
              RaycastGizmoData = new global::RecRoom.Protobuf.RaycastGizmoData();
            }
            input.ReadMessage(RaycastGizmoData);
            break;
          }
          case 498: {
            if (costumeData_ == null) {
              CostumeData = new global::RecRoom.Protobuf.CostumeData();
            }
            input.ReadMessage(CostumeData);
            break;
          }
          case 506: {
            if (freeGiftButtonData_ == null) {
              FreeGiftButtonData = new global::RecRoom.Protobuf.FreeGiftButtonData();
            }
            input.ReadMessage(FreeGiftButtonData);
            break;
          }
          case 514: {
            if (areaData_ == null) {
              AreaData = new global::RecRoom.Protobuf.AreaData();
            }
            input.ReadMessage(AreaData);
            break;
          }
          case 522: {
            if (controlPanelData_ == null) {
              ControlPanelData = new global::RecRoom.Protobuf.ControlPanelCircuitObjectData();
            }
            input.ReadMessage(ControlPanelData);
            break;
          }
          case 530: {
            if (areaControllerData_ == null) {
              AreaControllerData = new global::RecRoom.Protobuf.AreaControllerData();
            }
            input.ReadMessage(AreaControllerData);
            break;
          }
          case 538: {
            if (showcasePosterData_ == null) {
              ShowcasePosterData = new global::RecRoom.Protobuf.ShowcasePosterData();
            }
            input.ReadMessage(ShowcasePosterData);
            break;
          }
          case 546: {
            if (logScreenData_ == null) {
              LogScreenData = new global::RecRoom.Protobuf.LogScreenData();
            }
            input.ReadMessage(LogScreenData);
            break;
          }
          case 554: {
            if (audioEffectZoneData_ == null) {
              AudioEffectZoneData = new global::RecRoom.Protobuf.AudioEffectZoneData();
            }
            input.ReadMessage(AudioEffectZoneData);
            break;
          }
          case 562: {
            if (glassPaneData_ == null) {
              GlassPaneData = new global::RecRoom.Protobuf.GlassPaneData();
            }
            input.ReadMessage(GlassPaneData);
            break;
          }
          case 570: {
            if (dEPRECATEDConfigurableSelectorData_ == null) {
              DEPRECATEDConfigurableSelectorData = new global::RecRoom.Protobuf.ConfigurableSelectorData();
            }
            input.ReadMessage(DEPRECATEDConfigurableSelectorData);
            break;
          }
          case 578: {
            configurableSelectors_.AddEntriesFrom(ref input, _repeated_configurableSelectors_codec);
            break;
          }
          case 586: {
            if (streamingCameraPointData_ == null) {
              StreamingCameraPointData = new global::RecRoom.Protobuf.StreamingCameraPointData();
            }
            input.ReadMessage(StreamingCameraPointData);
            break;
          }
          case 594: {
            if (roomCurrencyButtonData_ == null) {
              RoomCurrencyButtonData = new global::RecRoom.Protobuf.RoomCurrencyButtonData();
            }
            input.ReadMessage(RoomCurrencyButtonData);
            break;
          }
          case 602: {
            if (configurableCircuitVisibilityData_ == null) {
              ConfigurableCircuitVisibilityData = new global::RecRoom.Protobuf.ConfigurableCircuitVisibilityData();
            }
            input.ReadMessage(ConfigurableCircuitVisibilityData);
            break;
          }
          case 610: {
            if (seatData_ == null) {
              SeatData = new global::RecRoom.Protobuf.SeatData();
            }
            input.ReadMessage(SeatData);
            break;
          }
          case 618: {
            if (moveablePropData_ == null) {
              MoveablePropData = new global::RecRoom.Protobuf.MoveablePropData();
            }
            input.ReadMessage(MoveablePropData);
            break;
          }
          case 626: {
            if (syncedData_ == null) {
              SyncedData = new global::RecRoom.Protobuf.SyncedData();
            }
            input.ReadMessage(SyncedData);
            break;
          }
          case 634: {
            if (roomConsumableButtonData_ == null) {
              RoomConsumableButtonData = new global::RecRoom.Protobuf.RoomConsumableButtonData();
            }
            input.ReadMessage(RoomConsumableButtonData);
            break;
          }
          case 642: {
            if (groundVehicleData_ == null) {
              GroundVehicleData = new global::RecRoom.Protobuf.GroundVehicleData();
            }
            input.ReadMessage(GroundVehicleData);
            break;
          }
          case 650: {
            if (vehicleEngineData_ == null) {
              VehicleEngineData = new global::RecRoom.Protobuf.VehicleEngineData();
            }
            input.ReadMessage(VehicleEngineData);
            break;
          }
          case 658: {
            if (wheelDifferentialData_ == null) {
              WheelDifferentialData = new global::RecRoom.Protobuf.WheelDifferentialData();
            }
            input.ReadMessage(WheelDifferentialData);
            break;
          }
          case 666: {
            if (wheelSuspensionSystemData_ == null) {
              WheelSuspensionSystemData = new global::RecRoom.Protobuf.WheelSuspensionSystemData();
            }
            input.ReadMessage(WheelSuspensionSystemData);
            break;
          }
          case 674: {
            if (triggerHandleData_ == null) {
              TriggerHandleData = new global::RecRoom.Protobuf.TriggerHandleData();
            }
            input.ReadMessage(TriggerHandleData);
            break;
          }
          case 682: {
            if (interactionVolumeData_ == null) {
              InteractionVolumeData = new global::RecRoom.Protobuf.InteractionVolumeData();
            }
            input.ReadMessage(InteractionVolumeData);
            break;
          }
          case 690: {
            if (poolTableData_ == null) {
              PoolTableData = new global::RecRoom.Protobuf.PoolTableData();
            }
            input.ReadMessage(PoolTableData);
            break;
          }
          case 698: {
            if (playerEventBroadcastVolumeData_ == null) {
              PlayerEventBroadcastVolumeData = new global::RecRoom.Protobuf.PlayerEventBroadcastVolumeData();
            }
            input.ReadMessage(PlayerEventBroadcastVolumeData);
            break;
          }
          case 706: {
            if (ugcStorefrontData_ == null) {
              UgcStorefrontData = new global::RecRoom.Protobuf.UGCStorefrontData();
            }
            input.ReadMessage(UgcStorefrontData);
            break;
          }
          case 714: {
            if (projectileLauncherData_ == null) {
              ProjectileLauncherData = new global::RecRoom.Protobuf.ProjectileLauncherData();
            }
            input.ReadMessage(ProjectileLauncherData);
            break;
          }
          case 722: {
            if (audioPlayerData_ == null) {
              AudioPlayerData = new global::RecRoom.Protobuf.PersistedAudioPlayerData();
            }
            input.ReadMessage(AudioPlayerData);
            break;
          }
          case 730: {
            if (domeLightData_ == null) {
              DomeLightData = new global::RecRoom.Protobuf.DomeLightData();
            }
            input.ReadMessage(DomeLightData);
            break;
          }
          case 738: {
            if (remoteVideoPlayerData_ == null) {
              RemoteVideoPlayerData = new global::RecRoom.Protobuf.RemoteVideoPlayerData();
            }
            input.ReadMessage(RemoteVideoPlayerData);
            break;
          }
          case 746: {
            if (explosionEmitterData_ == null) {
              ExplosionEmitterData = new global::RecRoom.Protobuf.ExplosionEmitterData();
            }
            input.ReadMessage(ExplosionEmitterData);
            break;
          }
          case 754: {
            if (invisibleCollisionV2Data_ == null) {
              InvisibleCollisionV2Data = new global::RecRoom.Protobuf.InvisibleCollisionV2Data();
            }
            input.ReadMessage(InvisibleCollisionV2Data);
            break;
          }
          case 762: {
            if (configurablePhysicsSettingsData_ == null) {
              ConfigurablePhysicsSettingsData = new global::RecRoom.Protobuf.ConfigurablePhysicsSettingsData();
            }
            input.ReadMessage(ConfigurablePhysicsSettingsData);
            break;
          }
          case 770: {
            if (gunHandleData_ == null) {
              GunHandleData = new global::RecRoom.Protobuf.GunHandleData();
            }
            input.ReadMessage(GunHandleData);
            break;
          }
          case 778: {
            if (spawnPointV2Data_ == null) {
              SpawnPointV2Data = new global::RecRoom.Protobuf.SpawnPointV2Data();
            }
            input.ReadMessage(SpawnPointV2Data);
            break;
          }
          case 786: {
            if (welcomeMatV2Data_ == null) {
              WelcomeMatV2Data = new global::RecRoom.Protobuf.WelcomeMatV2Data();
            }
            input.ReadMessage(WelcomeMatV2Data);
            break;
          }
          case 794: {
            if (beaconData_ == null) {
              BeaconData = new global::RecRoom.Protobuf.BeaconData();
            }
            input.ReadMessage(BeaconData);
            break;
          }
          case 800: {
            EntityIdx = input.ReadInt32();
            break;
          }
          case 810: {
            if (textScreenData_ == null) {
              TextScreenData = new global::RecRoom.Protobuf.TextScreenData();
            }
            input.ReadMessage(TextScreenData);
            break;
          }
          case 818: {
            if (roomDoorV2Data_ == null) {
              RoomDoorV2Data = new global::RecRoom.Protobuf.RoomDoorV2Data();
            }
            input.ReadMessage(RoomDoorV2Data);
            break;
          }
          case 826: {
            if (keepsakeData_ == null) {
              KeepsakeData = new global::RecRoom.Protobuf.KeepsakeData();
            }
            input.ReadMessage(KeepsakeData);
            break;
          }
          case 834: {
            if (laserPointerData_ == null) {
              LaserPointerData = new global::RecRoom.Protobuf.LaserPointerData();
            }
            input.ReadMessage(LaserPointerData);
            break;
          }
          case 842: {
            if (collisionDetectionVolumeData_ == null) {
              CollisionDetectionVolumeData = new global::RecRoom.Protobuf.CollisionDetectionVolumeData();
            }
            input.ReadMessage(CollisionDetectionVolumeData);
            break;
          }
          case 850: {
            if (swingHandleData_ == null) {
              SwingHandleData = new global::RecRoom.Protobuf.SwingHandleData();
            }
            input.ReadMessage(SwingHandleData);
            break;
          }
          case 858: {
            if (trailData_ == null) {
              TrailData = new global::RecRoom.Protobuf.TrailData();
            }
            input.ReadMessage(TrailData);
            break;
          }
          case 866: {
            if (fullBodyPuppetToolData_ == null) {
              FullBodyPuppetToolData = new global::RecRoom.Protobuf.FullBodyPuppetToolData();
            }
            input.ReadMessage(FullBodyPuppetToolData);
            break;
          }
          case 882: {
            if (throwHandleData_ == null) {
              ThrowHandleData = new global::RecRoom.Protobuf.ThrowHandleData();
            }
            input.ReadMessage(ThrowHandleData);
            break;
          }
          case 890: {
            if (dialogueUiData_ == null) {
              DialogueUiData = new global::RecRoom.Protobuf.DialogueUIData();
            }
            input.ReadMessage(DialogueUiData);
            break;
          }
          case 898: {
            if (grabberData_ == null) {
              GrabberData = new global::RecRoom.Protobuf.GrabberData();
            }
            input.ReadMessage(GrabberData);
            break;
          }
          case 906: {
            if (replicatorData_ == null) {
              ReplicatorData = new global::RecRoom.Protobuf.ReplicatorData();
            }
            input.ReadMessage(ReplicatorData);
            break;
          }
          case 914: {
            if (baseHandleData_ == null) {
              BaseHandleData = new global::RecRoom.Protobuf.BaseHandleData();
            }
            input.ReadMessage(BaseHandleData);
            break;
          }
          case 922: {
            if (rangedWeaponData_ == null) {
              RangedWeaponData = new global::RecRoom.Protobuf.RangedWeaponPropData();
            }
            input.ReadMessage(RangedWeaponData);
            break;
          }
          case 930: {
            if (ugcSteeringEngineData_ == null) {
              UgcSteeringEngineData = new global::RecRoom.Protobuf.UGCSteeringEngineData();
            }
            input.ReadMessage(UgcSteeringEngineData);
            break;
          }
          case 938: {
            if (ugcSteeringData_ == null) {
              UgcSteeringData = new global::RecRoom.Protobuf.UGCSteeringData();
            }
            input.ReadMessage(UgcSteeringData);
            break;
          }
          case 946: {
            if (sharedRangedWeaponData_ == null) {
              SharedRangedWeaponData = new global::RecRoom.Protobuf.SharedRangedWeaponData();
            }
            input.ReadMessage(SharedRangedWeaponData);
            break;
          }
          case 954: {
            if (meleeWeaponData_ == null) {
              MeleeWeaponData = new global::RecRoom.Protobuf.MeleeWeaponData();
            }
            input.ReadMessage(MeleeWeaponData);
            break;
          }
          case 962: {
            if (mannequinData_ == null) {
              MannequinData = new global::RecRoom.Protobuf.MannequinData();
            }
            input.ReadMessage(MannequinData);
            break;
          }
          case 970: {
            if (gameAiData_ == null) {
              GameAiData = new global::RecRoom.Protobuf.GameAIData();
            }
            input.ReadMessage(GameAiData);
            break;
          }
          case 978: {
            if (texturedQuadData_ == null) {
              TexturedQuadData = new global::RecRoom.Protobuf.TexturedQuadData();
            }
            input.ReadMessage(TexturedQuadData);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class ChildPersistenceViewData : pb::IMessage<ChildPersistenceViewData>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ChildPersistenceViewData> _parser = new pb::MessageParser<ChildPersistenceViewData>(() => new ChildPersistenceViewData());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ChildPersistenceViewData> 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.PersistenceViewDataReflection.Descriptor.MessageTypes[1]; }
    }

    [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 ChildPersistenceViewData() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ChildPersistenceViewData(ChildPersistenceViewData other) : this() {
      childId_ = other.childId_;
      data_ = other.data_ != null ? other.data_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

    /// <summary>Field number for the "data" field.</summary>
    public const int DataFieldNumber = 2;
    private global::RecRoom.Protobuf.PersistenceViewData data_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.PersistenceViewData Data {
      get { return data_; }
      set {
        data_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ChildPersistenceViewData other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ChildId != other.ChildId) return false;
      if (!object.Equals(Data, other.Data)) 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 (ChildId != 0) hash ^= ChildId.GetHashCode();
      if (data_ != null) hash ^= Data.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 (ChildId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(ChildId);
      }
      if (data_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Data);
      }
      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 (ChildId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(ChildId);
      }
      if (data_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Data);
      }
      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 (ChildId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ChildId);
      }
      if (data_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Data);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ChildPersistenceViewData other) {
      if (other == null) {
        return;
      }
      if (other.ChildId != 0) {
        ChildId = other.ChildId;
      }
      if (other.data_ != null) {
        if (data_ == null) {
          Data = new global::RecRoom.Protobuf.PersistenceViewData();
        }
        Data.MergeFrom(other.Data);
      }
      _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: {
            ChildId = input.ReadInt32();
            break;
          }
          case 18: {
            if (data_ == null) {
              Data = new global::RecRoom.Protobuf.PersistenceViewData();
            }
            input.ReadMessage(Data);
            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: {
            ChildId = input.ReadInt32();
            break;
          }
          case 18: {
            if (data_ == null) {
              Data = new global::RecRoom.Protobuf.PersistenceViewData();
            }
            input.ReadMessage(Data);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class UGCSpawnerData : pb::IMessage<UGCSpawnerData>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UGCSpawnerData> _parser = new pb::MessageParser<UGCSpawnerData>(() => new UGCSpawnerData());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UGCSpawnerData> 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.PersistenceViewDataReflection.Descriptor.MessageTypes[2]; }
    }

    [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 UGCSpawnerData() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UGCSpawnerData(UGCSpawnerData other) : this() {
      timeBetweenSpawnsMs_ = other.timeBetweenSpawnsMs_;
      dEPRECATEDToolType_ = other.dEPRECATEDToolType_;
      inventionId_ = other.inventionId_;
      numObjectsToSpawn_ = other.numObjectsToSpawn_;
      applyTagsToSpawnedObjects_ = other.applyTagsToSpawnedObjects_;
      templateData_ = other.templateData_ != null ? other.templateData_.Clone() : null;
      previewCircuitGraphId_ = other.previewCircuitGraphId_;
      toolType_ = other.toolType_ != null ? other.toolType_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

    /// <summary>Field number for the "invention_id" field.</summary>
    public const int InventionIdFieldNumber = 3;
    private long inventionId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long InventionId {
      get { return inventionId_; }
      set {
        inventionId_ = value;
      }
    }

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

    /// <summary>Field number for the "apply_tags_to_spawned_objects" field.</summary>
    public const int ApplyTagsToSpawnedObjectsFieldNumber = 5;
    private int applyTagsToSpawnedObjects_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ApplyTagsToSpawnedObjects {
      get { return applyTagsToSpawnedObjects_; }
      set {
        applyTagsToSpawnedObjects_ = value;
      }
    }

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

    /// <summary>Field number for the "preview_circuit_graph_id" field.</summary>
    public const int PreviewCircuitGraphIdFieldNumber = 7;
    private pb::ByteString previewCircuitGraphId_ = pb::ByteString.Empty;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pb::ByteString PreviewCircuitGraphId {
      get { return previewCircuitGraphId_; }
      set {
        previewCircuitGraphId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "tool_type" field.</summary>
    public const int ToolTypeFieldNumber = 8;
    private global::RecRoom.Protobuf.Core.GuidData toolType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.Core.GuidData ToolType {
      get { return toolType_; }
      set {
        toolType_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UGCSpawnerData other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (TimeBetweenSpawnsMs != other.TimeBetweenSpawnsMs) return false;
      if (DEPRECATEDToolType != other.DEPRECATEDToolType) return false;
      if (InventionId != other.InventionId) return false;
      if (NumObjectsToSpawn != other.NumObjectsToSpawn) return false;
      if (ApplyTagsToSpawnedObjects != other.ApplyTagsToSpawnedObjects) return false;
      if (!object.Equals(TemplateData, other.TemplateData)) return false;
      if (PreviewCircuitGraphId != other.PreviewCircuitGraphId) return false;
      if (!object.Equals(ToolType, other.ToolType)) 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 (TimeBetweenSpawnsMs != 0) hash ^= TimeBetweenSpawnsMs.GetHashCode();
      if (DEPRECATEDToolType != 0) hash ^= DEPRECATEDToolType.GetHashCode();
      if (InventionId != 0L) hash ^= InventionId.GetHashCode();
      if (NumObjectsToSpawn != 0) hash ^= NumObjectsToSpawn.GetHashCode();
      if (ApplyTagsToSpawnedObjects != 0) hash ^= ApplyTagsToSpawnedObjects.GetHashCode();
      if (templateData_ != null) hash ^= TemplateData.GetHashCode();
      if (PreviewCircuitGraphId.Length != 0) hash ^= PreviewCircuitGraphId.GetHashCode();
      if (toolType_ != null) hash ^= ToolType.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 (TimeBetweenSpawnsMs != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(TimeBetweenSpawnsMs);
      }
      if (DEPRECATEDToolType != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(DEPRECATEDToolType);
      }
      if (InventionId != 0L) {
        output.WriteRawTag(24);
        output.WriteInt64(InventionId);
      }
      if (NumObjectsToSpawn != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(NumObjectsToSpawn);
      }
      if (ApplyTagsToSpawnedObjects != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ApplyTagsToSpawnedObjects);
      }
      if (templateData_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(TemplateData);
      }
      if (PreviewCircuitGraphId.Length != 0) {
        output.WriteRawTag(58);
        output.WriteBytes(PreviewCircuitGraphId);
      }
      if (toolType_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(ToolType);
      }
      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 (TimeBetweenSpawnsMs != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(TimeBetweenSpawnsMs);
      }
      if (DEPRECATEDToolType != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(DEPRECATEDToolType);
      }
      if (InventionId != 0L) {
        output.WriteRawTag(24);
        output.WriteInt64(InventionId);
      }
      if (NumObjectsToSpawn != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(NumObjectsToSpawn);
      }
      if (ApplyTagsToSpawnedObjects != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ApplyTagsToSpawnedObjects);
      }
      if (templateData_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(TemplateData);
      }
      if (PreviewCircuitGraphId.Length != 0) {
        output.WriteRawTag(58);
        output.WriteBytes(PreviewCircuitGraphId);
      }
      if (toolType_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(ToolType);
      }
      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 (TimeBetweenSpawnsMs != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TimeBetweenSpawnsMs);
      }
      if (DEPRECATEDToolType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DEPRECATEDToolType);
      }
      if (InventionId != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(InventionId);
      }
      if (NumObjectsToSpawn != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NumObjectsToSpawn);
      }
      if (ApplyTagsToSpawnedObjects != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ApplyTagsToSpawnedObjects);
      }
      if (templateData_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(TemplateData);
      }
      if (PreviewCircuitGraphId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeBytesSize(PreviewCircuitGraphId);
      }
      if (toolType_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ToolType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UGCSpawnerData other) {
      if (other == null) {
        return;
      }
      if (other.TimeBetweenSpawnsMs != 0) {
        TimeBetweenSpawnsMs = other.TimeBetweenSpawnsMs;
      }
      if (other.DEPRECATEDToolType != 0) {
        DEPRECATEDToolType = other.DEPRECATEDToolType;
      }
      if (other.InventionId != 0L) {
        InventionId = other.InventionId;
      }
      if (other.NumObjectsToSpawn != 0) {
        NumObjectsToSpawn = other.NumObjectsToSpawn;
      }
      if (other.ApplyTagsToSpawnedObjects != 0) {
        ApplyTagsToSpawnedObjects = other.ApplyTagsToSpawnedObjects;
      }
      if (other.templateData_ != null) {
        if (templateData_ == null) {
          TemplateData = new global::RecRoom.Protobuf.SpawnableTemplateData();
        }
        TemplateData.MergeFrom(other.TemplateData);
      }
      if (other.PreviewCircuitGraphId.Length != 0) {
        PreviewCircuitGraphId = other.PreviewCircuitGraphId;
      }
      if (other.toolType_ != null) {
        if (toolType_ == null) {
          ToolType = new global::RecRoom.Protobuf.Core.GuidData();
        }
        ToolType.MergeFrom(other.ToolType);
      }
      _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: {
            TimeBetweenSpawnsMs = input.ReadInt32();
            break;
          }
          case 16: {
            DEPRECATEDToolType = input.ReadInt32();
            break;
          }
          case 24: {
            InventionId = input.ReadInt64();
            break;
          }
          case 32: {
            NumObjectsToSpawn = input.ReadInt32();
            break;
          }
          case 40: {
            ApplyTagsToSpawnedObjects = input.ReadInt32();
            break;
          }
          case 50: {
            if (templateData_ == null) {
              TemplateData = new global::RecRoom.Protobuf.SpawnableTemplateData();
            }
            input.ReadMessage(TemplateData);
            break;
          }
          case 58: {
            PreviewCircuitGraphId = input.ReadBytes();
            break;
          }
          case 66: {
            if (toolType_ == null) {
              ToolType = new global::RecRoom.Protobuf.Core.GuidData();
            }
            input.ReadMessage(ToolType);
            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: {
            TimeBetweenSpawnsMs = input.ReadInt32();
            break;
          }
          case 16: {
            DEPRECATEDToolType = input.ReadInt32();
            break;
          }
          case 24: {
            InventionId = input.ReadInt64();
            break;
          }
          case 32: {
            NumObjectsToSpawn = input.ReadInt32();
            break;
          }
          case 40: {
            ApplyTagsToSpawnedObjects = input.ReadInt32();
            break;
          }
          case 50: {
            if (templateData_ == null) {
              TemplateData = new global::RecRoom.Protobuf.SpawnableTemplateData();
            }
            input.ReadMessage(TemplateData);
            break;
          }
          case 58: {
            PreviewCircuitGraphId = input.ReadBytes();
            break;
          }
          case 66: {
            if (toolType_ == null) {
              ToolType = new global::RecRoom.Protobuf.Core.GuidData();
            }
            input.ReadMessage(ToolType);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class SpawnableTemplateData : pb::IMessage<SpawnableTemplateData>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<SpawnableTemplateData> _parser = new pb::MessageParser<SpawnableTemplateData>(() => new SpawnableTemplateData());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<SpawnableTemplateData> 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.PersistenceViewDataReflection.Descriptor.MessageTypes[3]; }
    }

    [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 SpawnableTemplateData() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SpawnableTemplateData(SpawnableTemplateData other) : this() {
      dEPRECATEDRoomDataVersion_ = other.dEPRECATEDRoomDataVersion_;
      persistenceViews_ = other.persistenceViews_.Clone();
      outputLog_ = other.outputLog_;
      circuitData_ = other.circuitData_;
      connectableGraphData_ = other.connectableGraphData_ != null ? other.connectableGraphData_.Clone() : null;
      extents_ = other.extents_ != null ? other.extents_.Clone() : null;
      dEPRECATEDCircuitV2Data_ = other.dEPRECATEDCircuitV2Data_ != null ? other.dEPRECATEDCircuitV2Data_.Clone() : null;
      circuitV2Data_ = other.circuitV2Data_ != null ? other.circuitV2Data_.Clone() : null;
      inventionAnchorData_ = other.inventionAnchorData_ != null ? other.inventionAnchorData_.Clone() : null;
      persistedRoomVersion_ = other.persistedRoomVersion_;
      objectModelData_ = other.objectModelData_;
      superRoomVersion_ = other.superRoomVersion_;
      inventionInstanceData_ = other.inventionInstanceData_ != null ? other.inventionInstanceData_.Clone() : null;
      securityData_ = other.securityData_ != null ? other.securityData_.Clone() : null;
      inventoryItemDtos_ = other.inventoryItemDtos_.Clone();
      roomOfferDtos_ = other.roomOfferDtos_.Clone();
      rewardDatas_ = other.rewardDatas_.Clone();
      inventoryItemTagDtos_ = other.inventoryItemTagDtos_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "DEPRECATED_room_data_version" field.</summary>
    public const int DEPRECATEDRoomDataVersionFieldNumber = 1;
    private global::RecRoom.Protobuf.DEPRECATED_RoomPersistenceVersion dEPRECATEDRoomDataVersion_ = global::RecRoom.Protobuf.DEPRECATED_RoomPersistenceVersion.V0NewRoomPersistenceVersion;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.DEPRECATED_RoomPersistenceVersion DEPRECATEDRoomDataVersion {
      get { return dEPRECATEDRoomDataVersion_; }
      set {
        dEPRECATEDRoomDataVersion_ = value;
      }
    }

    /// <summary>Field number for the "persistence_views" field.</summary>
    public const int PersistenceViewsFieldNumber = 2;
    private static readonly pb::FieldCodec<global::RecRoom.Protobuf.PersistenceViewData> _repeated_persistenceViews_codec
        = pb::FieldCodec.ForMessage(18, global::RecRoom.Protobuf.PersistenceViewData.Parser);
    private readonly pbc::RepeatedField<global::RecRoom.Protobuf.PersistenceViewData> persistenceViews_ = new pbc::RepeatedField<global::RecRoom.Protobuf.PersistenceViewData>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::RecRoom.Protobuf.PersistenceViewData> PersistenceViews {
      get { return persistenceViews_; }
    }

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

    /// <summary>Field number for the "circuit_data" field.</summary>
    public const int CircuitDataFieldNumber = 4;
    private pb::ByteString circuitData_ = pb::ByteString.Empty;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pb::ByteString CircuitData {
      get { return circuitData_; }
      set {
        circuitData_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "connectable_graph_data" field.</summary>
    public const int ConnectableGraphDataFieldNumber = 5;
    private global::RecRoom.Protobuf.ConnectableGraphData connectableGraphData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.ConnectableGraphData ConnectableGraphData {
      get { return connectableGraphData_; }
      set {
        connectableGraphData_ = value;
      }
    }

    /// <summary>Field number for the "extents" field.</summary>
    public const int ExtentsFieldNumber = 6;
    private global::RecRoom.Protobuf.Core.Vector3Data extents_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.Core.Vector3Data Extents {
      get { return extents_; }
      set {
        extents_ = value;
      }
    }

    /// <summary>Field number for the "DEPRECATED_circuit_v2_data" field.</summary>
    public const int DEPRECATEDCircuitV2DataFieldNumber = 7;
    private global::CircuitsV2.Protobuf.CircuitGraphData dEPRECATEDCircuitV2Data_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::CircuitsV2.Protobuf.CircuitGraphData DEPRECATEDCircuitV2Data {
      get { return dEPRECATEDCircuitV2Data_; }
      set {
        dEPRECATEDCircuitV2Data_ = value;
      }
    }

    /// <summary>Field number for the "circuit_v2_data" field.</summary>
    public const int CircuitV2DataFieldNumber = 8;
    private global::CircuitsV2.Protobuf.CircuitTemplateRootData circuitV2Data_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::CircuitsV2.Protobuf.CircuitTemplateRootData CircuitV2Data {
      get { return circuitV2Data_; }
      set {
        circuitV2Data_ = value;
      }
    }

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

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

    /// <summary>Field number for the "object_model_data" field.</summary>
    public const int ObjectModelDataFieldNumber = 11;
    private pb::ByteString objectModelData_ = pb::ByteString.Empty;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pb::ByteString ObjectModelData {
      get { return objectModelData_; }
      set {
        objectModelData_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

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

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

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

    /// <summary>Field number for the "inventory_item_dtos" field.</summary>
    public const int InventoryItemDtosFieldNumber = 15;
    private static readonly pb::FieldCodec<pb::ByteString> _repeated_inventoryItemDtos_codec
        = pb::FieldCodec.ForBytes(122);
    private readonly pbc::RepeatedField<pb::ByteString> inventoryItemDtos_ = new pbc::RepeatedField<pb::ByteString>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<pb::ByteString> InventoryItemDtos {
      get { return inventoryItemDtos_; }
    }

    /// <summary>Field number for the "room_offer_dtos" field.</summary>
    public const int RoomOfferDtosFieldNumber = 16;
    private static readonly pb::FieldCodec<pb::ByteString> _repeated_roomOfferDtos_codec
        = pb::FieldCodec.ForBytes(130);
    private readonly pbc::RepeatedField<pb::ByteString> roomOfferDtos_ = new pbc::RepeatedField<pb::ByteString>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<pb::ByteString> RoomOfferDtos {
      get { return roomOfferDtos_; }
    }

    /// <summary>Field number for the "reward_datas" field.</summary>
    public const int RewardDatasFieldNumber = 17;
    private static readonly pb::FieldCodec<global::CircuitsV2.Protobuf.RewardData> _repeated_rewardDatas_codec
        = pb::FieldCodec.ForMessage(138, global::CircuitsV2.Protobuf.RewardData.Parser);
    private readonly pbc::RepeatedField<global::CircuitsV2.Protobuf.RewardData> rewardDatas_ = new pbc::RepeatedField<global::CircuitsV2.Protobuf.RewardData>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::CircuitsV2.Protobuf.RewardData> RewardDatas {
      get { return rewardDatas_; }
    }

    /// <summary>Field number for the "inventory_item_tag_dtos" field.</summary>
    public const int InventoryItemTagDtosFieldNumber = 18;
    private static readonly pb::FieldCodec<pb::ByteString> _repeated_inventoryItemTagDtos_codec
        = pb::FieldCodec.ForBytes(146);
    private readonly pbc::RepeatedField<pb::ByteString> inventoryItemTagDtos_ = new pbc::RepeatedField<pb::ByteString>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<pb::ByteString> InventoryItemTagDtos {
      get { return inventoryItemTagDtos_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SpawnableTemplateData other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (DEPRECATEDRoomDataVersion != other.DEPRECATEDRoomDataVersion) return false;
      if(!persistenceViews_.Equals(other.persistenceViews_)) return false;
      if (OutputLog != other.OutputLog) return false;
      if (CircuitData != other.CircuitData) return false;
      if (!object.Equals(ConnectableGraphData, other.ConnectableGraphData)) return false;
      if (!object.Equals(Extents, other.Extents)) return false;
      if (!object.Equals(DEPRECATEDCircuitV2Data, other.DEPRECATEDCircuitV2Data)) return false;
      if (!object.Equals(CircuitV2Data, other.CircuitV2Data)) return false;
      if (!object.Equals(InventionAnchorData, other.InventionAnchorData)) return false;
      if (PersistedRoomVersion != other.PersistedRoomVersion) return false;
      if (ObjectModelData != other.ObjectModelData) return false;
      if (SuperRoomVersion != other.SuperRoomVersion) return false;
      if (!object.Equals(InventionInstanceData, other.InventionInstanceData)) return false;
      if (!object.Equals(SecurityData, other.SecurityData)) return false;
      if(!inventoryItemDtos_.Equals(other.inventoryItemDtos_)) return false;
      if(!roomOfferDtos_.Equals(other.roomOfferDtos_)) return false;
      if(!rewardDatas_.Equals(other.rewardDatas_)) return false;
      if(!inventoryItemTagDtos_.Equals(other.inventoryItemTagDtos_)) 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 (DEPRECATEDRoomDataVersion != global::RecRoom.Protobuf.DEPRECATED_RoomPersistenceVersion.V0NewRoomPersistenceVersion) hash ^= DEPRECATEDRoomDataVersion.GetHashCode();
      hash ^= persistenceViews_.GetHashCode();
      if (OutputLog.Length != 0) hash ^= OutputLog.GetHashCode();
      if (CircuitData.Length != 0) hash ^= CircuitData.GetHashCode();
      if (connectableGraphData_ != null) hash ^= ConnectableGraphData.GetHashCode();
      if (extents_ != null) hash ^= Extents.GetHashCode();
      if (dEPRECATEDCircuitV2Data_ != null) hash ^= DEPRECATEDCircuitV2Data.GetHashCode();
      if (circuitV2Data_ != null) hash ^= CircuitV2Data.GetHashCode();
      if (inventionAnchorData_ != null) hash ^= InventionAnchorData.GetHashCode();
      if (PersistedRoomVersion != global::RecRoom.Protobuf.PersistedRoomVersion.V0New) hash ^= PersistedRoomVersion.GetHashCode();
      if (ObjectModelData.Length != 0) hash ^= ObjectModelData.GetHashCode();
      if (SuperRoomVersion != global::RecRoom.Protobuf.SuperRoomVersion.V0NewSuperRoomVersion) hash ^= SuperRoomVersion.GetHashCode();
      if (inventionInstanceData_ != null) hash ^= InventionInstanceData.GetHashCode();
      if (securityData_ != null) hash ^= SecurityData.GetHashCode();
      hash ^= inventoryItemDtos_.GetHashCode();
      hash ^= roomOfferDtos_.GetHashCode();
      hash ^= rewardDatas_.GetHashCode();
      hash ^= inventoryItemTagDtos_.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 (DEPRECATEDRoomDataVersion != global::RecRoom.Protobuf.DEPRECATED_RoomPersistenceVersion.V0NewRoomPersistenceVersion) {
        output.WriteRawTag(8);
        output.WriteEnum((int) DEPRECATEDRoomDataVersion);
      }
      persistenceViews_.WriteTo(output, _repeated_persistenceViews_codec);
      if (OutputLog.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OutputLog);
      }
      if (CircuitData.Length != 0) {
        output.WriteRawTag(34);
        output.WriteBytes(CircuitData);
      }
      if (connectableGraphData_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ConnectableGraphData);
      }
      if (extents_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(Extents);
      }
      if (dEPRECATEDCircuitV2Data_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(DEPRECATEDCircuitV2Data);
      }
      if (circuitV2Data_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(CircuitV2Data);
      }
      if (inventionAnchorData_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(InventionAnchorData);
      }
      if (PersistedRoomVersion != global::RecRoom.Protobuf.PersistedRoomVersion.V0New) {
        output.WriteRawTag(80);
        output.WriteEnum((int) PersistedRoomVersion);
      }
      if (ObjectModelData.Length != 0) {
        output.WriteRawTag(90);
        output.WriteBytes(ObjectModelData);
      }
      if (SuperRoomVersion != global::RecRoom.Protobuf.SuperRoomVersion.V0NewSuperRoomVersion) {
        output.WriteRawTag(96);
        output.WriteEnum((int) SuperRoomVersion);
      }
      if (inventionInstanceData_ != null) {
        output.WriteRawTag(106);
        output.WriteMessage(InventionInstanceData);
      }
      if (securityData_ != null) {
        output.WriteRawTag(114);
        output.WriteMessage(SecurityData);
      }
      inventoryItemDtos_.WriteTo(output, _repeated_inventoryItemDtos_codec);
      roomOfferDtos_.WriteTo(output, _repeated_roomOfferDtos_codec);
      rewardDatas_.WriteTo(output, _repeated_rewardDatas_codec);
      inventoryItemTagDtos_.WriteTo(output, _repeated_inventoryItemTagDtos_codec);
      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 (DEPRECATEDRoomDataVersion != global::RecRoom.Protobuf.DEPRECATED_RoomPersistenceVersion.V0NewRoomPersistenceVersion) {
        output.WriteRawTag(8);
        output.WriteEnum((int) DEPRECATEDRoomDataVersion);
      }
      persistenceViews_.WriteTo(ref output, _repeated_persistenceViews_codec);
      if (OutputLog.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OutputLog);
      }
      if (CircuitData.Length != 0) {
        output.WriteRawTag(34);
        output.WriteBytes(CircuitData);
      }
      if (connectableGraphData_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ConnectableGraphData);
      }
      if (extents_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(Extents);
      }
      if (dEPRECATEDCircuitV2Data_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(DEPRECATEDCircuitV2Data);
      }
      if (circuitV2Data_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(CircuitV2Data);
      }
      if (inventionAnchorData_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(InventionAnchorData);
      }
      if (PersistedRoomVersion != global::RecRoom.Protobuf.PersistedRoomVersion.V0New) {
        output.WriteRawTag(80);
        output.WriteEnum((int) PersistedRoomVersion);
      }
      if (ObjectModelData.Length != 0) {
        output.WriteRawTag(90);
        output.WriteBytes(ObjectModelData);
      }
      if (SuperRoomVersion != global::RecRoom.Protobuf.SuperRoomVersion.V0NewSuperRoomVersion) {
        output.WriteRawTag(96);
        output.WriteEnum((int) SuperRoomVersion);
      }
      if (inventionInstanceData_ != null) {
        output.WriteRawTag(106);
        output.WriteMessage(InventionInstanceData);
      }
      if (securityData_ != null) {
        output.WriteRawTag(114);
        output.WriteMessage(SecurityData);
      }
      inventoryItemDtos_.WriteTo(ref output, _repeated_inventoryItemDtos_codec);
      roomOfferDtos_.WriteTo(ref output, _repeated_roomOfferDtos_codec);
      rewardDatas_.WriteTo(ref output, _repeated_rewardDatas_codec);
      inventoryItemTagDtos_.WriteTo(ref output, _repeated_inventoryItemTagDtos_codec);
      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 (DEPRECATEDRoomDataVersion != global::RecRoom.Protobuf.DEPRECATED_RoomPersistenceVersion.V0NewRoomPersistenceVersion) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DEPRECATEDRoomDataVersion);
      }
      size += persistenceViews_.CalculateSize(_repeated_persistenceViews_codec);
      if (OutputLog.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OutputLog);
      }
      if (CircuitData.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeBytesSize(CircuitData);
      }
      if (connectableGraphData_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ConnectableGraphData);
      }
      if (extents_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Extents);
      }
      if (dEPRECATEDCircuitV2Data_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DEPRECATEDCircuitV2Data);
      }
      if (circuitV2Data_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(CircuitV2Data);
      }
      if (inventionAnchorData_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(InventionAnchorData);
      }
      if (PersistedRoomVersion != global::RecRoom.Protobuf.PersistedRoomVersion.V0New) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PersistedRoomVersion);
      }
      if (ObjectModelData.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeBytesSize(ObjectModelData);
      }
      if (SuperRoomVersion != global::RecRoom.Protobuf.SuperRoomVersion.V0NewSuperRoomVersion) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) SuperRoomVersion);
      }
      if (inventionInstanceData_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(InventionInstanceData);
      }
      if (securityData_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SecurityData);
      }
      size += inventoryItemDtos_.CalculateSize(_repeated_inventoryItemDtos_codec);
      size += roomOfferDtos_.CalculateSize(_repeated_roomOfferDtos_codec);
      size += rewardDatas_.CalculateSize(_repeated_rewardDatas_codec);
      size += inventoryItemTagDtos_.CalculateSize(_repeated_inventoryItemTagDtos_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SpawnableTemplateData other) {
      if (other == null) {
        return;
      }
      if (other.DEPRECATEDRoomDataVersion != global::RecRoom.Protobuf.DEPRECATED_RoomPersistenceVersion.V0NewRoomPersistenceVersion) {
        DEPRECATEDRoomDataVersion = other.DEPRECATEDRoomDataVersion;
      }
      persistenceViews_.Add(other.persistenceViews_);
      if (other.OutputLog.Length != 0) {
        OutputLog = other.OutputLog;
      }
      if (other.CircuitData.Length != 0) {
        CircuitData = other.CircuitData;
      }
      if (other.connectableGraphData_ != null) {
        if (connectableGraphData_ == null) {
          ConnectableGraphData = new global::RecRoom.Protobuf.ConnectableGraphData();
        }
        ConnectableGraphData.MergeFrom(other.ConnectableGraphData);
      }
      if (other.extents_ != null) {
        if (extents_ == null) {
          Extents = new global::RecRoom.Protobuf.Core.Vector3Data();
        }
        Extents.MergeFrom(other.Extents);
      }
      if (other.dEPRECATEDCircuitV2Data_ != null) {
        if (dEPRECATEDCircuitV2Data_ == null) {
          DEPRECATEDCircuitV2Data = new global::CircuitsV2.Protobuf.CircuitGraphData();
        }
        DEPRECATEDCircuitV2Data.MergeFrom(other.DEPRECATEDCircuitV2Data);
      }
      if (other.circuitV2Data_ != null) {
        if (circuitV2Data_ == null) {
          CircuitV2Data = new global::CircuitsV2.Protobuf.CircuitTemplateRootData();
        }
        CircuitV2Data.MergeFrom(other.CircuitV2Data);
      }
      if (other.inventionAnchorData_ != null) {
        if (inventionAnchorData_ == null) {
          InventionAnchorData = new global::RecRoom.Protobuf.InventionAnchorData();
        }
        InventionAnchorData.MergeFrom(other.InventionAnchorData);
      }
      if (other.PersistedRoomVersion != global::RecRoom.Protobuf.PersistedRoomVersion.V0New) {
        PersistedRoomVersion = other.PersistedRoomVersion;
      }
      if (other.ObjectModelData.Length != 0) {
        ObjectModelData = other.ObjectModelData;
      }
      if (other.SuperRoomVersion != global::RecRoom.Protobuf.SuperRoomVersion.V0NewSuperRoomVersion) {
        SuperRoomVersion = other.SuperRoomVersion;
      }
      if (other.inventionInstanceData_ != null) {
        if (inventionInstanceData_ == null) {
          InventionInstanceData = new global::RecRoom.Protobuf.InventionInstanceData();
        }
        InventionInstanceData.MergeFrom(other.InventionInstanceData);
      }
      if (other.securityData_ != null) {
        if (securityData_ == null) {
          SecurityData = new global::RecRoom.Protobuf.SecurityData();
        }
        SecurityData.MergeFrom(other.SecurityData);
      }
      inventoryItemDtos_.Add(other.inventoryItemDtos_);
      roomOfferDtos_.Add(other.roomOfferDtos_);
      rewardDatas_.Add(other.rewardDatas_);
      inventoryItemTagDtos_.Add(other.inventoryItemTagDtos_);
      _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: {
            DEPRECATEDRoomDataVersion = (global::RecRoom.Protobuf.DEPRECATED_RoomPersistenceVersion) input.ReadEnum();
            break;
          }
          case 18: {
            persistenceViews_.AddEntriesFrom(input, _repeated_persistenceViews_codec);
            break;
          }
          case 26: {
            OutputLog = input.ReadString();
            break;
          }
          case 34: {
            CircuitData = input.ReadBytes();
            break;
          }
          case 42: {
            if (connectableGraphData_ == null) {
              ConnectableGraphData = new global::RecRoom.Protobuf.ConnectableGraphData();
            }
            input.ReadMessage(ConnectableGraphData);
            break;
          }
          case 50: {
            if (extents_ == null) {
              Extents = new global::RecRoom.Protobuf.Core.Vector3Data();
            }
            input.ReadMessage(Extents);
            break;
          }
          case 58: {
            if (dEPRECATEDCircuitV2Data_ == null) {
              DEPRECATEDCircuitV2Data = new global::CircuitsV2.Protobuf.CircuitGraphData();
            }
            input.ReadMessage(DEPRECATEDCircuitV2Data);
            break;
          }
          case 66: {
            if (circuitV2Data_ == null) {
              CircuitV2Data = new global::CircuitsV2.Protobuf.CircuitTemplateRootData();
            }
            input.ReadMessage(CircuitV2Data);
            break;
          }
          case 74: {
            if (inventionAnchorData_ == null) {
              InventionAnchorData = new global::RecRoom.Protobuf.InventionAnchorData();
            }
            input.ReadMessage(InventionAnchorData);
            break;
          }
          case 80: {
            PersistedRoomVersion = (global::RecRoom.Protobuf.PersistedRoomVersion) input.ReadEnum();
            break;
          }
          case 90: {
            ObjectModelData = input.ReadBytes();
            break;
          }
          case 96: {
            SuperRoomVersion = (global::RecRoom.Protobuf.SuperRoomVersion) input.ReadEnum();
            break;
          }
          case 106: {
            if (inventionInstanceData_ == null) {
              InventionInstanceData = new global::RecRoom.Protobuf.InventionInstanceData();
            }
            input.ReadMessage(InventionInstanceData);
            break;
          }
          case 114: {
            if (securityData_ == null) {
              SecurityData = new global::RecRoom.Protobuf.SecurityData();
            }
            input.ReadMessage(SecurityData);
            break;
          }
          case 122: {
            inventoryItemDtos_.AddEntriesFrom(input, _repeated_inventoryItemDtos_codec);
            break;
          }
          case 130: {
            roomOfferDtos_.AddEntriesFrom(input, _repeated_roomOfferDtos_codec);
            break;
          }
          case 138: {
            rewardDatas_.AddEntriesFrom(input, _repeated_rewardDatas_codec);
            break;
          }
          case 146: {
            inventoryItemTagDtos_.AddEntriesFrom(input, _repeated_inventoryItemTagDtos_codec);
            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: {
            DEPRECATEDRoomDataVersion = (global::RecRoom.Protobuf.DEPRECATED_RoomPersistenceVersion) input.ReadEnum();
            break;
          }
          case 18: {
            persistenceViews_.AddEntriesFrom(ref input, _repeated_persistenceViews_codec);
            break;
          }
          case 26: {
            OutputLog = input.ReadString();
            break;
          }
          case 34: {
            CircuitData = input.ReadBytes();
            break;
          }
          case 42: {
            if (connectableGraphData_ == null) {
              ConnectableGraphData = new global::RecRoom.Protobuf.ConnectableGraphData();
            }
            input.ReadMessage(ConnectableGraphData);
            break;
          }
          case 50: {
            if (extents_ == null) {
              Extents = new global::RecRoom.Protobuf.Core.Vector3Data();
            }
            input.ReadMessage(Extents);
            break;
          }
          case 58: {
            if (dEPRECATEDCircuitV2Data_ == null) {
              DEPRECATEDCircuitV2Data = new global::CircuitsV2.Protobuf.CircuitGraphData();
            }
            input.ReadMessage(DEPRECATEDCircuitV2Data);
            break;
          }
          case 66: {
            if (circuitV2Data_ == null) {
              CircuitV2Data = new global::CircuitsV2.Protobuf.CircuitTemplateRootData();
            }
            input.ReadMessage(CircuitV2Data);
            break;
          }
          case 74: {
            if (inventionAnchorData_ == null) {
              InventionAnchorData = new global::RecRoom.Protobuf.InventionAnchorData();
            }
            input.ReadMessage(InventionAnchorData);
            break;
          }
          case 80: {
            PersistedRoomVersion = (global::RecRoom.Protobuf.PersistedRoomVersion) input.ReadEnum();
            break;
          }
          case 90: {
            ObjectModelData = input.ReadBytes();
            break;
          }
          case 96: {
            SuperRoomVersion = (global::RecRoom.Protobuf.SuperRoomVersion) input.ReadEnum();
            break;
          }
          case 106: {
            if (inventionInstanceData_ == null) {
              InventionInstanceData = new global::RecRoom.Protobuf.InventionInstanceData();
            }
            input.ReadMessage(InventionInstanceData);
            break;
          }
          case 114: {
            if (securityData_ == null) {
              SecurityData = new global::RecRoom.Protobuf.SecurityData();
            }
            input.ReadMessage(SecurityData);
            break;
          }
          case 122: {
            inventoryItemDtos_.AddEntriesFrom(ref input, _repeated_inventoryItemDtos_codec);
            break;
          }
          case 130: {
            roomOfferDtos_.AddEntriesFrom(ref input, _repeated_roomOfferDtos_codec);
            break;
          }
          case 138: {
            rewardDatas_.AddEntriesFrom(ref input, _repeated_rewardDatas_codec);
            break;
          }
          case 146: {
            inventoryItemTagDtos_.AddEntriesFrom(ref input, _repeated_inventoryItemTagDtos_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code
