using System.Collections.Generic;
using UnityEngine;

namespace Proxima
{
    using UnityProperty = ProximaComponentCommands.PropertyInfo;

    internal static class ProximaReflection_Generated
    {
        public static Dictionary<string, UnityProperty[]> Properties = new Dictionary<string, UnityProperty[]>
        {
        #if UNITY_ANIMATION
            { "UnityEngine.Animations.AimConstraint", new UnityProperty[] {
                new UnityProperty { Name = "constraintActive", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).constraintActive = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).constraintActive, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.AimConstraint)o).constraintActive; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "weight", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).weight = (System.Single)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).weight, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.AimConstraint)o).weight; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "aimVector", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).aimVector = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).aimVector, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.AimConstraint)o).aimVector; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "upVector", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).upVector = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).upVector, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.AimConstraint)o).upVector; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "worldUpType", PropertyType = typeof(UnityEngine.Animations.AimConstraint.WorldUpType), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).worldUpType = (UnityEngine.Animations.AimConstraint.WorldUpType)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).worldUpType, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Animations.AimConstraint)o).worldUpType; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "worldUpVector", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).worldUpVector = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).worldUpVector, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.AimConstraint)o).worldUpVector; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "worldUpObject", PropertyType = typeof(UnityEngine.Transform), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).worldUpObject = (UnityEngine.Transform)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).worldUpObject, },
                new UnityProperty { Name = "locked", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).locked = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).locked, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.AimConstraint)o).locked; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "rotationAtRest", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).rotationAtRest = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).rotationAtRest, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.AimConstraint)o).rotationAtRest; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "rotationOffset", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).rotationOffset = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).rotationOffset, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.AimConstraint)o).rotationOffset; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "rotationAxis", PropertyType = typeof(UnityEngine.Animations.Axis), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).rotationAxis = (UnityEngine.Animations.Axis)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).rotationAxis, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Animations.AimConstraint)o).rotationAxis; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.AimConstraint)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_ANIMATION
            { "UnityEngine.Animation", new UnityProperty[] {
                new UnityProperty { Name = "clip", PropertyType = typeof(UnityEngine.AnimationClip), Setter = (o, v) => ((Animation)o).clip = (UnityEngine.AnimationClip)v, Getter = (o) => ((Animation)o).clip, },
                new UnityProperty { Name = "playAutomatically", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Animation)o).playAutomatically = (System.Boolean)v, Getter = (o) => ((Animation)o).playAutomatically, Updater = (object o, ref object v) => { var x = ((Animation)o).playAutomatically; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "animatePhysics", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Animation)o).animatePhysics = (System.Boolean)v, Getter = (o) => ((Animation)o).animatePhysics, Updater = (object o, ref object v) => { var x = ((Animation)o).animatePhysics; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "cullingType", PropertyType = typeof(UnityEngine.AnimationCullingType), Setter = (o, v) => ((Animation)o).cullingType = (UnityEngine.AnimationCullingType)v, Getter = (o) => ((Animation)o).cullingType, Updater = (object o, ref object v) => { var x = (int)((Animation)o).cullingType; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Animation)o).enabled = (System.Boolean)v, Getter = (o) => ((Animation)o).enabled, Updater = (object o, ref object v) => { var x = ((Animation)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_ANIMATION
            { "UnityEngine.Animator", new UnityProperty[] {
                new UnityProperty { Name = "runtimeAnimatorController", PropertyType = typeof(UnityEngine.RuntimeAnimatorController), Setter = (o, v) => ((Animator)o).runtimeAnimatorController = (UnityEngine.RuntimeAnimatorController)v, Getter = (o) => ((Animator)o).runtimeAnimatorController, },
                new UnityProperty { Name = "avatar", PropertyType = typeof(UnityEngine.Avatar), Setter = (o, v) => ((Animator)o).avatar = (UnityEngine.Avatar)v, Getter = (o) => ((Animator)o).avatar, },
                new UnityProperty { Name = "applyRootMotion", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Animator)o).applyRootMotion = (System.Boolean)v, Getter = (o) => ((Animator)o).applyRootMotion, Updater = (object o, ref object v) => { var x = ((Animator)o).applyRootMotion; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "updateMode", PropertyType = typeof(UnityEngine.AnimatorUpdateMode), Setter = (o, v) => ((Animator)o).updateMode = (UnityEngine.AnimatorUpdateMode)v, Getter = (o) => ((Animator)o).updateMode, Updater = (object o, ref object v) => { var x = (int)((Animator)o).updateMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "cullingMode", PropertyType = typeof(UnityEngine.AnimatorCullingMode), Setter = (o, v) => ((Animator)o).cullingMode = (UnityEngine.AnimatorCullingMode)v, Getter = (o) => ((Animator)o).cullingMode, Updater = (object o, ref object v) => { var x = (int)((Animator)o).cullingMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Animator)o).enabled = (System.Boolean)v, Getter = (o) => ((Animator)o).enabled, Updater = (object o, ref object v) => { var x = ((Animator)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.AreaEffector2D", new UnityProperty[] {
                new UnityProperty { Name = "useColliderMask", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AreaEffector2D)o).useColliderMask = (System.Boolean)v, Getter = (o) => ((AreaEffector2D)o).useColliderMask, Updater = (object o, ref object v) => { var x = ((AreaEffector2D)o).useColliderMask; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "colliderMask", PropertyType = typeof(System.Int32), Setter = (o, v) => ((AreaEffector2D)o).colliderMask = (System.Int32)v, Getter = (o) => ((AreaEffector2D)o).colliderMask, Updater = (object o, ref object v) => { var x = ((AreaEffector2D)o).colliderMask; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useGlobalAngle", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AreaEffector2D)o).useGlobalAngle = (System.Boolean)v, Getter = (o) => ((AreaEffector2D)o).useGlobalAngle, Updater = (object o, ref object v) => { var x = ((AreaEffector2D)o).useGlobalAngle; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "forceAngle", PropertyType = typeof(System.Single), Setter = (o, v) => ((AreaEffector2D)o).forceAngle = (System.Single)v, Getter = (o) => ((AreaEffector2D)o).forceAngle, Updater = (object o, ref object v) => { var x = ((AreaEffector2D)o).forceAngle; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "forceMagnitude", PropertyType = typeof(System.Single), Setter = (o, v) => ((AreaEffector2D)o).forceMagnitude = (System.Single)v, Getter = (o) => ((AreaEffector2D)o).forceMagnitude, Updater = (object o, ref object v) => { var x = ((AreaEffector2D)o).forceMagnitude; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "forceVariation", PropertyType = typeof(System.Single), Setter = (o, v) => ((AreaEffector2D)o).forceVariation = (System.Single)v, Getter = (o) => ((AreaEffector2D)o).forceVariation, Updater = (object o, ref object v) => { var x = ((AreaEffector2D)o).forceVariation; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "forceTarget", PropertyType = typeof(UnityEngine.EffectorSelection2D), Setter = (o, v) => ((AreaEffector2D)o).forceTarget = (UnityEngine.EffectorSelection2D)v, Getter = (o) => ((AreaEffector2D)o).forceTarget, Updater = (object o, ref object v) => { var x = (int)((AreaEffector2D)o).forceTarget; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "drag", PropertyType = typeof(System.Single), Setter = (o, v) => ((AreaEffector2D)o).drag = (System.Single)v, Getter = (o) => ((AreaEffector2D)o).drag, Updater = (object o, ref object v) => { var x = ((AreaEffector2D)o).drag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "angularDrag", PropertyType = typeof(System.Single), Setter = (o, v) => ((AreaEffector2D)o).angularDrag = (System.Single)v, Getter = (o) => ((AreaEffector2D)o).angularDrag, Updater = (object o, ref object v) => { var x = ((AreaEffector2D)o).angularDrag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AreaEffector2D)o).enabled = (System.Boolean)v, Getter = (o) => ((AreaEffector2D)o).enabled, Updater = (object o, ref object v) => { var x = ((AreaEffector2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_2020_3_OR_NEWER&&UNITY_PHYSICS
            { "UnityEngine.ArticulationBody", new UnityProperty[] {
                new UnityProperty { Name = "mass", PropertyType = typeof(System.Single), Setter = (o, v) => ((ArticulationBody)o).mass = (System.Single)v, Getter = (o) => ((ArticulationBody)o).mass, Updater = (object o, ref object v) => { var x = ((ArticulationBody)o).mass; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useGravity", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ArticulationBody)o).useGravity = (System.Boolean)v, Getter = (o) => ((ArticulationBody)o).useGravity, Updater = (object o, ref object v) => { var x = ((ArticulationBody)o).useGravity; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "immovable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ArticulationBody)o).immovable = (System.Boolean)v, Getter = (o) => ((ArticulationBody)o).immovable, Updater = (object o, ref object v) => { var x = ((ArticulationBody)o).immovable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "linearDamping", PropertyType = typeof(System.Single), Setter = (o, v) => ((ArticulationBody)o).linearDamping = (System.Single)v, Getter = (o) => ((ArticulationBody)o).linearDamping, Updater = (object o, ref object v) => { var x = ((ArticulationBody)o).linearDamping; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "angularDamping", PropertyType = typeof(System.Single), Setter = (o, v) => ((ArticulationBody)o).angularDamping = (System.Single)v, Getter = (o) => ((ArticulationBody)o).angularDamping, Updater = (object o, ref object v) => { var x = ((ArticulationBody)o).angularDamping; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "collisionDetectionMode", PropertyType = typeof(UnityEngine.CollisionDetectionMode), Setter = (o, v) => ((ArticulationBody)o).collisionDetectionMode = (UnityEngine.CollisionDetectionMode)v, Getter = (o) => ((ArticulationBody)o).collisionDetectionMode, Updater = (object o, ref object v) => { var x = (int)((ArticulationBody)o).collisionDetectionMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ArticulationBody)o).enabled = (System.Boolean)v, Getter = (o) => ((ArticulationBody)o).enabled, Updater = (object o, ref object v) => { var x = ((ArticulationBody)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_AUDIO
            { "UnityEngine.AudioChorusFilter", new UnityProperty[] {
                new UnityProperty { Name = "dryMix", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioChorusFilter)o).dryMix = (System.Single)v, Getter = (o) => ((AudioChorusFilter)o).dryMix, Updater = (object o, ref object v) => { var x = ((AudioChorusFilter)o).dryMix; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "wetMix1", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioChorusFilter)o).wetMix1 = (System.Single)v, Getter = (o) => ((AudioChorusFilter)o).wetMix1, Updater = (object o, ref object v) => { var x = ((AudioChorusFilter)o).wetMix1; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "wetMix2", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioChorusFilter)o).wetMix2 = (System.Single)v, Getter = (o) => ((AudioChorusFilter)o).wetMix2, Updater = (object o, ref object v) => { var x = ((AudioChorusFilter)o).wetMix2; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "wetMix3", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioChorusFilter)o).wetMix3 = (System.Single)v, Getter = (o) => ((AudioChorusFilter)o).wetMix3, Updater = (object o, ref object v) => { var x = ((AudioChorusFilter)o).wetMix3; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "delay", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioChorusFilter)o).delay = (System.Single)v, Getter = (o) => ((AudioChorusFilter)o).delay, Updater = (object o, ref object v) => { var x = ((AudioChorusFilter)o).delay; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "rate", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioChorusFilter)o).rate = (System.Single)v, Getter = (o) => ((AudioChorusFilter)o).rate, Updater = (object o, ref object v) => { var x = ((AudioChorusFilter)o).rate; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "depth", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioChorusFilter)o).depth = (System.Single)v, Getter = (o) => ((AudioChorusFilter)o).depth, Updater = (object o, ref object v) => { var x = ((AudioChorusFilter)o).depth; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioChorusFilter)o).enabled = (System.Boolean)v, Getter = (o) => ((AudioChorusFilter)o).enabled, Updater = (object o, ref object v) => { var x = ((AudioChorusFilter)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_AUDIO
            { "UnityEngine.AudioDistortionFilter", new UnityProperty[] {
                new UnityProperty { Name = "distortionLevel", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioDistortionFilter)o).distortionLevel = (System.Single)v, Getter = (o) => ((AudioDistortionFilter)o).distortionLevel, Updater = (object o, ref object v) => { var x = ((AudioDistortionFilter)o).distortionLevel; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioDistortionFilter)o).enabled = (System.Boolean)v, Getter = (o) => ((AudioDistortionFilter)o).enabled, Updater = (object o, ref object v) => { var x = ((AudioDistortionFilter)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_AUDIO
            { "UnityEngine.AudioEchoFilter", new UnityProperty[] {
                new UnityProperty { Name = "delay", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioEchoFilter)o).delay = (System.Single)v, Getter = (o) => ((AudioEchoFilter)o).delay, Updater = (object o, ref object v) => { var x = ((AudioEchoFilter)o).delay; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "decayRatio", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioEchoFilter)o).decayRatio = (System.Single)v, Getter = (o) => ((AudioEchoFilter)o).decayRatio, Updater = (object o, ref object v) => { var x = ((AudioEchoFilter)o).decayRatio; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "dryMix", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioEchoFilter)o).dryMix = (System.Single)v, Getter = (o) => ((AudioEchoFilter)o).dryMix, Updater = (object o, ref object v) => { var x = ((AudioEchoFilter)o).dryMix; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "wetMix", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioEchoFilter)o).wetMix = (System.Single)v, Getter = (o) => ((AudioEchoFilter)o).wetMix, Updater = (object o, ref object v) => { var x = ((AudioEchoFilter)o).wetMix; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioEchoFilter)o).enabled = (System.Boolean)v, Getter = (o) => ((AudioEchoFilter)o).enabled, Updater = (object o, ref object v) => { var x = ((AudioEchoFilter)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_AUDIO
            { "UnityEngine.AudioHighPassFilter", new UnityProperty[] {
                new UnityProperty { Name = "cutoffFrequency", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioHighPassFilter)o).cutoffFrequency = (System.Single)v, Getter = (o) => ((AudioHighPassFilter)o).cutoffFrequency, Updater = (object o, ref object v) => { var x = ((AudioHighPassFilter)o).cutoffFrequency; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "highpassResonanceQ", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioHighPassFilter)o).highpassResonanceQ = (System.Single)v, Getter = (o) => ((AudioHighPassFilter)o).highpassResonanceQ, Updater = (object o, ref object v) => { var x = ((AudioHighPassFilter)o).highpassResonanceQ; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioHighPassFilter)o).enabled = (System.Boolean)v, Getter = (o) => ((AudioHighPassFilter)o).enabled, Updater = (object o, ref object v) => { var x = ((AudioHighPassFilter)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_AUDIO
            { "UnityEngine.AudioLowPassFilter", new UnityProperty[] {
                new UnityProperty { Name = "cutoffFrequency", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioLowPassFilter)o).cutoffFrequency = (System.Single)v, Getter = (o) => ((AudioLowPassFilter)o).cutoffFrequency, Updater = (object o, ref object v) => { var x = ((AudioLowPassFilter)o).cutoffFrequency; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "lowpassResonanceQ", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioLowPassFilter)o).lowpassResonanceQ = (System.Single)v, Getter = (o) => ((AudioLowPassFilter)o).lowpassResonanceQ, Updater = (object o, ref object v) => { var x = ((AudioLowPassFilter)o).lowpassResonanceQ; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioLowPassFilter)o).enabled = (System.Boolean)v, Getter = (o) => ((AudioLowPassFilter)o).enabled, Updater = (object o, ref object v) => { var x = ((AudioLowPassFilter)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_AUDIO
            { "UnityEngine.AudioReverbFilter", new UnityProperty[] {
                new UnityProperty { Name = "reverbPreset", PropertyType = typeof(UnityEngine.AudioReverbPreset), Setter = (o, v) => ((AudioReverbFilter)o).reverbPreset = (UnityEngine.AudioReverbPreset)v, Getter = (o) => ((AudioReverbFilter)o).reverbPreset, Updater = (object o, ref object v) => { var x = (int)((AudioReverbFilter)o).reverbPreset; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "dryLevel", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).dryLevel = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).dryLevel, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).dryLevel; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "room", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).room = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).room, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).room; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "roomHF", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).roomHF = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).roomHF, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).roomHF; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "roomLF", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).roomLF = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).roomLF, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).roomLF; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "decayTime", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).decayTime = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).decayTime, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).decayTime; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "decayHFRatio", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).decayHFRatio = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).decayHFRatio, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).decayHFRatio; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "reflectionsLevel", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).reflectionsLevel = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).reflectionsLevel, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).reflectionsLevel; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "reflectionsDelay", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).reflectionsDelay = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).reflectionsDelay, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).reflectionsDelay; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "reverbLevel", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).reverbLevel = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).reverbLevel, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).reverbLevel; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "reverbDelay", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).reverbDelay = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).reverbDelay, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).reverbDelay; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "hfReference", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).hfReference = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).hfReference, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).hfReference; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "lfReference", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).lfReference = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).lfReference, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).lfReference; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "diffusion", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).diffusion = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).diffusion, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).diffusion; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "density", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).density = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).density, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).density; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioReverbFilter)o).enabled = (System.Boolean)v, Getter = (o) => ((AudioReverbFilter)o).enabled, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_AUDIO
            { "UnityEngine.AudioReverbZone", new UnityProperty[] {
                new UnityProperty { Name = "minDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).minDistance = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).minDistance, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).minDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "maxDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).maxDistance = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).maxDistance, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).maxDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "reverbPreset", PropertyType = typeof(UnityEngine.AudioReverbPreset), Setter = (o, v) => ((AudioReverbZone)o).reverbPreset = (UnityEngine.AudioReverbPreset)v, Getter = (o) => ((AudioReverbZone)o).reverbPreset, Updater = (object o, ref object v) => { var x = (int)((AudioReverbZone)o).reverbPreset; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "room", PropertyType = typeof(System.Int32), Setter = (o, v) => ((AudioReverbZone)o).room = (System.Int32)v, Getter = (o) => ((AudioReverbZone)o).room, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).room; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "roomHF", PropertyType = typeof(System.Int32), Setter = (o, v) => ((AudioReverbZone)o).roomHF = (System.Int32)v, Getter = (o) => ((AudioReverbZone)o).roomHF, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).roomHF; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "roomLF", PropertyType = typeof(System.Int32), Setter = (o, v) => ((AudioReverbZone)o).roomLF = (System.Int32)v, Getter = (o) => ((AudioReverbZone)o).roomLF, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).roomLF; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "decayTime", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).decayTime = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).decayTime, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).decayTime; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "decayHFRatio", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).decayHFRatio = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).decayHFRatio, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).decayHFRatio; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "reflections", PropertyType = typeof(System.Int32), Setter = (o, v) => ((AudioReverbZone)o).reflections = (System.Int32)v, Getter = (o) => ((AudioReverbZone)o).reflections, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).reflections; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "reflectionsDelay", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).reflectionsDelay = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).reflectionsDelay, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).reflectionsDelay; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "reverb", PropertyType = typeof(System.Int32), Setter = (o, v) => ((AudioReverbZone)o).reverb = (System.Int32)v, Getter = (o) => ((AudioReverbZone)o).reverb, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).reverb; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "reverbDelay", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).reverbDelay = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).reverbDelay, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).reverbDelay; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "HFReference", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).HFReference = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).HFReference, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).HFReference; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "LFReference", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).LFReference = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).LFReference, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).LFReference; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "diffusion", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).diffusion = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).diffusion, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).diffusion; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "density", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).density = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).density, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).density; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioReverbZone)o).enabled = (System.Boolean)v, Getter = (o) => ((AudioReverbZone)o).enabled, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_AUDIO
            { "UnityEngine.AudioSource", new UnityProperty[] {
                new UnityProperty { Name = "clip", PropertyType = typeof(UnityEngine.AudioClip), Setter = (o, v) => ((AudioSource)o).clip = (UnityEngine.AudioClip)v, Getter = (o) => ((AudioSource)o).clip, },
                new UnityProperty { Name = "outputAudioMixerGroup", PropertyType = typeof(UnityEngine.Audio.AudioMixerGroup), Setter = (o, v) => ((AudioSource)o).outputAudioMixerGroup = (UnityEngine.Audio.AudioMixerGroup)v, Getter = (o) => ((AudioSource)o).outputAudioMixerGroup, },
                new UnityProperty { Name = "mute", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioSource)o).mute = (System.Boolean)v, Getter = (o) => ((AudioSource)o).mute, Updater = (object o, ref object v) => { var x = ((AudioSource)o).mute; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "bypassEffects", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioSource)o).bypassEffects = (System.Boolean)v, Getter = (o) => ((AudioSource)o).bypassEffects, Updater = (object o, ref object v) => { var x = ((AudioSource)o).bypassEffects; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "bypassListenerEffects", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioSource)o).bypassListenerEffects = (System.Boolean)v, Getter = (o) => ((AudioSource)o).bypassListenerEffects, Updater = (object o, ref object v) => { var x = ((AudioSource)o).bypassListenerEffects; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "bypassReverbZones", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioSource)o).bypassReverbZones = (System.Boolean)v, Getter = (o) => ((AudioSource)o).bypassReverbZones, Updater = (object o, ref object v) => { var x = ((AudioSource)o).bypassReverbZones; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "playOnAwake", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioSource)o).playOnAwake = (System.Boolean)v, Getter = (o) => ((AudioSource)o).playOnAwake, Updater = (object o, ref object v) => { var x = ((AudioSource)o).playOnAwake; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "loop", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioSource)o).loop = (System.Boolean)v, Getter = (o) => ((AudioSource)o).loop, Updater = (object o, ref object v) => { var x = ((AudioSource)o).loop; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "priority", PropertyType = typeof(System.Int32), Setter = (o, v) => ((AudioSource)o).priority = (System.Int32)v, Getter = (o) => ((AudioSource)o).priority, Updater = (object o, ref object v) => { var x = ((AudioSource)o).priority; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "volume", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioSource)o).volume = (System.Single)v, Getter = (o) => ((AudioSource)o).volume, Updater = (object o, ref object v) => { var x = ((AudioSource)o).volume; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "pitch", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioSource)o).pitch = (System.Single)v, Getter = (o) => ((AudioSource)o).pitch, Updater = (object o, ref object v) => { var x = ((AudioSource)o).pitch; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "panStereo", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioSource)o).panStereo = (System.Single)v, Getter = (o) => ((AudioSource)o).panStereo, Updater = (object o, ref object v) => { var x = ((AudioSource)o).panStereo; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "spatialBlend", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioSource)o).spatialBlend = (System.Single)v, Getter = (o) => ((AudioSource)o).spatialBlend, Updater = (object o, ref object v) => { var x = ((AudioSource)o).spatialBlend; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "reverbZoneMix", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioSource)o).reverbZoneMix = (System.Single)v, Getter = (o) => ((AudioSource)o).reverbZoneMix, Updater = (object o, ref object v) => { var x = ((AudioSource)o).reverbZoneMix; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "dopplerLevel", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioSource)o).dopplerLevel = (System.Single)v, Getter = (o) => ((AudioSource)o).dopplerLevel, Updater = (object o, ref object v) => { var x = ((AudioSource)o).dopplerLevel; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "spread", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioSource)o).spread = (System.Single)v, Getter = (o) => ((AudioSource)o).spread, Updater = (object o, ref object v) => { var x = ((AudioSource)o).spread; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "rolloffMode", PropertyType = typeof(UnityEngine.AudioRolloffMode), Setter = (o, v) => ((AudioSource)o).rolloffMode = (UnityEngine.AudioRolloffMode)v, Getter = (o) => ((AudioSource)o).rolloffMode, Updater = (object o, ref object v) => { var x = (int)((AudioSource)o).rolloffMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "minDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioSource)o).minDistance = (System.Single)v, Getter = (o) => ((AudioSource)o).minDistance, Updater = (object o, ref object v) => { var x = ((AudioSource)o).minDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "maxDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioSource)o).maxDistance = (System.Single)v, Getter = (o) => ((AudioSource)o).maxDistance, Updater = (object o, ref object v) => { var x = ((AudioSource)o).maxDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioSource)o).enabled = (System.Boolean)v, Getter = (o) => ((AudioSource)o).enabled, Updater = (object o, ref object v) => { var x = ((AudioSource)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS
            { "UnityEngine.BoxCollider", new UnityProperty[] {
                new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BoxCollider)o).isTrigger = (System.Boolean)v, Getter = (o) => ((BoxCollider)o).isTrigger, Updater = (object o, ref object v) => { var x = ((BoxCollider)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #if !UNITY_6000_0_OR_NEWER
                new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicMaterial), Setter = (o, v) => ((BoxCollider)o).sharedMaterial = (PhysicMaterial)v, Getter = (o) => ((BoxCollider)o).sharedMaterial, },
            #endif
            #if UNITY_6000_0_OR_NEWER
                new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicsMaterial), Setter = (o, v) => ((BoxCollider)o).sharedMaterial = (PhysicsMaterial)v, Getter = (o) => ((BoxCollider)o).sharedMaterial, },
            #endif
                new UnityProperty { Name = "center", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((BoxCollider)o).center = (UnityEngine.Vector3)v, Getter = (o) => ((BoxCollider)o).center, Updater = (object o, ref object v) => { var x = ((BoxCollider)o).center; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "size", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((BoxCollider)o).size = (UnityEngine.Vector3)v, Getter = (o) => ((BoxCollider)o).size, Updater = (object o, ref object v) => { var x = ((BoxCollider)o).size; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BoxCollider)o).enabled = (System.Boolean)v, Getter = (o) => ((BoxCollider)o).enabled, Updater = (object o, ref object v) => { var x = ((BoxCollider)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.BoxCollider2D", new UnityProperty[] {
                new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(UnityEngine.PhysicsMaterial2D), Setter = (o, v) => ((BoxCollider2D)o).sharedMaterial = (UnityEngine.PhysicsMaterial2D)v, Getter = (o) => ((BoxCollider2D)o).sharedMaterial, },
                new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BoxCollider2D)o).isTrigger = (System.Boolean)v, Getter = (o) => ((BoxCollider2D)o).isTrigger, Updater = (object o, ref object v) => { var x = ((BoxCollider2D)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "usedByEffector", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BoxCollider2D)o).usedByEffector = (System.Boolean)v, Getter = (o) => ((BoxCollider2D)o).usedByEffector, Updater = (object o, ref object v) => { var x = ((BoxCollider2D)o).usedByEffector; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #if !UNITY_2023_1_OR_NEWER
                new UnityProperty { Name = "usedByComposite", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BoxCollider2D)o).usedByComposite = (System.Boolean)v, Getter = (o) => ((BoxCollider2D)o).usedByComposite, Updater = (object o, ref object v) => { var x = ((BoxCollider2D)o).usedByComposite; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #endif
            #if UNITY_2023_1_OR_NEWER
                new UnityProperty { Name = "compositeOperation", PropertyType = typeof(UnityEngine.Collider2D.CompositeOperation), Setter = (o, v) => ((BoxCollider2D)o).compositeOperation = (UnityEngine.Collider2D.CompositeOperation)v, Getter = (o) => ((BoxCollider2D)o).compositeOperation, Updater = (object o, ref object v) => { var x = (int)((BoxCollider2D)o).compositeOperation; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "offset", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((BoxCollider2D)o).offset = (UnityEngine.Vector2)v, Getter = (o) => ((BoxCollider2D)o).offset, Updater = (object o, ref object v) => { var x = ((BoxCollider2D)o).offset; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "autoTiling", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BoxCollider2D)o).autoTiling = (System.Boolean)v, Getter = (o) => ((BoxCollider2D)o).autoTiling, Updater = (object o, ref object v) => { var x = ((BoxCollider2D)o).autoTiling; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "size", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((BoxCollider2D)o).size = (UnityEngine.Vector2)v, Getter = (o) => ((BoxCollider2D)o).size, Updater = (object o, ref object v) => { var x = ((BoxCollider2D)o).size; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "edgeRadius", PropertyType = typeof(System.Single), Setter = (o, v) => ((BoxCollider2D)o).edgeRadius = (System.Single)v, Getter = (o) => ((BoxCollider2D)o).edgeRadius, Updater = (object o, ref object v) => { var x = ((BoxCollider2D)o).edgeRadius; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BoxCollider2D)o).enabled = (System.Boolean)v, Getter = (o) => ((BoxCollider2D)o).enabled, Updater = (object o, ref object v) => { var x = ((BoxCollider2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


            { "UnityEngine.BillboardRenderer", new UnityProperty[] {
                new UnityProperty { Name = "billboard", PropertyType = typeof(UnityEngine.BillboardAsset), Setter = (o, v) => ((BillboardRenderer)o).billboard = (UnityEngine.BillboardAsset)v, Getter = (o) => ((BillboardRenderer)o).billboard, },
                new UnityProperty { Name = "shadowCastingMode", PropertyType = typeof(UnityEngine.Rendering.ShadowCastingMode), Setter = (o, v) => ((BillboardRenderer)o).shadowCastingMode = (UnityEngine.Rendering.ShadowCastingMode)v, Getter = (o) => ((BillboardRenderer)o).shadowCastingMode, Updater = (object o, ref object v) => { var x = (int)((BillboardRenderer)o).shadowCastingMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "receiveShadows", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BillboardRenderer)o).receiveShadows = (System.Boolean)v, Getter = (o) => ((BillboardRenderer)o).receiveShadows, Updater = (object o, ref object v) => { var x = ((BillboardRenderer)o).receiveShadows; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "lightProbeUsage", PropertyType = typeof(UnityEngine.Rendering.LightProbeUsage), Setter = (o, v) => ((BillboardRenderer)o).lightProbeUsage = (UnityEngine.Rendering.LightProbeUsage)v, Getter = (o) => ((BillboardRenderer)o).lightProbeUsage, Updater = (object o, ref object v) => { var x = (int)((BillboardRenderer)o).lightProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "reflectionProbeUsage", PropertyType = typeof(UnityEngine.Rendering.ReflectionProbeUsage), Setter = (o, v) => ((BillboardRenderer)o).reflectionProbeUsage = (UnityEngine.Rendering.ReflectionProbeUsage)v, Getter = (o) => ((BillboardRenderer)o).reflectionProbeUsage, Updater = (object o, ref object v) => { var x = (int)((BillboardRenderer)o).reflectionProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "motionVectorGenerationMode", PropertyType = typeof(UnityEngine.MotionVectorGenerationMode), Setter = (o, v) => ((BillboardRenderer)o).motionVectorGenerationMode = (UnityEngine.MotionVectorGenerationMode)v, Getter = (o) => ((BillboardRenderer)o).motionVectorGenerationMode, Updater = (object o, ref object v) => { var x = (int)((BillboardRenderer)o).motionVectorGenerationMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "allowOcclusionWhenDynamic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BillboardRenderer)o).allowOcclusionWhenDynamic = (System.Boolean)v, Getter = (o) => ((BillboardRenderer)o).allowOcclusionWhenDynamic, Updater = (object o, ref object v) => { var x = ((BillboardRenderer)o).allowOcclusionWhenDynamic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BillboardRenderer)o).enabled = (System.Boolean)v, Getter = (o) => ((BillboardRenderer)o).enabled, Updater = (object o, ref object v) => { var x = ((BillboardRenderer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},


        #if UNITY_PHYSICS_2D
            { "UnityEngine.BuoyancyEffector2D", new UnityProperty[] {
                new UnityProperty { Name = "useColliderMask", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BuoyancyEffector2D)o).useColliderMask = (System.Boolean)v, Getter = (o) => ((BuoyancyEffector2D)o).useColliderMask, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).useColliderMask; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "colliderMask", PropertyType = typeof(System.Int32), Setter = (o, v) => ((BuoyancyEffector2D)o).colliderMask = (System.Int32)v, Getter = (o) => ((BuoyancyEffector2D)o).colliderMask, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).colliderMask; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "density", PropertyType = typeof(System.Single), Setter = (o, v) => ((BuoyancyEffector2D)o).density = (System.Single)v, Getter = (o) => ((BuoyancyEffector2D)o).density, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).density; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "surfaceLevel", PropertyType = typeof(System.Single), Setter = (o, v) => ((BuoyancyEffector2D)o).surfaceLevel = (System.Single)v, Getter = (o) => ((BuoyancyEffector2D)o).surfaceLevel, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).surfaceLevel; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "linearDrag", PropertyType = typeof(System.Single), Setter = (o, v) => ((BuoyancyEffector2D)o).linearDrag = (System.Single)v, Getter = (o) => ((BuoyancyEffector2D)o).linearDrag, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).linearDrag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "angularDrag", PropertyType = typeof(System.Single), Setter = (o, v) => ((BuoyancyEffector2D)o).angularDrag = (System.Single)v, Getter = (o) => ((BuoyancyEffector2D)o).angularDrag, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).angularDrag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "flowAngle", PropertyType = typeof(System.Single), Setter = (o, v) => ((BuoyancyEffector2D)o).flowAngle = (System.Single)v, Getter = (o) => ((BuoyancyEffector2D)o).flowAngle, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).flowAngle; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "flowMagnitude", PropertyType = typeof(System.Single), Setter = (o, v) => ((BuoyancyEffector2D)o).flowMagnitude = (System.Single)v, Getter = (o) => ((BuoyancyEffector2D)o).flowMagnitude, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).flowMagnitude; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "flowVariation", PropertyType = typeof(System.Single), Setter = (o, v) => ((BuoyancyEffector2D)o).flowVariation = (System.Single)v, Getter = (o) => ((BuoyancyEffector2D)o).flowVariation, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).flowVariation; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BuoyancyEffector2D)o).enabled = (System.Boolean)v, Getter = (o) => ((BuoyancyEffector2D)o).enabled, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.Button", new UnityProperty[] {
                new UnityProperty { Name = "interactable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Button)o).interactable = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Button)o).interactable, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Button)o).interactable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "transition", PropertyType = typeof(UnityEngine.UI.Selectable.Transition), Setter = (o, v) => ((UnityEngine.UI.Button)o).transition = (UnityEngine.UI.Selectable.Transition)v, Getter = (o) => ((UnityEngine.UI.Button)o).transition, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Button)o).transition; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "targetGraphic", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((UnityEngine.UI.Button)o).targetGraphic = (UnityEngine.UI.Graphic)v, Getter = (o) => ((UnityEngine.UI.Button)o).targetGraphic, },
                new UnityProperty { Name = "colors", PropertyType = typeof(UnityEngine.UI.ColorBlock), Setter = (o, v) => ((UnityEngine.UI.Button)o).colors = (UnityEngine.UI.ColorBlock)v, Getter = (o) => ((UnityEngine.UI.Button)o).colors, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Button)o).colors; if (!x.Equals((UnityEngine.UI.ColorBlock)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "navigation", PropertyType = typeof(UnityEngine.UI.Navigation), Setter = (o, v) => ((UnityEngine.UI.Button)o).navigation = (UnityEngine.UI.Navigation)v, Getter = (o) => ((UnityEngine.UI.Button)o).navigation, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Button)o).navigation; if (!x.Equals((UnityEngine.UI.Navigation)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Button)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Button)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Button)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


            { "UnityEngine.Camera", new UnityProperty[] {
                new UnityProperty { Name = "clearFlags", PropertyType = typeof(UnityEngine.CameraClearFlags), Setter = (o, v) => ((Camera)o).clearFlags = (UnityEngine.CameraClearFlags)v, Getter = (o) => ((Camera)o).clearFlags, Updater = (object o, ref object v) => { var x = (int)((Camera)o).clearFlags; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "backgroundColor", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((Camera)o).backgroundColor = (UnityEngine.Color)v, Getter = (o) => ((Camera)o).backgroundColor, Updater = (object o, ref object v) => { var x = ((Camera)o).backgroundColor; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "cullingMask", PropertyType = typeof(System.Int32), Setter = (o, v) => ((Camera)o).cullingMask = (System.Int32)v, Getter = (o) => ((Camera)o).cullingMask, Updater = (object o, ref object v) => { var x = ((Camera)o).cullingMask; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "orthographic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Camera)o).orthographic = (System.Boolean)v, Getter = (o) => ((Camera)o).orthographic, Updater = (object o, ref object v) => { var x = ((Camera)o).orthographic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "fieldOfView", PropertyType = typeof(System.Single), Setter = (o, v) => ((Camera)o).fieldOfView = (System.Single)v, Getter = (o) => ((Camera)o).fieldOfView, Updater = (object o, ref object v) => { var x = ((Camera)o).fieldOfView; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "usePhysicalProperties", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Camera)o).usePhysicalProperties = (System.Boolean)v, Getter = (o) => ((Camera)o).usePhysicalProperties, Updater = (object o, ref object v) => { var x = ((Camera)o).usePhysicalProperties; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "nearClipPlane", PropertyType = typeof(System.Single), Setter = (o, v) => ((Camera)o).nearClipPlane = (System.Single)v, Getter = (o) => ((Camera)o).nearClipPlane, Updater = (object o, ref object v) => { var x = ((Camera)o).nearClipPlane; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "farClipPlane", PropertyType = typeof(System.Single), Setter = (o, v) => ((Camera)o).farClipPlane = (System.Single)v, Getter = (o) => ((Camera)o).farClipPlane, Updater = (object o, ref object v) => { var x = ((Camera)o).farClipPlane; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "rect", PropertyType = typeof(UnityEngine.Rect), Setter = (o, v) => ((Camera)o).rect = (UnityEngine.Rect)v, Getter = (o) => ((Camera)o).rect, Updater = (object o, ref object v) => { var x = ((Camera)o).rect; if (!x.Equals((UnityEngine.Rect)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "depth", PropertyType = typeof(System.Single), Setter = (o, v) => ((Camera)o).depth = (System.Single)v, Getter = (o) => ((Camera)o).depth, Updater = (object o, ref object v) => { var x = ((Camera)o).depth; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "renderingPath", PropertyType = typeof(UnityEngine.RenderingPath), Setter = (o, v) => ((Camera)o).renderingPath = (UnityEngine.RenderingPath)v, Getter = (o) => ((Camera)o).renderingPath, Updater = (object o, ref object v) => { var x = (int)((Camera)o).renderingPath; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "targetTexture", PropertyType = typeof(UnityEngine.RenderTexture), Setter = (o, v) => ((Camera)o).targetTexture = (UnityEngine.RenderTexture)v, Getter = (o) => ((Camera)o).targetTexture, },
                new UnityProperty { Name = "useOcclusionCulling", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Camera)o).useOcclusionCulling = (System.Boolean)v, Getter = (o) => ((Camera)o).useOcclusionCulling, Updater = (object o, ref object v) => { var x = ((Camera)o).useOcclusionCulling; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "allowHDR", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Camera)o).allowHDR = (System.Boolean)v, Getter = (o) => ((Camera)o).allowHDR, Updater = (object o, ref object v) => { var x = ((Camera)o).allowHDR; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "allowMSAA", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Camera)o).allowMSAA = (System.Boolean)v, Getter = (o) => ((Camera)o).allowMSAA, Updater = (object o, ref object v) => { var x = ((Camera)o).allowMSAA; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "allowDynamicResolution", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Camera)o).allowDynamicResolution = (System.Boolean)v, Getter = (o) => ((Camera)o).allowDynamicResolution, Updater = (object o, ref object v) => { var x = ((Camera)o).allowDynamicResolution; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "targetDisplay", PropertyType = typeof(System.Int32), Setter = (o, v) => ((Camera)o).targetDisplay = (System.Int32)v, Getter = (o) => ((Camera)o).targetDisplay, Updater = (object o, ref object v) => { var x = ((Camera)o).targetDisplay; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Camera)o).enabled = (System.Boolean)v, Getter = (o) => ((Camera)o).enabled, Updater = (object o, ref object v) => { var x = ((Camera)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},


        #if UNITY_UI
            { "UnityEngine.Canvas", new UnityProperty[] {
                new UnityProperty { Name = "renderMode", PropertyType = typeof(UnityEngine.RenderMode), Setter = (o, v) => ((Canvas)o).renderMode = (UnityEngine.RenderMode)v, Getter = (o) => ((Canvas)o).renderMode, Updater = (object o, ref object v) => { var x = (int)((Canvas)o).renderMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "worldCamera", PropertyType = typeof(UnityEngine.Camera), Setter = (o, v) => ((Canvas)o).worldCamera = (UnityEngine.Camera)v, Getter = (o) => ((Canvas)o).worldCamera, },
                new UnityProperty { Name = "pixelPerfect", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Canvas)o).pixelPerfect = (System.Boolean)v, Getter = (o) => ((Canvas)o).pixelPerfect, Updater = (object o, ref object v) => { var x = ((Canvas)o).pixelPerfect; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sortingOrder", PropertyType = typeof(System.Int32), Setter = (o, v) => ((Canvas)o).sortingOrder = (System.Int32)v, Getter = (o) => ((Canvas)o).sortingOrder, Updater = (object o, ref object v) => { var x = ((Canvas)o).sortingOrder; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "targetDisplay", PropertyType = typeof(System.Int32), Setter = (o, v) => ((Canvas)o).targetDisplay = (System.Int32)v, Getter = (o) => ((Canvas)o).targetDisplay, Updater = (object o, ref object v) => { var x = ((Canvas)o).targetDisplay; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "additionalShaderChannels", PropertyType = typeof(UnityEngine.AdditionalCanvasShaderChannels), Setter = (o, v) => ((Canvas)o).additionalShaderChannels = (UnityEngine.AdditionalCanvasShaderChannels)v, Getter = (o) => ((Canvas)o).additionalShaderChannels, Updater = (object o, ref object v) => { var x = (int)((Canvas)o).additionalShaderChannels; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Canvas)o).enabled = (System.Boolean)v, Getter = (o) => ((Canvas)o).enabled, Updater = (object o, ref object v) => { var x = ((Canvas)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_UI
            { "UnityEngine.CanvasGroup", new UnityProperty[] {
                new UnityProperty { Name = "alpha", PropertyType = typeof(System.Single), Setter = (o, v) => ((CanvasGroup)o).alpha = (System.Single)v, Getter = (o) => ((CanvasGroup)o).alpha, Updater = (object o, ref object v) => { var x = ((CanvasGroup)o).alpha; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "interactable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CanvasGroup)o).interactable = (System.Boolean)v, Getter = (o) => ((CanvasGroup)o).interactable, Updater = (object o, ref object v) => { var x = ((CanvasGroup)o).interactable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "blocksRaycasts", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CanvasGroup)o).blocksRaycasts = (System.Boolean)v, Getter = (o) => ((CanvasGroup)o).blocksRaycasts, Updater = (object o, ref object v) => { var x = ((CanvasGroup)o).blocksRaycasts; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "ignoreParentGroups", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CanvasGroup)o).ignoreParentGroups = (System.Boolean)v, Getter = (o) => ((CanvasGroup)o).ignoreParentGroups, Updater = (object o, ref object v) => { var x = ((CanvasGroup)o).ignoreParentGroups; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CanvasGroup)o).enabled = (System.Boolean)v, Getter = (o) => ((CanvasGroup)o).enabled, Updater = (object o, ref object v) => { var x = ((CanvasGroup)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_UI
            { "UnityEngine.CanvasRenderer", new UnityProperty[] {
                new UnityProperty { Name = "cullTransparentMesh", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CanvasRenderer)o).cullTransparentMesh = (System.Boolean)v, Getter = (o) => ((CanvasRenderer)o).cullTransparentMesh, Updater = (object o, ref object v) => { var x = ((CanvasRenderer)o).cullTransparentMesh; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.CanvasScaler", new UnityProperty[] {
                new UnityProperty { Name = "uiScaleMode", PropertyType = typeof(UnityEngine.UI.CanvasScaler.ScaleMode), Setter = (o, v) => ((UnityEngine.UI.CanvasScaler)o).uiScaleMode = (UnityEngine.UI.CanvasScaler.ScaleMode)v, Getter = (o) => ((UnityEngine.UI.CanvasScaler)o).uiScaleMode, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.CanvasScaler)o).uiScaleMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "scaleFactor", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.CanvasScaler)o).scaleFactor = (System.Single)v, Getter = (o) => ((UnityEngine.UI.CanvasScaler)o).scaleFactor, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.CanvasScaler)o).scaleFactor; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "referenceResolution", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((UnityEngine.UI.CanvasScaler)o).referenceResolution = (UnityEngine.Vector2)v, Getter = (o) => ((UnityEngine.UI.CanvasScaler)o).referenceResolution, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.CanvasScaler)o).referenceResolution; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "screenMatchMode", PropertyType = typeof(UnityEngine.UI.CanvasScaler.ScreenMatchMode), Setter = (o, v) => ((UnityEngine.UI.CanvasScaler)o).screenMatchMode = (UnityEngine.UI.CanvasScaler.ScreenMatchMode)v, Getter = (o) => ((UnityEngine.UI.CanvasScaler)o).screenMatchMode, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.CanvasScaler)o).screenMatchMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "physicalUnit", PropertyType = typeof(UnityEngine.UI.CanvasScaler.Unit), Setter = (o, v) => ((UnityEngine.UI.CanvasScaler)o).physicalUnit = (UnityEngine.UI.CanvasScaler.Unit)v, Getter = (o) => ((UnityEngine.UI.CanvasScaler)o).physicalUnit, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.CanvasScaler)o).physicalUnit; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "fallbackScreenDPI", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.CanvasScaler)o).fallbackScreenDPI = (System.Single)v, Getter = (o) => ((UnityEngine.UI.CanvasScaler)o).fallbackScreenDPI, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.CanvasScaler)o).fallbackScreenDPI; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "defaultSpriteDPI", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.CanvasScaler)o).defaultSpriteDPI = (System.Single)v, Getter = (o) => ((UnityEngine.UI.CanvasScaler)o).defaultSpriteDPI, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.CanvasScaler)o).defaultSpriteDPI; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "referencePixelsPerUnit", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.CanvasScaler)o).referencePixelsPerUnit = (System.Single)v, Getter = (o) => ((UnityEngine.UI.CanvasScaler)o).referencePixelsPerUnit, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.CanvasScaler)o).referencePixelsPerUnit; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.CanvasScaler)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.CanvasScaler)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.CanvasScaler)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS
            { "UnityEngine.CapsuleCollider", new UnityProperty[] {
                new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CapsuleCollider)o).isTrigger = (System.Boolean)v, Getter = (o) => ((CapsuleCollider)o).isTrigger, Updater = (object o, ref object v) => { var x = ((CapsuleCollider)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #if !UNITY_6000_0_OR_NEWER
                new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicMaterial), Setter = (o, v) => ((CapsuleCollider)o).sharedMaterial = (PhysicMaterial)v, Getter = (o) => ((CapsuleCollider)o).sharedMaterial, },
            #endif
            #if UNITY_6000_0_OR_NEWER
                new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicsMaterial), Setter = (o, v) => ((CapsuleCollider)o).sharedMaterial = (PhysicsMaterial)v, Getter = (o) => ((CapsuleCollider)o).sharedMaterial, },
            #endif
                new UnityProperty { Name = "center", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((CapsuleCollider)o).center = (UnityEngine.Vector3)v, Getter = (o) => ((CapsuleCollider)o).center, Updater = (object o, ref object v) => { var x = ((CapsuleCollider)o).center; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "radius", PropertyType = typeof(System.Single), Setter = (o, v) => ((CapsuleCollider)o).radius = (System.Single)v, Getter = (o) => ((CapsuleCollider)o).radius, Updater = (object o, ref object v) => { var x = ((CapsuleCollider)o).radius; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "height", PropertyType = typeof(System.Single), Setter = (o, v) => ((CapsuleCollider)o).height = (System.Single)v, Getter = (o) => ((CapsuleCollider)o).height, Updater = (object o, ref object v) => { var x = ((CapsuleCollider)o).height; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "direction", PropertyType = typeof(System.Int32), Setter = (o, v) => ((CapsuleCollider)o).direction = (System.Int32)v, Getter = (o) => ((CapsuleCollider)o).direction, Updater = (object o, ref object v) => { var x = ((CapsuleCollider)o).direction; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CapsuleCollider)o).enabled = (System.Boolean)v, Getter = (o) => ((CapsuleCollider)o).enabled, Updater = (object o, ref object v) => { var x = ((CapsuleCollider)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.CapsuleCollider2D", new UnityProperty[] {
                new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(UnityEngine.PhysicsMaterial2D), Setter = (o, v) => ((CapsuleCollider2D)o).sharedMaterial = (UnityEngine.PhysicsMaterial2D)v, Getter = (o) => ((CapsuleCollider2D)o).sharedMaterial, },
                new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CapsuleCollider2D)o).isTrigger = (System.Boolean)v, Getter = (o) => ((CapsuleCollider2D)o).isTrigger, Updater = (object o, ref object v) => { var x = ((CapsuleCollider2D)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "usedByEffector", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CapsuleCollider2D)o).usedByEffector = (System.Boolean)v, Getter = (o) => ((CapsuleCollider2D)o).usedByEffector, Updater = (object o, ref object v) => { var x = ((CapsuleCollider2D)o).usedByEffector; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #if !UNITY_2023_1_OR_NEWER
                new UnityProperty { Name = "usedByComposite", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CapsuleCollider2D)o).usedByComposite = (System.Boolean)v, Getter = (o) => ((CapsuleCollider2D)o).usedByComposite, Updater = (object o, ref object v) => { var x = ((CapsuleCollider2D)o).usedByComposite; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #endif
            #if UNITY_2023_1_OR_NEWER
                new UnityProperty { Name = "compositeOperation", PropertyType = typeof(UnityEngine.Collider2D.CompositeOperation), Setter = (o, v) => ((CapsuleCollider2D)o).compositeOperation = (UnityEngine.Collider2D.CompositeOperation)v, Getter = (o) => ((CapsuleCollider2D)o).compositeOperation, Updater = (object o, ref object v) => { var x = (int)((CapsuleCollider2D)o).compositeOperation; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "offset", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((CapsuleCollider2D)o).offset = (UnityEngine.Vector2)v, Getter = (o) => ((CapsuleCollider2D)o).offset, Updater = (object o, ref object v) => { var x = ((CapsuleCollider2D)o).offset; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "size", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((CapsuleCollider2D)o).size = (UnityEngine.Vector2)v, Getter = (o) => ((CapsuleCollider2D)o).size, Updater = (object o, ref object v) => { var x = ((CapsuleCollider2D)o).size; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "direction", PropertyType = typeof(UnityEngine.CapsuleDirection2D), Setter = (o, v) => ((CapsuleCollider2D)o).direction = (UnityEngine.CapsuleDirection2D)v, Getter = (o) => ((CapsuleCollider2D)o).direction, Updater = (object o, ref object v) => { var x = (int)((CapsuleCollider2D)o).direction; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CapsuleCollider2D)o).enabled = (System.Boolean)v, Getter = (o) => ((CapsuleCollider2D)o).enabled, Updater = (object o, ref object v) => { var x = ((CapsuleCollider2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS
            { "UnityEngine.CharacterController", new UnityProperty[] {
                new UnityProperty { Name = "slopeLimit", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterController)o).slopeLimit = (System.Single)v, Getter = (o) => ((CharacterController)o).slopeLimit, Updater = (object o, ref object v) => { var x = ((CharacterController)o).slopeLimit; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "stepOffset", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterController)o).stepOffset = (System.Single)v, Getter = (o) => ((CharacterController)o).stepOffset, Updater = (object o, ref object v) => { var x = ((CharacterController)o).stepOffset; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "skinWidth", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterController)o).skinWidth = (System.Single)v, Getter = (o) => ((CharacterController)o).skinWidth, Updater = (object o, ref object v) => { var x = ((CharacterController)o).skinWidth; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "minMoveDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterController)o).minMoveDistance = (System.Single)v, Getter = (o) => ((CharacterController)o).minMoveDistance, Updater = (object o, ref object v) => { var x = ((CharacterController)o).minMoveDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "center", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((CharacterController)o).center = (UnityEngine.Vector3)v, Getter = (o) => ((CharacterController)o).center, Updater = (object o, ref object v) => { var x = ((CharacterController)o).center; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "radius", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterController)o).radius = (System.Single)v, Getter = (o) => ((CharacterController)o).radius, Updater = (object o, ref object v) => { var x = ((CharacterController)o).radius; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "height", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterController)o).height = (System.Single)v, Getter = (o) => ((CharacterController)o).height, Updater = (object o, ref object v) => { var x = ((CharacterController)o).height; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CharacterController)o).enabled = (System.Boolean)v, Getter = (o) => ((CharacterController)o).enabled, Updater = (object o, ref object v) => { var x = ((CharacterController)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS
            { "UnityEngine.CharacterJoint", new UnityProperty[] {
                new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody), Setter = (o, v) => ((CharacterJoint)o).connectedBody = (UnityEngine.Rigidbody)v, Getter = (o) => ((CharacterJoint)o).connectedBody, },
            #if UNITY_2020_2_OR_NEWER
                new UnityProperty { Name = "connectedArticulationBody", PropertyType = typeof(UnityEngine.ArticulationBody), Setter = (o, v) => ((CharacterJoint)o).connectedArticulationBody = (UnityEngine.ArticulationBody)v, Getter = (o) => ((CharacterJoint)o).connectedArticulationBody, },
            #endif
                new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((CharacterJoint)o).anchor = (UnityEngine.Vector3)v, Getter = (o) => ((CharacterJoint)o).anchor, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).anchor; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "axis", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((CharacterJoint)o).axis = (UnityEngine.Vector3)v, Getter = (o) => ((CharacterJoint)o).axis, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).axis; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CharacterJoint)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((CharacterJoint)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((CharacterJoint)o).connectedAnchor = (UnityEngine.Vector3)v, Getter = (o) => ((CharacterJoint)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "swingAxis", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((CharacterJoint)o).swingAxis = (UnityEngine.Vector3)v, Getter = (o) => ((CharacterJoint)o).swingAxis, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).swingAxis; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "twistLimitSpring", PropertyType = typeof(UnityEngine.SoftJointLimitSpring), Setter = (o, v) => ((CharacterJoint)o).twistLimitSpring = (UnityEngine.SoftJointLimitSpring)v, Getter = (o) => ((CharacterJoint)o).twistLimitSpring, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).twistLimitSpring; if (!x.Equals((UnityEngine.SoftJointLimitSpring)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "lowTwistLimit", PropertyType = typeof(UnityEngine.SoftJointLimit), Setter = (o, v) => ((CharacterJoint)o).lowTwistLimit = (UnityEngine.SoftJointLimit)v, Getter = (o) => ((CharacterJoint)o).lowTwistLimit, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).lowTwistLimit; if (!x.Equals((UnityEngine.SoftJointLimit)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "highTwistLimit", PropertyType = typeof(UnityEngine.SoftJointLimit), Setter = (o, v) => ((CharacterJoint)o).highTwistLimit = (UnityEngine.SoftJointLimit)v, Getter = (o) => ((CharacterJoint)o).highTwistLimit, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).highTwistLimit; if (!x.Equals((UnityEngine.SoftJointLimit)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "swingLimitSpring", PropertyType = typeof(UnityEngine.SoftJointLimitSpring), Setter = (o, v) => ((CharacterJoint)o).swingLimitSpring = (UnityEngine.SoftJointLimitSpring)v, Getter = (o) => ((CharacterJoint)o).swingLimitSpring, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).swingLimitSpring; if (!x.Equals((UnityEngine.SoftJointLimitSpring)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "swing1Limit", PropertyType = typeof(UnityEngine.SoftJointLimit), Setter = (o, v) => ((CharacterJoint)o).swing1Limit = (UnityEngine.SoftJointLimit)v, Getter = (o) => ((CharacterJoint)o).swing1Limit, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).swing1Limit; if (!x.Equals((UnityEngine.SoftJointLimit)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "swing2Limit", PropertyType = typeof(UnityEngine.SoftJointLimit), Setter = (o, v) => ((CharacterJoint)o).swing2Limit = (UnityEngine.SoftJointLimit)v, Getter = (o) => ((CharacterJoint)o).swing2Limit, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).swing2Limit; if (!x.Equals((UnityEngine.SoftJointLimit)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enableProjection", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CharacterJoint)o).enableProjection = (System.Boolean)v, Getter = (o) => ((CharacterJoint)o).enableProjection, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).enableProjection; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "projectionDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterJoint)o).projectionDistance = (System.Single)v, Getter = (o) => ((CharacterJoint)o).projectionDistance, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).projectionDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "projectionAngle", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterJoint)o).projectionAngle = (System.Single)v, Getter = (o) => ((CharacterJoint)o).projectionAngle, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).projectionAngle; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterJoint)o).breakForce = (System.Single)v, Getter = (o) => ((CharacterJoint)o).breakForce, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterJoint)o).breakTorque = (System.Single)v, Getter = (o) => ((CharacterJoint)o).breakTorque, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CharacterJoint)o).enableCollision = (System.Boolean)v, Getter = (o) => ((CharacterJoint)o).enableCollision, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enablePreprocessing", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CharacterJoint)o).enablePreprocessing = (System.Boolean)v, Getter = (o) => ((CharacterJoint)o).enablePreprocessing, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).enablePreprocessing; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "massScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterJoint)o).massScale = (System.Single)v, Getter = (o) => ((CharacterJoint)o).massScale, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).massScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedMassScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterJoint)o).connectedMassScale = (System.Single)v, Getter = (o) => ((CharacterJoint)o).connectedMassScale, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).connectedMassScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.CircleCollider2D", new UnityProperty[] {
                new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(UnityEngine.PhysicsMaterial2D), Setter = (o, v) => ((CircleCollider2D)o).sharedMaterial = (UnityEngine.PhysicsMaterial2D)v, Getter = (o) => ((CircleCollider2D)o).sharedMaterial, },
                new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CircleCollider2D)o).isTrigger = (System.Boolean)v, Getter = (o) => ((CircleCollider2D)o).isTrigger, Updater = (object o, ref object v) => { var x = ((CircleCollider2D)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "usedByEffector", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CircleCollider2D)o).usedByEffector = (System.Boolean)v, Getter = (o) => ((CircleCollider2D)o).usedByEffector, Updater = (object o, ref object v) => { var x = ((CircleCollider2D)o).usedByEffector; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #if !UNITY_2023_1_OR_NEWER
                new UnityProperty { Name = "usedByComposite", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CircleCollider2D)o).usedByComposite = (System.Boolean)v, Getter = (o) => ((CircleCollider2D)o).usedByComposite, Updater = (object o, ref object v) => { var x = ((CircleCollider2D)o).usedByComposite; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #endif
            #if UNITY_2023_1_OR_NEWER
                new UnityProperty { Name = "compositeOperation", PropertyType = typeof(UnityEngine.Collider2D.CompositeOperation), Setter = (o, v) => ((CircleCollider2D)o).compositeOperation = (UnityEngine.Collider2D.CompositeOperation)v, Getter = (o) => ((CircleCollider2D)o).compositeOperation, Updater = (object o, ref object v) => { var x = (int)((CircleCollider2D)o).compositeOperation; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "offset", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((CircleCollider2D)o).offset = (UnityEngine.Vector2)v, Getter = (o) => ((CircleCollider2D)o).offset, Updater = (object o, ref object v) => { var x = ((CircleCollider2D)o).offset; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "radius", PropertyType = typeof(System.Single), Setter = (o, v) => ((CircleCollider2D)o).radius = (System.Single)v, Getter = (o) => ((CircleCollider2D)o).radius, Updater = (object o, ref object v) => { var x = ((CircleCollider2D)o).radius; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CircleCollider2D)o).enabled = (System.Boolean)v, Getter = (o) => ((CircleCollider2D)o).enabled, Updater = (object o, ref object v) => { var x = ((CircleCollider2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_CLOTH
            { "UnityEngine.Cloth", new UnityProperty[] {
                new UnityProperty { Name = "stretchingStiffness", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).stretchingStiffness = (System.Single)v, Getter = (o) => ((Cloth)o).stretchingStiffness, Updater = (object o, ref object v) => { var x = ((Cloth)o).stretchingStiffness; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "bendingStiffness", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).bendingStiffness = (System.Single)v, Getter = (o) => ((Cloth)o).bendingStiffness, Updater = (object o, ref object v) => { var x = ((Cloth)o).bendingStiffness; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useTethers", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Cloth)o).useTethers = (System.Boolean)v, Getter = (o) => ((Cloth)o).useTethers, Updater = (object o, ref object v) => { var x = ((Cloth)o).useTethers; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useGravity", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Cloth)o).useGravity = (System.Boolean)v, Getter = (o) => ((Cloth)o).useGravity, Updater = (object o, ref object v) => { var x = ((Cloth)o).useGravity; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "damping", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).damping = (System.Single)v, Getter = (o) => ((Cloth)o).damping, Updater = (object o, ref object v) => { var x = ((Cloth)o).damping; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "externalAcceleration", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((Cloth)o).externalAcceleration = (UnityEngine.Vector3)v, Getter = (o) => ((Cloth)o).externalAcceleration, Updater = (object o, ref object v) => { var x = ((Cloth)o).externalAcceleration; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "randomAcceleration", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((Cloth)o).randomAcceleration = (UnityEngine.Vector3)v, Getter = (o) => ((Cloth)o).randomAcceleration, Updater = (object o, ref object v) => { var x = ((Cloth)o).randomAcceleration; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "worldVelocityScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).worldVelocityScale = (System.Single)v, Getter = (o) => ((Cloth)o).worldVelocityScale, Updater = (object o, ref object v) => { var x = ((Cloth)o).worldVelocityScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "worldAccelerationScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).worldAccelerationScale = (System.Single)v, Getter = (o) => ((Cloth)o).worldAccelerationScale, Updater = (object o, ref object v) => { var x = ((Cloth)o).worldAccelerationScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "friction", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).friction = (System.Single)v, Getter = (o) => ((Cloth)o).friction, Updater = (object o, ref object v) => { var x = ((Cloth)o).friction; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "collisionMassScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).collisionMassScale = (System.Single)v, Getter = (o) => ((Cloth)o).collisionMassScale, Updater = (object o, ref object v) => { var x = ((Cloth)o).collisionMassScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enableContinuousCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Cloth)o).enableContinuousCollision = (System.Boolean)v, Getter = (o) => ((Cloth)o).enableContinuousCollision, Updater = (object o, ref object v) => { var x = ((Cloth)o).enableContinuousCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useVirtualParticles", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).useVirtualParticles = (System.Single)v, Getter = (o) => ((Cloth)o).useVirtualParticles, Updater = (object o, ref object v) => { var x = ((Cloth)o).useVirtualParticles; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "clothSolverFrequency", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).clothSolverFrequency = (System.Single)v, Getter = (o) => ((Cloth)o).clothSolverFrequency, Updater = (object o, ref object v) => { var x = ((Cloth)o).clothSolverFrequency; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sleepThreshold", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).sleepThreshold = (System.Single)v, Getter = (o) => ((Cloth)o).sleepThreshold, Updater = (object o, ref object v) => { var x = ((Cloth)o).sleepThreshold; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "capsuleColliders", PropertyType = typeof(UnityEngine.CapsuleCollider[]), Setter = (o, v) => ((Cloth)o).capsuleColliders = (UnityEngine.CapsuleCollider[])v, Getter = (o) => ((Cloth)o).capsuleColliders, },
                new UnityProperty { Name = "sphereColliders", PropertyType = typeof(UnityEngine.ClothSphereColliderPair[]), Setter = (o, v) => ((Cloth)o).sphereColliders = (UnityEngine.ClothSphereColliderPair[])v, Getter = (o) => ((Cloth)o).sphereColliders, },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Cloth)o).enabled = (System.Boolean)v, Getter = (o) => ((Cloth)o).enabled, Updater = (object o, ref object v) => { var x = ((Cloth)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.CompositeCollider2D", new UnityProperty[] {
                new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(UnityEngine.PhysicsMaterial2D), Setter = (o, v) => ((CompositeCollider2D)o).sharedMaterial = (UnityEngine.PhysicsMaterial2D)v, Getter = (o) => ((CompositeCollider2D)o).sharedMaterial, },
                new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CompositeCollider2D)o).isTrigger = (System.Boolean)v, Getter = (o) => ((CompositeCollider2D)o).isTrigger, Updater = (object o, ref object v) => { var x = ((CompositeCollider2D)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "usedByEffector", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CompositeCollider2D)o).usedByEffector = (System.Boolean)v, Getter = (o) => ((CompositeCollider2D)o).usedByEffector, Updater = (object o, ref object v) => { var x = ((CompositeCollider2D)o).usedByEffector; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #if !UNITY_2023_1_OR_NEWER
                new UnityProperty { Name = "usedByComposite", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CompositeCollider2D)o).usedByComposite = (System.Boolean)v, Getter = (o) => ((CompositeCollider2D)o).usedByComposite, Updater = (object o, ref object v) => { var x = ((CompositeCollider2D)o).usedByComposite; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #endif
            #if UNITY_2023_1_OR_NEWER
                new UnityProperty { Name = "compositeOperation", PropertyType = typeof(UnityEngine.Collider2D.CompositeOperation), Setter = (o, v) => ((CompositeCollider2D)o).compositeOperation = (UnityEngine.Collider2D.CompositeOperation)v, Getter = (o) => ((CompositeCollider2D)o).compositeOperation, Updater = (object o, ref object v) => { var x = (int)((CompositeCollider2D)o).compositeOperation; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "offset", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((CompositeCollider2D)o).offset = (UnityEngine.Vector2)v, Getter = (o) => ((CompositeCollider2D)o).offset, Updater = (object o, ref object v) => { var x = ((CompositeCollider2D)o).offset; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "geometryType", PropertyType = typeof(UnityEngine.CompositeCollider2D.GeometryType), Setter = (o, v) => ((CompositeCollider2D)o).geometryType = (UnityEngine.CompositeCollider2D.GeometryType)v, Getter = (o) => ((CompositeCollider2D)o).geometryType, Updater = (object o, ref object v) => { var x = (int)((CompositeCollider2D)o).geometryType; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "generationType", PropertyType = typeof(UnityEngine.CompositeCollider2D.GenerationType), Setter = (o, v) => ((CompositeCollider2D)o).generationType = (UnityEngine.CompositeCollider2D.GenerationType)v, Getter = (o) => ((CompositeCollider2D)o).generationType, Updater = (object o, ref object v) => { var x = (int)((CompositeCollider2D)o).generationType; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "vertexDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((CompositeCollider2D)o).vertexDistance = (System.Single)v, Getter = (o) => ((CompositeCollider2D)o).vertexDistance, Updater = (object o, ref object v) => { var x = ((CompositeCollider2D)o).vertexDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "offsetDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((CompositeCollider2D)o).offsetDistance = (System.Single)v, Getter = (o) => ((CompositeCollider2D)o).offsetDistance, Updater = (object o, ref object v) => { var x = ((CompositeCollider2D)o).offsetDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "edgeRadius", PropertyType = typeof(System.Single), Setter = (o, v) => ((CompositeCollider2D)o).edgeRadius = (System.Single)v, Getter = (o) => ((CompositeCollider2D)o).edgeRadius, Updater = (object o, ref object v) => { var x = ((CompositeCollider2D)o).edgeRadius; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CompositeCollider2D)o).enabled = (System.Boolean)v, Getter = (o) => ((CompositeCollider2D)o).enabled, Updater = (object o, ref object v) => { var x = ((CompositeCollider2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS
            { "UnityEngine.ConfigurableJoint", new UnityProperty[] {
                new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody), Setter = (o, v) => ((ConfigurableJoint)o).connectedBody = (UnityEngine.Rigidbody)v, Getter = (o) => ((ConfigurableJoint)o).connectedBody, },
            #if UNITY_2020_2_OR_NEWER
                new UnityProperty { Name = "connectedArticulationBody", PropertyType = typeof(UnityEngine.ArticulationBody), Setter = (o, v) => ((ConfigurableJoint)o).connectedArticulationBody = (UnityEngine.ArticulationBody)v, Getter = (o) => ((ConfigurableJoint)o).connectedArticulationBody, },
            #endif
                new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConfigurableJoint)o).anchor = (UnityEngine.Vector3)v, Getter = (o) => ((ConfigurableJoint)o).anchor, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).anchor; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "axis", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConfigurableJoint)o).axis = (UnityEngine.Vector3)v, Getter = (o) => ((ConfigurableJoint)o).axis, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).axis; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ConfigurableJoint)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((ConfigurableJoint)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConfigurableJoint)o).connectedAnchor = (UnityEngine.Vector3)v, Getter = (o) => ((ConfigurableJoint)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "xMotion", PropertyType = typeof(UnityEngine.ConfigurableJointMotion), Setter = (o, v) => ((ConfigurableJoint)o).xMotion = (UnityEngine.ConfigurableJointMotion)v, Getter = (o) => ((ConfigurableJoint)o).xMotion, Updater = (object o, ref object v) => { var x = (int)((ConfigurableJoint)o).xMotion; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "yMotion", PropertyType = typeof(UnityEngine.ConfigurableJointMotion), Setter = (o, v) => ((ConfigurableJoint)o).yMotion = (UnityEngine.ConfigurableJointMotion)v, Getter = (o) => ((ConfigurableJoint)o).yMotion, Updater = (object o, ref object v) => { var x = (int)((ConfigurableJoint)o).yMotion; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "zMotion", PropertyType = typeof(UnityEngine.ConfigurableJointMotion), Setter = (o, v) => ((ConfigurableJoint)o).zMotion = (UnityEngine.ConfigurableJointMotion)v, Getter = (o) => ((ConfigurableJoint)o).zMotion, Updater = (object o, ref object v) => { var x = (int)((ConfigurableJoint)o).zMotion; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "angularXMotion", PropertyType = typeof(UnityEngine.ConfigurableJointMotion), Setter = (o, v) => ((ConfigurableJoint)o).angularXMotion = (UnityEngine.ConfigurableJointMotion)v, Getter = (o) => ((ConfigurableJoint)o).angularXMotion, Updater = (object o, ref object v) => { var x = (int)((ConfigurableJoint)o).angularXMotion; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "angularYMotion", PropertyType = typeof(UnityEngine.ConfigurableJointMotion), Setter = (o, v) => ((ConfigurableJoint)o).angularYMotion = (UnityEngine.ConfigurableJointMotion)v, Getter = (o) => ((ConfigurableJoint)o).angularYMotion, Updater = (object o, ref object v) => { var x = (int)((ConfigurableJoint)o).angularYMotion; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "angularZMotion", PropertyType = typeof(UnityEngine.ConfigurableJointMotion), Setter = (o, v) => ((ConfigurableJoint)o).angularZMotion = (UnityEngine.ConfigurableJointMotion)v, Getter = (o) => ((ConfigurableJoint)o).angularZMotion, Updater = (object o, ref object v) => { var x = (int)((ConfigurableJoint)o).angularZMotion; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "linearLimitSpring", PropertyType = typeof(UnityEngine.SoftJointLimitSpring), Setter = (o, v) => ((ConfigurableJoint)o).linearLimitSpring = (UnityEngine.SoftJointLimitSpring)v, Getter = (o) => ((ConfigurableJoint)o).linearLimitSpring, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).linearLimitSpring; if (!x.Equals((UnityEngine.SoftJointLimitSpring)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "linearLimit", PropertyType = typeof(UnityEngine.SoftJointLimit), Setter = (o, v) => ((ConfigurableJoint)o).linearLimit = (UnityEngine.SoftJointLimit)v, Getter = (o) => ((ConfigurableJoint)o).linearLimit, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).linearLimit; if (!x.Equals((UnityEngine.SoftJointLimit)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "angularXLimitSpring", PropertyType = typeof(UnityEngine.SoftJointLimitSpring), Setter = (o, v) => ((ConfigurableJoint)o).angularXLimitSpring = (UnityEngine.SoftJointLimitSpring)v, Getter = (o) => ((ConfigurableJoint)o).angularXLimitSpring, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).angularXLimitSpring; if (!x.Equals((UnityEngine.SoftJointLimitSpring)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "lowAngularXLimit", PropertyType = typeof(UnityEngine.SoftJointLimit), Setter = (o, v) => ((ConfigurableJoint)o).lowAngularXLimit = (UnityEngine.SoftJointLimit)v, Getter = (o) => ((ConfigurableJoint)o).lowAngularXLimit, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).lowAngularXLimit; if (!x.Equals((UnityEngine.SoftJointLimit)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "highAngularXLimit", PropertyType = typeof(UnityEngine.SoftJointLimit), Setter = (o, v) => ((ConfigurableJoint)o).highAngularXLimit = (UnityEngine.SoftJointLimit)v, Getter = (o) => ((ConfigurableJoint)o).highAngularXLimit, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).highAngularXLimit; if (!x.Equals((UnityEngine.SoftJointLimit)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "angularYZLimitSpring", PropertyType = typeof(UnityEngine.SoftJointLimitSpring), Setter = (o, v) => ((ConfigurableJoint)o).angularYZLimitSpring = (UnityEngine.SoftJointLimitSpring)v, Getter = (o) => ((ConfigurableJoint)o).angularYZLimitSpring, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).angularYZLimitSpring; if (!x.Equals((UnityEngine.SoftJointLimitSpring)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "angularYLimit", PropertyType = typeof(UnityEngine.SoftJointLimit), Setter = (o, v) => ((ConfigurableJoint)o).angularYLimit = (UnityEngine.SoftJointLimit)v, Getter = (o) => ((ConfigurableJoint)o).angularYLimit, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).angularYLimit; if (!x.Equals((UnityEngine.SoftJointLimit)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "angularZLimit", PropertyType = typeof(UnityEngine.SoftJointLimit), Setter = (o, v) => ((ConfigurableJoint)o).angularZLimit = (UnityEngine.SoftJointLimit)v, Getter = (o) => ((ConfigurableJoint)o).angularZLimit, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).angularZLimit; if (!x.Equals((UnityEngine.SoftJointLimit)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "targetPosition", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConfigurableJoint)o).targetPosition = (UnityEngine.Vector3)v, Getter = (o) => ((ConfigurableJoint)o).targetPosition, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).targetPosition; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "targetVelocity", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConfigurableJoint)o).targetVelocity = (UnityEngine.Vector3)v, Getter = (o) => ((ConfigurableJoint)o).targetVelocity, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).targetVelocity; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "xDrive", PropertyType = typeof(UnityEngine.JointDrive), Setter = (o, v) => ((ConfigurableJoint)o).xDrive = (UnityEngine.JointDrive)v, Getter = (o) => ((ConfigurableJoint)o).xDrive, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).xDrive; if (!x.Equals((UnityEngine.JointDrive)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "yDrive", PropertyType = typeof(UnityEngine.JointDrive), Setter = (o, v) => ((ConfigurableJoint)o).yDrive = (UnityEngine.JointDrive)v, Getter = (o) => ((ConfigurableJoint)o).yDrive, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).yDrive; if (!x.Equals((UnityEngine.JointDrive)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "zDrive", PropertyType = typeof(UnityEngine.JointDrive), Setter = (o, v) => ((ConfigurableJoint)o).zDrive = (UnityEngine.JointDrive)v, Getter = (o) => ((ConfigurableJoint)o).zDrive, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).zDrive; if (!x.Equals((UnityEngine.JointDrive)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "targetRotation", PropertyType = typeof(UnityEngine.Quaternion), Setter = (o, v) => ((ConfigurableJoint)o).targetRotation = (UnityEngine.Quaternion)v, Getter = (o) => ((ConfigurableJoint)o).targetRotation, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).targetRotation; if (!x.Equals((UnityEngine.Quaternion)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "targetAngularVelocity", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConfigurableJoint)o).targetAngularVelocity = (UnityEngine.Vector3)v, Getter = (o) => ((ConfigurableJoint)o).targetAngularVelocity, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).targetAngularVelocity; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "rotationDriveMode", PropertyType = typeof(UnityEngine.RotationDriveMode), Setter = (o, v) => ((ConfigurableJoint)o).rotationDriveMode = (UnityEngine.RotationDriveMode)v, Getter = (o) => ((ConfigurableJoint)o).rotationDriveMode, Updater = (object o, ref object v) => { var x = (int)((ConfigurableJoint)o).rotationDriveMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "angularXDrive", PropertyType = typeof(UnityEngine.JointDrive), Setter = (o, v) => ((ConfigurableJoint)o).angularXDrive = (UnityEngine.JointDrive)v, Getter = (o) => ((ConfigurableJoint)o).angularXDrive, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).angularXDrive; if (!x.Equals((UnityEngine.JointDrive)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "angularYZDrive", PropertyType = typeof(UnityEngine.JointDrive), Setter = (o, v) => ((ConfigurableJoint)o).angularYZDrive = (UnityEngine.JointDrive)v, Getter = (o) => ((ConfigurableJoint)o).angularYZDrive, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).angularYZDrive; if (!x.Equals((UnityEngine.JointDrive)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "slerpDrive", PropertyType = typeof(UnityEngine.JointDrive), Setter = (o, v) => ((ConfigurableJoint)o).slerpDrive = (UnityEngine.JointDrive)v, Getter = (o) => ((ConfigurableJoint)o).slerpDrive, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).slerpDrive; if (!x.Equals((UnityEngine.JointDrive)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "projectionMode", PropertyType = typeof(UnityEngine.JointProjectionMode), Setter = (o, v) => ((ConfigurableJoint)o).projectionMode = (UnityEngine.JointProjectionMode)v, Getter = (o) => ((ConfigurableJoint)o).projectionMode, Updater = (object o, ref object v) => { var x = (int)((ConfigurableJoint)o).projectionMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "projectionDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((ConfigurableJoint)o).projectionDistance = (System.Single)v, Getter = (o) => ((ConfigurableJoint)o).projectionDistance, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).projectionDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "projectionAngle", PropertyType = typeof(System.Single), Setter = (o, v) => ((ConfigurableJoint)o).projectionAngle = (System.Single)v, Getter = (o) => ((ConfigurableJoint)o).projectionAngle, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).projectionAngle; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "configuredInWorldSpace", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ConfigurableJoint)o).configuredInWorldSpace = (System.Boolean)v, Getter = (o) => ((ConfigurableJoint)o).configuredInWorldSpace, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).configuredInWorldSpace; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "swapBodies", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ConfigurableJoint)o).swapBodies = (System.Boolean)v, Getter = (o) => ((ConfigurableJoint)o).swapBodies, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).swapBodies; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((ConfigurableJoint)o).breakForce = (System.Single)v, Getter = (o) => ((ConfigurableJoint)o).breakForce, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((ConfigurableJoint)o).breakTorque = (System.Single)v, Getter = (o) => ((ConfigurableJoint)o).breakTorque, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ConfigurableJoint)o).enableCollision = (System.Boolean)v, Getter = (o) => ((ConfigurableJoint)o).enableCollision, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enablePreprocessing", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ConfigurableJoint)o).enablePreprocessing = (System.Boolean)v, Getter = (o) => ((ConfigurableJoint)o).enablePreprocessing, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).enablePreprocessing; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "massScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((ConfigurableJoint)o).massScale = (System.Single)v, Getter = (o) => ((ConfigurableJoint)o).massScale, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).massScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedMassScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((ConfigurableJoint)o).connectedMassScale = (System.Single)v, Getter = (o) => ((ConfigurableJoint)o).connectedMassScale, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).connectedMassScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS
            { "UnityEngine.ConstantForce", new UnityProperty[] {
                new UnityProperty { Name = "force", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConstantForce)o).force = (UnityEngine.Vector3)v, Getter = (o) => ((ConstantForce)o).force, Updater = (object o, ref object v) => { var x = ((ConstantForce)o).force; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "relativeForce", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConstantForce)o).relativeForce = (UnityEngine.Vector3)v, Getter = (o) => ((ConstantForce)o).relativeForce, Updater = (object o, ref object v) => { var x = ((ConstantForce)o).relativeForce; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "torque", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConstantForce)o).torque = (UnityEngine.Vector3)v, Getter = (o) => ((ConstantForce)o).torque, Updater = (object o, ref object v) => { var x = ((ConstantForce)o).torque; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "relativeTorque", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConstantForce)o).relativeTorque = (UnityEngine.Vector3)v, Getter = (o) => ((ConstantForce)o).relativeTorque, Updater = (object o, ref object v) => { var x = ((ConstantForce)o).relativeTorque; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ConstantForce)o).enabled = (System.Boolean)v, Getter = (o) => ((ConstantForce)o).enabled, Updater = (object o, ref object v) => { var x = ((ConstantForce)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.ConstantForce2D", new UnityProperty[] {
                new UnityProperty { Name = "force", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((ConstantForce2D)o).force = (UnityEngine.Vector2)v, Getter = (o) => ((ConstantForce2D)o).force, Updater = (object o, ref object v) => { var x = ((ConstantForce2D)o).force; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "relativeForce", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((ConstantForce2D)o).relativeForce = (UnityEngine.Vector2)v, Getter = (o) => ((ConstantForce2D)o).relativeForce, Updater = (object o, ref object v) => { var x = ((ConstantForce2D)o).relativeForce; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "torque", PropertyType = typeof(System.Single), Setter = (o, v) => ((ConstantForce2D)o).torque = (System.Single)v, Getter = (o) => ((ConstantForce2D)o).torque, Updater = (object o, ref object v) => { var x = ((ConstantForce2D)o).torque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ConstantForce2D)o).enabled = (System.Boolean)v, Getter = (o) => ((ConstantForce2D)o).enabled, Updater = (object o, ref object v) => { var x = ((ConstantForce2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.ContentSizeFitter", new UnityProperty[] {
                new UnityProperty { Name = "horizontalFit", PropertyType = typeof(UnityEngine.UI.ContentSizeFitter.FitMode), Setter = (o, v) => ((UnityEngine.UI.ContentSizeFitter)o).horizontalFit = (UnityEngine.UI.ContentSizeFitter.FitMode)v, Getter = (o) => ((UnityEngine.UI.ContentSizeFitter)o).horizontalFit, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.ContentSizeFitter)o).horizontalFit; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "verticalFit", PropertyType = typeof(UnityEngine.UI.ContentSizeFitter.FitMode), Setter = (o, v) => ((UnityEngine.UI.ContentSizeFitter)o).verticalFit = (UnityEngine.UI.ContentSizeFitter.FitMode)v, Getter = (o) => ((UnityEngine.UI.ContentSizeFitter)o).verticalFit, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.ContentSizeFitter)o).verticalFit; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.ContentSizeFitter)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.ContentSizeFitter)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ContentSizeFitter)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.DistanceJoint2D", new UnityProperty[] {
                new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((DistanceJoint2D)o).enableCollision = (System.Boolean)v, Getter = (o) => ((DistanceJoint2D)o).enableCollision, Updater = (object o, ref object v) => { var x = ((DistanceJoint2D)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody2D), Setter = (o, v) => ((DistanceJoint2D)o).connectedBody = (UnityEngine.Rigidbody2D)v, Getter = (o) => ((DistanceJoint2D)o).connectedBody, },
                new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((DistanceJoint2D)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((DistanceJoint2D)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((DistanceJoint2D)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((DistanceJoint2D)o).anchor = (UnityEngine.Vector2)v, Getter = (o) => ((DistanceJoint2D)o).anchor, Updater = (object o, ref object v) => { var x = ((DistanceJoint2D)o).anchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((DistanceJoint2D)o).connectedAnchor = (UnityEngine.Vector2)v, Getter = (o) => ((DistanceJoint2D)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((DistanceJoint2D)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "autoConfigureDistance", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((DistanceJoint2D)o).autoConfigureDistance = (System.Boolean)v, Getter = (o) => ((DistanceJoint2D)o).autoConfigureDistance, Updater = (object o, ref object v) => { var x = ((DistanceJoint2D)o).autoConfigureDistance; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "distance", PropertyType = typeof(System.Single), Setter = (o, v) => ((DistanceJoint2D)o).distance = (System.Single)v, Getter = (o) => ((DistanceJoint2D)o).distance, Updater = (object o, ref object v) => { var x = ((DistanceJoint2D)o).distance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "maxDistanceOnly", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((DistanceJoint2D)o).maxDistanceOnly = (System.Boolean)v, Getter = (o) => ((DistanceJoint2D)o).maxDistanceOnly, Updater = (object o, ref object v) => { var x = ((DistanceJoint2D)o).maxDistanceOnly; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((DistanceJoint2D)o).breakForce = (System.Single)v, Getter = (o) => ((DistanceJoint2D)o).breakForce, Updater = (object o, ref object v) => { var x = ((DistanceJoint2D)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((DistanceJoint2D)o).enabled = (System.Boolean)v, Getter = (o) => ((DistanceJoint2D)o).enabled, Updater = (object o, ref object v) => { var x = ((DistanceJoint2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.Dropdown", new UnityProperty[] {
                new UnityProperty { Name = "interactable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).interactable = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).interactable, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Dropdown)o).interactable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "transition", PropertyType = typeof(UnityEngine.UI.Selectable.Transition), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).transition = (UnityEngine.UI.Selectable.Transition)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).transition, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Dropdown)o).transition; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "targetGraphic", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).targetGraphic = (UnityEngine.UI.Graphic)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).targetGraphic, },
                new UnityProperty { Name = "colors", PropertyType = typeof(UnityEngine.UI.ColorBlock), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).colors = (UnityEngine.UI.ColorBlock)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).colors, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Dropdown)o).colors; if (!x.Equals((UnityEngine.UI.ColorBlock)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "navigation", PropertyType = typeof(UnityEngine.UI.Navigation), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).navigation = (UnityEngine.UI.Navigation)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).navigation, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Dropdown)o).navigation; if (!x.Equals((UnityEngine.UI.Navigation)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "template", PropertyType = typeof(UnityEngine.RectTransform), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).template = (UnityEngine.RectTransform)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).template, },
                new UnityProperty { Name = "captionText", PropertyType = typeof(UnityEngine.UI.Text), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).captionText = (UnityEngine.UI.Text)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).captionText, },
                new UnityProperty { Name = "captionImage", PropertyType = typeof(UnityEngine.UI.Image), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).captionImage = (UnityEngine.UI.Image)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).captionImage, },
                new UnityProperty { Name = "itemText", PropertyType = typeof(UnityEngine.UI.Text), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).itemText = (UnityEngine.UI.Text)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).itemText, },
                new UnityProperty { Name = "itemImage", PropertyType = typeof(UnityEngine.UI.Image), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).itemImage = (UnityEngine.UI.Image)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).itemImage, },
                new UnityProperty { Name = "value", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).value = (System.Int32)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).value, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Dropdown)o).value; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "alphaFadeSpeed", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).alphaFadeSpeed = (System.Single)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).alphaFadeSpeed, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Dropdown)o).alphaFadeSpeed; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "options", PropertyType = typeof(System.Collections.Generic.List<UnityEngine.UI.Dropdown.OptionData>), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).options = (System.Collections.Generic.List<UnityEngine.UI.Dropdown.OptionData>)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).options, },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Dropdown)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.EdgeCollider2D", new UnityProperty[] {
                new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(UnityEngine.PhysicsMaterial2D), Setter = (o, v) => ((EdgeCollider2D)o).sharedMaterial = (UnityEngine.PhysicsMaterial2D)v, Getter = (o) => ((EdgeCollider2D)o).sharedMaterial, },
                new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((EdgeCollider2D)o).isTrigger = (System.Boolean)v, Getter = (o) => ((EdgeCollider2D)o).isTrigger, Updater = (object o, ref object v) => { var x = ((EdgeCollider2D)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "usedByEffector", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((EdgeCollider2D)o).usedByEffector = (System.Boolean)v, Getter = (o) => ((EdgeCollider2D)o).usedByEffector, Updater = (object o, ref object v) => { var x = ((EdgeCollider2D)o).usedByEffector; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #if !UNITY_2023_1_OR_NEWER
                new UnityProperty { Name = "usedByComposite", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((EdgeCollider2D)o).usedByComposite = (System.Boolean)v, Getter = (o) => ((EdgeCollider2D)o).usedByComposite, Updater = (object o, ref object v) => { var x = ((EdgeCollider2D)o).usedByComposite; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #endif
            #if UNITY_2023_1_OR_NEWER
                new UnityProperty { Name = "compositeOperation", PropertyType = typeof(UnityEngine.Collider2D.CompositeOperation), Setter = (o, v) => ((EdgeCollider2D)o).compositeOperation = (UnityEngine.Collider2D.CompositeOperation)v, Getter = (o) => ((EdgeCollider2D)o).compositeOperation, Updater = (object o, ref object v) => { var x = (int)((EdgeCollider2D)o).compositeOperation; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "offset", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((EdgeCollider2D)o).offset = (UnityEngine.Vector2)v, Getter = (o) => ((EdgeCollider2D)o).offset, Updater = (object o, ref object v) => { var x = ((EdgeCollider2D)o).offset; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "edgeRadius", PropertyType = typeof(System.Single), Setter = (o, v) => ((EdgeCollider2D)o).edgeRadius = (System.Single)v, Getter = (o) => ((EdgeCollider2D)o).edgeRadius, Updater = (object o, ref object v) => { var x = ((EdgeCollider2D)o).edgeRadius; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "points", PropertyType = typeof(UnityEngine.Vector2[]), Setter = (o, v) => ((EdgeCollider2D)o).points = (UnityEngine.Vector2[])v, Getter = (o) => ((EdgeCollider2D)o).points, },
            #if UNITY_2020_1_OR_NEWER
                new UnityProperty { Name = "useAdjacentStartPoint", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((EdgeCollider2D)o).useAdjacentStartPoint = (System.Boolean)v, Getter = (o) => ((EdgeCollider2D)o).useAdjacentStartPoint, Updater = (object o, ref object v) => { var x = ((EdgeCollider2D)o).useAdjacentStartPoint; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #endif
            #if UNITY_2020_1_OR_NEWER
                new UnityProperty { Name = "useAdjacentEndPoint", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((EdgeCollider2D)o).useAdjacentEndPoint = (System.Boolean)v, Getter = (o) => ((EdgeCollider2D)o).useAdjacentEndPoint, Updater = (object o, ref object v) => { var x = ((EdgeCollider2D)o).useAdjacentEndPoint; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((EdgeCollider2D)o).enabled = (System.Boolean)v, Getter = (o) => ((EdgeCollider2D)o).enabled, Updater = (object o, ref object v) => { var x = ((EdgeCollider2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.EventSystems.EventSystem", new UnityProperty[] {
                new UnityProperty { Name = "firstSelectedGameObject", PropertyType = typeof(UnityEngine.GameObject), Setter = (o, v) => ((UnityEngine.EventSystems.EventSystem)o).firstSelectedGameObject = (UnityEngine.GameObject)v, Getter = (o) => ((UnityEngine.EventSystems.EventSystem)o).firstSelectedGameObject, },
                new UnityProperty { Name = "sendNavigationEvents", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.EventSystems.EventSystem)o).sendNavigationEvents = (System.Boolean)v, Getter = (o) => ((UnityEngine.EventSystems.EventSystem)o).sendNavigationEvents, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.EventSystem)o).sendNavigationEvents; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "pixelDragThreshold", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.EventSystems.EventSystem)o).pixelDragThreshold = (System.Int32)v, Getter = (o) => ((UnityEngine.EventSystems.EventSystem)o).pixelDragThreshold, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.EventSystem)o).pixelDragThreshold; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.EventSystems.EventSystem)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.EventSystems.EventSystem)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.EventSystem)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.FixedJoint2D", new UnityProperty[] {
                new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((FixedJoint2D)o).enableCollision = (System.Boolean)v, Getter = (o) => ((FixedJoint2D)o).enableCollision, Updater = (object o, ref object v) => { var x = ((FixedJoint2D)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody2D), Setter = (o, v) => ((FixedJoint2D)o).connectedBody = (UnityEngine.Rigidbody2D)v, Getter = (o) => ((FixedJoint2D)o).connectedBody, },
                new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((FixedJoint2D)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((FixedJoint2D)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((FixedJoint2D)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((FixedJoint2D)o).anchor = (UnityEngine.Vector2)v, Getter = (o) => ((FixedJoint2D)o).anchor, Updater = (object o, ref object v) => { var x = ((FixedJoint2D)o).anchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((FixedJoint2D)o).connectedAnchor = (UnityEngine.Vector2)v, Getter = (o) => ((FixedJoint2D)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((FixedJoint2D)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "dampingRatio", PropertyType = typeof(System.Single), Setter = (o, v) => ((FixedJoint2D)o).dampingRatio = (System.Single)v, Getter = (o) => ((FixedJoint2D)o).dampingRatio, Updater = (object o, ref object v) => { var x = ((FixedJoint2D)o).dampingRatio; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "frequency", PropertyType = typeof(System.Single), Setter = (o, v) => ((FixedJoint2D)o).frequency = (System.Single)v, Getter = (o) => ((FixedJoint2D)o).frequency, Updater = (object o, ref object v) => { var x = ((FixedJoint2D)o).frequency; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((FixedJoint2D)o).breakForce = (System.Single)v, Getter = (o) => ((FixedJoint2D)o).breakForce, Updater = (object o, ref object v) => { var x = ((FixedJoint2D)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((FixedJoint2D)o).breakTorque = (System.Single)v, Getter = (o) => ((FixedJoint2D)o).breakTorque, Updater = (object o, ref object v) => { var x = ((FixedJoint2D)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((FixedJoint2D)o).enabled = (System.Boolean)v, Getter = (o) => ((FixedJoint2D)o).enabled, Updater = (object o, ref object v) => { var x = ((FixedJoint2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.FrictionJoint2D", new UnityProperty[] {
                new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((FrictionJoint2D)o).enableCollision = (System.Boolean)v, Getter = (o) => ((FrictionJoint2D)o).enableCollision, Updater = (object o, ref object v) => { var x = ((FrictionJoint2D)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody2D), Setter = (o, v) => ((FrictionJoint2D)o).connectedBody = (UnityEngine.Rigidbody2D)v, Getter = (o) => ((FrictionJoint2D)o).connectedBody, },
                new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((FrictionJoint2D)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((FrictionJoint2D)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((FrictionJoint2D)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((FrictionJoint2D)o).anchor = (UnityEngine.Vector2)v, Getter = (o) => ((FrictionJoint2D)o).anchor, Updater = (object o, ref object v) => { var x = ((FrictionJoint2D)o).anchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((FrictionJoint2D)o).connectedAnchor = (UnityEngine.Vector2)v, Getter = (o) => ((FrictionJoint2D)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((FrictionJoint2D)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "maxForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((FrictionJoint2D)o).maxForce = (System.Single)v, Getter = (o) => ((FrictionJoint2D)o).maxForce, Updater = (object o, ref object v) => { var x = ((FrictionJoint2D)o).maxForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "maxTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((FrictionJoint2D)o).maxTorque = (System.Single)v, Getter = (o) => ((FrictionJoint2D)o).maxTorque, Updater = (object o, ref object v) => { var x = ((FrictionJoint2D)o).maxTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((FrictionJoint2D)o).breakForce = (System.Single)v, Getter = (o) => ((FrictionJoint2D)o).breakForce, Updater = (object o, ref object v) => { var x = ((FrictionJoint2D)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((FrictionJoint2D)o).breakTorque = (System.Single)v, Getter = (o) => ((FrictionJoint2D)o).breakTorque, Updater = (object o, ref object v) => { var x = ((FrictionJoint2D)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((FrictionJoint2D)o).enabled = (System.Boolean)v, Getter = (o) => ((FrictionJoint2D)o).enabled, Updater = (object o, ref object v) => { var x = ((FrictionJoint2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.GraphicRaycaster", new UnityProperty[] {
                new UnityProperty { Name = "ignoreReversedGraphics", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.GraphicRaycaster)o).ignoreReversedGraphics = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.GraphicRaycaster)o).ignoreReversedGraphics, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.GraphicRaycaster)o).ignoreReversedGraphics; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "blockingObjects", PropertyType = typeof(UnityEngine.UI.GraphicRaycaster.BlockingObjects), Setter = (o, v) => ((UnityEngine.UI.GraphicRaycaster)o).blockingObjects = (UnityEngine.UI.GraphicRaycaster.BlockingObjects)v, Getter = (o) => ((UnityEngine.UI.GraphicRaycaster)o).blockingObjects, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.GraphicRaycaster)o).blockingObjects; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
            #if UNITY_2020_2_OR_NEWER
                new UnityProperty { Name = "blockingMask", PropertyType = typeof(UnityEngine.LayerMask), Setter = (o, v) => ((UnityEngine.UI.GraphicRaycaster)o).blockingMask = (UnityEngine.LayerMask)v, Getter = (o) => ((UnityEngine.UI.GraphicRaycaster)o).blockingMask, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.GraphicRaycaster)o).blockingMask; if (!x.Equals((UnityEngine.LayerMask)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.GraphicRaycaster)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.GraphicRaycaster)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.GraphicRaycaster)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


            { "UnityEngine.Grid", new UnityProperty[] {
                new UnityProperty { Name = "cellSize", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((Grid)o).cellSize = (UnityEngine.Vector3)v, Getter = (o) => ((Grid)o).cellSize, Updater = (object o, ref object v) => { var x = ((Grid)o).cellSize; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "cellGap", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((Grid)o).cellGap = (UnityEngine.Vector3)v, Getter = (o) => ((Grid)o).cellGap, Updater = (object o, ref object v) => { var x = ((Grid)o).cellGap; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "cellLayout", PropertyType = typeof(UnityEngine.GridLayout.CellLayout), Setter = (o, v) => ((Grid)o).cellLayout = (UnityEngine.GridLayout.CellLayout)v, Getter = (o) => ((Grid)o).cellLayout, Updater = (object o, ref object v) => { var x = (int)((Grid)o).cellLayout; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "cellSwizzle", PropertyType = typeof(UnityEngine.GridLayout.CellSwizzle), Setter = (o, v) => ((Grid)o).cellSwizzle = (UnityEngine.GridLayout.CellSwizzle)v, Getter = (o) => ((Grid)o).cellSwizzle, Updater = (object o, ref object v) => { var x = (int)((Grid)o).cellSwizzle; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Grid)o).enabled = (System.Boolean)v, Getter = (o) => ((Grid)o).enabled, Updater = (object o, ref object v) => { var x = ((Grid)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},


        #if UNITY_GUI
            { "UnityEngine.UI.GridLayoutGroup", new UnityProperty[] {
                new UnityProperty { Name = "padding", PropertyType = typeof(UnityEngine.RectOffset), Setter = (o, v) => ((UnityEngine.UI.GridLayoutGroup)o).padding = (UnityEngine.RectOffset)v, Getter = (o) => ((UnityEngine.UI.GridLayoutGroup)o).padding, },
                new UnityProperty { Name = "cellSize", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((UnityEngine.UI.GridLayoutGroup)o).cellSize = (UnityEngine.Vector2)v, Getter = (o) => ((UnityEngine.UI.GridLayoutGroup)o).cellSize, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.GridLayoutGroup)o).cellSize; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "spacing", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((UnityEngine.UI.GridLayoutGroup)o).spacing = (UnityEngine.Vector2)v, Getter = (o) => ((UnityEngine.UI.GridLayoutGroup)o).spacing, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.GridLayoutGroup)o).spacing; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "startCorner", PropertyType = typeof(UnityEngine.UI.GridLayoutGroup.Corner), Setter = (o, v) => ((UnityEngine.UI.GridLayoutGroup)o).startCorner = (UnityEngine.UI.GridLayoutGroup.Corner)v, Getter = (o) => ((UnityEngine.UI.GridLayoutGroup)o).startCorner, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.GridLayoutGroup)o).startCorner; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "startAxis", PropertyType = typeof(UnityEngine.UI.GridLayoutGroup.Axis), Setter = (o, v) => ((UnityEngine.UI.GridLayoutGroup)o).startAxis = (UnityEngine.UI.GridLayoutGroup.Axis)v, Getter = (o) => ((UnityEngine.UI.GridLayoutGroup)o).startAxis, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.GridLayoutGroup)o).startAxis; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "childAlignment", PropertyType = typeof(UnityEngine.TextAnchor), Setter = (o, v) => ((UnityEngine.UI.GridLayoutGroup)o).childAlignment = (UnityEngine.TextAnchor)v, Getter = (o) => ((UnityEngine.UI.GridLayoutGroup)o).childAlignment, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.GridLayoutGroup)o).childAlignment; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "constraint", PropertyType = typeof(UnityEngine.UI.GridLayoutGroup.Constraint), Setter = (o, v) => ((UnityEngine.UI.GridLayoutGroup)o).constraint = (UnityEngine.UI.GridLayoutGroup.Constraint)v, Getter = (o) => ((UnityEngine.UI.GridLayoutGroup)o).constraint, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.GridLayoutGroup)o).constraint; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.GridLayoutGroup)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.GridLayoutGroup)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.GridLayoutGroup)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS
            { "UnityEngine.HingeJoint", new UnityProperty[] {
                new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody), Setter = (o, v) => ((HingeJoint)o).connectedBody = (UnityEngine.Rigidbody)v, Getter = (o) => ((HingeJoint)o).connectedBody, },
            #if UNITY_2020_2_OR_NEWER
                new UnityProperty { Name = "connectedArticulationBody", PropertyType = typeof(UnityEngine.ArticulationBody), Setter = (o, v) => ((HingeJoint)o).connectedArticulationBody = (UnityEngine.ArticulationBody)v, Getter = (o) => ((HingeJoint)o).connectedArticulationBody, },
            #endif
                new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((HingeJoint)o).anchor = (UnityEngine.Vector3)v, Getter = (o) => ((HingeJoint)o).anchor, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).anchor; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "axis", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((HingeJoint)o).axis = (UnityEngine.Vector3)v, Getter = (o) => ((HingeJoint)o).axis, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).axis; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((HingeJoint)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((HingeJoint)o).connectedAnchor = (UnityEngine.Vector3)v, Getter = (o) => ((HingeJoint)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useSpring", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint)o).useSpring = (System.Boolean)v, Getter = (o) => ((HingeJoint)o).useSpring, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).useSpring; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "spring", PropertyType = typeof(UnityEngine.JointSpring), Setter = (o, v) => ((HingeJoint)o).spring = (UnityEngine.JointSpring)v, Getter = (o) => ((HingeJoint)o).spring, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).spring; if (!x.Equals((UnityEngine.JointSpring)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useMotor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint)o).useMotor = (System.Boolean)v, Getter = (o) => ((HingeJoint)o).useMotor, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).useMotor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "motor", PropertyType = typeof(UnityEngine.JointMotor), Setter = (o, v) => ((HingeJoint)o).motor = (UnityEngine.JointMotor)v, Getter = (o) => ((HingeJoint)o).motor, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).motor; if (!x.Equals((UnityEngine.JointMotor)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useLimits", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint)o).useLimits = (System.Boolean)v, Getter = (o) => ((HingeJoint)o).useLimits, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).useLimits; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "limits", PropertyType = typeof(UnityEngine.JointLimits), Setter = (o, v) => ((HingeJoint)o).limits = (UnityEngine.JointLimits)v, Getter = (o) => ((HingeJoint)o).limits, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).limits; if (!x.Equals((UnityEngine.JointLimits)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((HingeJoint)o).breakForce = (System.Single)v, Getter = (o) => ((HingeJoint)o).breakForce, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((HingeJoint)o).breakTorque = (System.Single)v, Getter = (o) => ((HingeJoint)o).breakTorque, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint)o).enableCollision = (System.Boolean)v, Getter = (o) => ((HingeJoint)o).enableCollision, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enablePreprocessing", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint)o).enablePreprocessing = (System.Boolean)v, Getter = (o) => ((HingeJoint)o).enablePreprocessing, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).enablePreprocessing; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "massScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((HingeJoint)o).massScale = (System.Single)v, Getter = (o) => ((HingeJoint)o).massScale, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).massScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedMassScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((HingeJoint)o).connectedMassScale = (System.Single)v, Getter = (o) => ((HingeJoint)o).connectedMassScale, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).connectedMassScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.HingeJoint2D", new UnityProperty[] {
                new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint2D)o).enableCollision = (System.Boolean)v, Getter = (o) => ((HingeJoint2D)o).enableCollision, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody2D), Setter = (o, v) => ((HingeJoint2D)o).connectedBody = (UnityEngine.Rigidbody2D)v, Getter = (o) => ((HingeJoint2D)o).connectedBody, },
                new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint2D)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((HingeJoint2D)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((HingeJoint2D)o).anchor = (UnityEngine.Vector2)v, Getter = (o) => ((HingeJoint2D)o).anchor, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).anchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((HingeJoint2D)o).connectedAnchor = (UnityEngine.Vector2)v, Getter = (o) => ((HingeJoint2D)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useMotor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint2D)o).useMotor = (System.Boolean)v, Getter = (o) => ((HingeJoint2D)o).useMotor, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).useMotor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "motor", PropertyType = typeof(UnityEngine.JointMotor2D), Setter = (o, v) => ((HingeJoint2D)o).motor = (UnityEngine.JointMotor2D)v, Getter = (o) => ((HingeJoint2D)o).motor, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).motor; if (!x.Equals((UnityEngine.JointMotor2D)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useLimits", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint2D)o).useLimits = (System.Boolean)v, Getter = (o) => ((HingeJoint2D)o).useLimits, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).useLimits; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "limits", PropertyType = typeof(UnityEngine.JointAngleLimits2D), Setter = (o, v) => ((HingeJoint2D)o).limits = (UnityEngine.JointAngleLimits2D)v, Getter = (o) => ((HingeJoint2D)o).limits, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).limits; if (!x.Equals((UnityEngine.JointAngleLimits2D)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((HingeJoint2D)o).breakForce = (System.Single)v, Getter = (o) => ((HingeJoint2D)o).breakForce, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((HingeJoint2D)o).breakTorque = (System.Single)v, Getter = (o) => ((HingeJoint2D)o).breakTorque, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint2D)o).enabled = (System.Boolean)v, Getter = (o) => ((HingeJoint2D)o).enabled, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.HorizontalLayoutGroup", new UnityProperty[] {
                new UnityProperty { Name = "padding", PropertyType = typeof(UnityEngine.RectOffset), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).padding = (UnityEngine.RectOffset)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).padding, },
                new UnityProperty { Name = "spacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).spacing = (System.Single)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).spacing, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.HorizontalLayoutGroup)o).spacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "childAlignment", PropertyType = typeof(UnityEngine.TextAnchor), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childAlignment = (UnityEngine.TextAnchor)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childAlignment, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.HorizontalLayoutGroup)o).childAlignment; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "childControlWidth", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childControlWidth = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childControlWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.HorizontalLayoutGroup)o).childControlWidth; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "childControlHeight", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childControlHeight = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childControlHeight, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.HorizontalLayoutGroup)o).childControlHeight; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "childScaleWidth", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childScaleWidth = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childScaleWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.HorizontalLayoutGroup)o).childScaleWidth; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "childScaleHeight", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childScaleHeight = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childScaleHeight, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.HorizontalLayoutGroup)o).childScaleHeight; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "childForceExpandWidth", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childForceExpandWidth = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childForceExpandWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.HorizontalLayoutGroup)o).childForceExpandWidth; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "childForceExpandHeight", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childForceExpandHeight = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childForceExpandHeight, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.HorizontalLayoutGroup)o).childForceExpandHeight; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.HorizontalLayoutGroup)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.VerticalLayoutGroup", new UnityProperty[] {
                new UnityProperty { Name = "padding", PropertyType = typeof(UnityEngine.RectOffset), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).padding = (UnityEngine.RectOffset)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).padding, },
                new UnityProperty { Name = "spacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).spacing = (System.Single)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).spacing, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.VerticalLayoutGroup)o).spacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "childAlignment", PropertyType = typeof(UnityEngine.TextAnchor), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).childAlignment = (UnityEngine.TextAnchor)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).childAlignment, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.VerticalLayoutGroup)o).childAlignment; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "childControlWidth", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).childControlWidth = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).childControlWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.VerticalLayoutGroup)o).childControlWidth; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "childControlHeight", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).childControlHeight = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).childControlHeight, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.VerticalLayoutGroup)o).childControlHeight; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "childScaleWidth", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).childScaleWidth = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).childScaleWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.VerticalLayoutGroup)o).childScaleWidth; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "childScaleHeight", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).childScaleHeight = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).childScaleHeight, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.VerticalLayoutGroup)o).childScaleHeight; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "childForceExpandWidth", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).childForceExpandWidth = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).childForceExpandWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.VerticalLayoutGroup)o).childForceExpandWidth; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "childForceExpandHeight", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).childForceExpandHeight = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).childForceExpandHeight, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.VerticalLayoutGroup)o).childForceExpandHeight; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.VerticalLayoutGroup)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.Image", new UnityProperty[] {
                new UnityProperty { Name = "sprite", PropertyType = typeof(UnityEngine.Sprite), Setter = (o, v) => ((UnityEngine.UI.Image)o).sprite = (UnityEngine.Sprite)v, Getter = (o) => ((UnityEngine.UI.Image)o).sprite, },
                new UnityProperty { Name = "material", PropertyType = typeof(UnityEngine.Material), Setter = (o, v) => ((UnityEngine.UI.Image)o).material = (UnityEngine.Material)v, Getter = (o) => ((UnityEngine.UI.Image)o).material, },
                new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((UnityEngine.UI.Image)o).color = (UnityEngine.Color)v, Getter = (o) => ((UnityEngine.UI.Image)o).color, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Image)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "raycastTarget", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Image)o).raycastTarget = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Image)o).raycastTarget, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Image)o).raycastTarget; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #if UNITY_2020_1_OR_NEWER
                new UnityProperty { Name = "raycastPadding", PropertyType = typeof(UnityEngine.Vector4), Setter = (o, v) => ((UnityEngine.UI.Image)o).raycastPadding = (UnityEngine.Vector4)v, Getter = (o) => ((UnityEngine.UI.Image)o).raycastPadding, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Image)o).raycastPadding; if (!x.Equals((UnityEngine.Vector4)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "maskable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Image)o).maskable = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Image)o).maskable, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Image)o).maskable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Image)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Image)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Image)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.InputField", new UnityProperty[] {
                new UnityProperty { Name = "interactable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.InputField)o).interactable = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.InputField)o).interactable, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).interactable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "transition", PropertyType = typeof(UnityEngine.UI.Selectable.Transition), Setter = (o, v) => ((UnityEngine.UI.InputField)o).transition = (UnityEngine.UI.Selectable.Transition)v, Getter = (o) => ((UnityEngine.UI.InputField)o).transition, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.InputField)o).transition; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "targetGraphic", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((UnityEngine.UI.InputField)o).targetGraphic = (UnityEngine.UI.Graphic)v, Getter = (o) => ((UnityEngine.UI.InputField)o).targetGraphic, },
                new UnityProperty { Name = "colors", PropertyType = typeof(UnityEngine.UI.ColorBlock), Setter = (o, v) => ((UnityEngine.UI.InputField)o).colors = (UnityEngine.UI.ColorBlock)v, Getter = (o) => ((UnityEngine.UI.InputField)o).colors, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).colors; if (!x.Equals((UnityEngine.UI.ColorBlock)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "navigation", PropertyType = typeof(UnityEngine.UI.Navigation), Setter = (o, v) => ((UnityEngine.UI.InputField)o).navigation = (UnityEngine.UI.Navigation)v, Getter = (o) => ((UnityEngine.UI.InputField)o).navigation, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).navigation; if (!x.Equals((UnityEngine.UI.Navigation)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "textComponent", PropertyType = typeof(UnityEngine.UI.Text), Setter = (o, v) => ((UnityEngine.UI.InputField)o).textComponent = (UnityEngine.UI.Text)v, Getter = (o) => ((UnityEngine.UI.InputField)o).textComponent, },
                new UnityProperty { Name = "text", PropertyType = typeof(System.String), Setter = (o, v) => ((UnityEngine.UI.InputField)o).text = (System.String)v, Getter = (o) => ((UnityEngine.UI.InputField)o).text, },
                new UnityProperty { Name = "characterLimit", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.UI.InputField)o).characterLimit = (System.Int32)v, Getter = (o) => ((UnityEngine.UI.InputField)o).characterLimit, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).characterLimit; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "contentType", PropertyType = typeof(UnityEngine.UI.InputField.ContentType), Setter = (o, v) => ((UnityEngine.UI.InputField)o).contentType = (UnityEngine.UI.InputField.ContentType)v, Getter = (o) => ((UnityEngine.UI.InputField)o).contentType, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.InputField)o).contentType; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "lineType", PropertyType = typeof(UnityEngine.UI.InputField.LineType), Setter = (o, v) => ((UnityEngine.UI.InputField)o).lineType = (UnityEngine.UI.InputField.LineType)v, Getter = (o) => ((UnityEngine.UI.InputField)o).lineType, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.InputField)o).lineType; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "placeholder", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((UnityEngine.UI.InputField)o).placeholder = (UnityEngine.UI.Graphic)v, Getter = (o) => ((UnityEngine.UI.InputField)o).placeholder, },
                new UnityProperty { Name = "caretBlinkRate", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.InputField)o).caretBlinkRate = (System.Single)v, Getter = (o) => ((UnityEngine.UI.InputField)o).caretBlinkRate, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).caretBlinkRate; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "caretWidth", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.UI.InputField)o).caretWidth = (System.Int32)v, Getter = (o) => ((UnityEngine.UI.InputField)o).caretWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).caretWidth; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "customCaretColor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.InputField)o).customCaretColor = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.InputField)o).customCaretColor, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).customCaretColor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "selectionColor", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((UnityEngine.UI.InputField)o).selectionColor = (UnityEngine.Color)v, Getter = (o) => ((UnityEngine.UI.InputField)o).selectionColor, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).selectionColor; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "shouldHideMobileInput", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.InputField)o).shouldHideMobileInput = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.InputField)o).shouldHideMobileInput, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).shouldHideMobileInput; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "readOnly", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.InputField)o).readOnly = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.InputField)o).readOnly, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).readOnly; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #if UNITY_2020_3_OR_NEWER
                new UnityProperty { Name = "shouldActivateOnSelect", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.InputField)o).shouldActivateOnSelect = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.InputField)o).shouldActivateOnSelect, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).shouldActivateOnSelect; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.InputField)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.InputField)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.LayoutElement", new UnityProperty[] {
                new UnityProperty { Name = "ignoreLayout", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.LayoutElement)o).ignoreLayout = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.LayoutElement)o).ignoreLayout, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.LayoutElement)o).ignoreLayout; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "minWidth", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.LayoutElement)o).minWidth = (System.Single)v, Getter = (o) => ((UnityEngine.UI.LayoutElement)o).minWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.LayoutElement)o).minWidth; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "minHeight", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.LayoutElement)o).minHeight = (System.Single)v, Getter = (o) => ((UnityEngine.UI.LayoutElement)o).minHeight, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.LayoutElement)o).minHeight; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "preferredWidth", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.LayoutElement)o).preferredWidth = (System.Single)v, Getter = (o) => ((UnityEngine.UI.LayoutElement)o).preferredWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.LayoutElement)o).preferredWidth; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "preferredHeight", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.LayoutElement)o).preferredHeight = (System.Single)v, Getter = (o) => ((UnityEngine.UI.LayoutElement)o).preferredHeight, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.LayoutElement)o).preferredHeight; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "flexibleWidth", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.LayoutElement)o).flexibleWidth = (System.Single)v, Getter = (o) => ((UnityEngine.UI.LayoutElement)o).flexibleWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.LayoutElement)o).flexibleWidth; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "flexibleHeight", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.LayoutElement)o).flexibleHeight = (System.Single)v, Getter = (o) => ((UnityEngine.UI.LayoutElement)o).flexibleHeight, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.LayoutElement)o).flexibleHeight; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "layoutPriority", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.UI.LayoutElement)o).layoutPriority = (System.Int32)v, Getter = (o) => ((UnityEngine.UI.LayoutElement)o).layoutPriority, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.LayoutElement)o).layoutPriority; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.LayoutElement)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.LayoutElement)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.LayoutElement)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


            { "UnityEngine.LensFlare", new UnityProperty[] {
                new UnityProperty { Name = "flare", PropertyType = typeof(UnityEngine.Flare), Setter = (o, v) => ((LensFlare)o).flare = (UnityEngine.Flare)v, Getter = (o) => ((LensFlare)o).flare, },
                new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((LensFlare)o).color = (UnityEngine.Color)v, Getter = (o) => ((LensFlare)o).color, Updater = (object o, ref object v) => { var x = ((LensFlare)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "brightness", PropertyType = typeof(System.Single), Setter = (o, v) => ((LensFlare)o).brightness = (System.Single)v, Getter = (o) => ((LensFlare)o).brightness, Updater = (object o, ref object v) => { var x = ((LensFlare)o).brightness; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "fadeSpeed", PropertyType = typeof(System.Single), Setter = (o, v) => ((LensFlare)o).fadeSpeed = (System.Single)v, Getter = (o) => ((LensFlare)o).fadeSpeed, Updater = (object o, ref object v) => { var x = ((LensFlare)o).fadeSpeed; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((LensFlare)o).enabled = (System.Boolean)v, Getter = (o) => ((LensFlare)o).enabled, Updater = (object o, ref object v) => { var x = ((LensFlare)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},


            { "UnityEngine.Light", new UnityProperty[] {
                new UnityProperty { Name = "type", PropertyType = typeof(UnityEngine.LightType), Setter = (o, v) => ((Light)o).type = (UnityEngine.LightType)v, Getter = (o) => ((Light)o).type, Updater = (object o, ref object v) => { var x = (int)((Light)o).type; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "range", PropertyType = typeof(System.Single), Setter = (o, v) => ((Light)o).range = (System.Single)v, Getter = (o) => ((Light)o).range, Updater = (object o, ref object v) => { var x = ((Light)o).range; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "spotAngle", PropertyType = typeof(System.Single), Setter = (o, v) => ((Light)o).spotAngle = (System.Single)v, Getter = (o) => ((Light)o).spotAngle, Updater = (object o, ref object v) => { var x = ((Light)o).spotAngle; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((Light)o).color = (UnityEngine.Color)v, Getter = (o) => ((Light)o).color, Updater = (object o, ref object v) => { var x = ((Light)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "intensity", PropertyType = typeof(System.Single), Setter = (o, v) => ((Light)o).intensity = (System.Single)v, Getter = (o) => ((Light)o).intensity, Updater = (object o, ref object v) => { var x = ((Light)o).intensity; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "bounceIntensity", PropertyType = typeof(System.Single), Setter = (o, v) => ((Light)o).bounceIntensity = (System.Single)v, Getter = (o) => ((Light)o).bounceIntensity, Updater = (object o, ref object v) => { var x = ((Light)o).bounceIntensity; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "shadows", PropertyType = typeof(UnityEngine.LightShadows), Setter = (o, v) => ((Light)o).shadows = (UnityEngine.LightShadows)v, Getter = (o) => ((Light)o).shadows, Updater = (object o, ref object v) => { var x = (int)((Light)o).shadows; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "cookie", PropertyType = typeof(UnityEngine.Texture), Setter = (o, v) => ((Light)o).cookie = (UnityEngine.Texture)v, Getter = (o) => ((Light)o).cookie, },
                new UnityProperty { Name = "flare", PropertyType = typeof(UnityEngine.Flare), Setter = (o, v) => ((Light)o).flare = (UnityEngine.Flare)v, Getter = (o) => ((Light)o).flare, },
                new UnityProperty { Name = "renderMode", PropertyType = typeof(UnityEngine.LightRenderMode), Setter = (o, v) => ((Light)o).renderMode = (UnityEngine.LightRenderMode)v, Getter = (o) => ((Light)o).renderMode, Updater = (object o, ref object v) => { var x = (int)((Light)o).renderMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "cullingMask", PropertyType = typeof(System.Int32), Setter = (o, v) => ((Light)o).cullingMask = (System.Int32)v, Getter = (o) => ((Light)o).cullingMask, Updater = (object o, ref object v) => { var x = ((Light)o).cullingMask; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Light)o).enabled = (System.Boolean)v, Getter = (o) => ((Light)o).enabled, Updater = (object o, ref object v) => { var x = ((Light)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},


            { "UnityEngine.LightProbeProxyVolume", new UnityProperty[] {
                new UnityProperty { Name = "refreshMode", PropertyType = typeof(UnityEngine.LightProbeProxyVolume.RefreshMode), Setter = (o, v) => ((LightProbeProxyVolume)o).refreshMode = (UnityEngine.LightProbeProxyVolume.RefreshMode)v, Getter = (o) => ((LightProbeProxyVolume)o).refreshMode, Updater = (object o, ref object v) => { var x = (int)((LightProbeProxyVolume)o).refreshMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "qualityMode", PropertyType = typeof(UnityEngine.LightProbeProxyVolume.QualityMode), Setter = (o, v) => ((LightProbeProxyVolume)o).qualityMode = (UnityEngine.LightProbeProxyVolume.QualityMode)v, Getter = (o) => ((LightProbeProxyVolume)o).qualityMode, Updater = (object o, ref object v) => { var x = (int)((LightProbeProxyVolume)o).qualityMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
            #if UNITY_2020_2_OR_NEWER
                new UnityProperty { Name = "dataFormat", PropertyType = typeof(UnityEngine.LightProbeProxyVolume.DataFormat), Setter = (o, v) => ((LightProbeProxyVolume)o).dataFormat = (UnityEngine.LightProbeProxyVolume.DataFormat)v, Getter = (o) => ((LightProbeProxyVolume)o).dataFormat, Updater = (object o, ref object v) => { var x = (int)((LightProbeProxyVolume)o).dataFormat; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "boundingBoxMode", PropertyType = typeof(UnityEngine.LightProbeProxyVolume.BoundingBoxMode), Setter = (o, v) => ((LightProbeProxyVolume)o).boundingBoxMode = (UnityEngine.LightProbeProxyVolume.BoundingBoxMode)v, Getter = (o) => ((LightProbeProxyVolume)o).boundingBoxMode, Updater = (object o, ref object v) => { var x = (int)((LightProbeProxyVolume)o).boundingBoxMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "resolutionMode", PropertyType = typeof(UnityEngine.LightProbeProxyVolume.ResolutionMode), Setter = (o, v) => ((LightProbeProxyVolume)o).resolutionMode = (UnityEngine.LightProbeProxyVolume.ResolutionMode)v, Getter = (o) => ((LightProbeProxyVolume)o).resolutionMode, Updater = (object o, ref object v) => { var x = (int)((LightProbeProxyVolume)o).resolutionMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "probeDensity", PropertyType = typeof(System.Single), Setter = (o, v) => ((LightProbeProxyVolume)o).probeDensity = (System.Single)v, Getter = (o) => ((LightProbeProxyVolume)o).probeDensity, Updater = (object o, ref object v) => { var x = ((LightProbeProxyVolume)o).probeDensity; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "probePositionMode", PropertyType = typeof(UnityEngine.LightProbeProxyVolume.ProbePositionMode), Setter = (o, v) => ((LightProbeProxyVolume)o).probePositionMode = (UnityEngine.LightProbeProxyVolume.ProbePositionMode)v, Getter = (o) => ((LightProbeProxyVolume)o).probePositionMode, Updater = (object o, ref object v) => { var x = (int)((LightProbeProxyVolume)o).probePositionMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((LightProbeProxyVolume)o).enabled = (System.Boolean)v, Getter = (o) => ((LightProbeProxyVolume)o).enabled, Updater = (object o, ref object v) => { var x = ((LightProbeProxyVolume)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},


            { "UnityEngine.LineRenderer", new UnityProperty[] {
                new UnityProperty { Name = "loop", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((LineRenderer)o).loop = (System.Boolean)v, Getter = (o) => ((LineRenderer)o).loop, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).loop; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "startColor", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((LineRenderer)o).startColor = (UnityEngine.Color)v, Getter = (o) => ((LineRenderer)o).startColor, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).startColor; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "endColor", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((LineRenderer)o).endColor = (UnityEngine.Color)v, Getter = (o) => ((LineRenderer)o).endColor, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).endColor; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "numCornerVertices", PropertyType = typeof(System.Int32), Setter = (o, v) => ((LineRenderer)o).numCornerVertices = (System.Int32)v, Getter = (o) => ((LineRenderer)o).numCornerVertices, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).numCornerVertices; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "numCapVertices", PropertyType = typeof(System.Int32), Setter = (o, v) => ((LineRenderer)o).numCapVertices = (System.Int32)v, Getter = (o) => ((LineRenderer)o).numCapVertices, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).numCapVertices; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "alignment", PropertyType = typeof(UnityEngine.LineAlignment), Setter = (o, v) => ((LineRenderer)o).alignment = (UnityEngine.LineAlignment)v, Getter = (o) => ((LineRenderer)o).alignment, Updater = (object o, ref object v) => { var x = (int)((LineRenderer)o).alignment; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "textureMode", PropertyType = typeof(UnityEngine.LineTextureMode), Setter = (o, v) => ((LineRenderer)o).textureMode = (UnityEngine.LineTextureMode)v, Getter = (o) => ((LineRenderer)o).textureMode, Updater = (object o, ref object v) => { var x = (int)((LineRenderer)o).textureMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "shadowBias", PropertyType = typeof(System.Single), Setter = (o, v) => ((LineRenderer)o).shadowBias = (System.Single)v, Getter = (o) => ((LineRenderer)o).shadowBias, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).shadowBias; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "generateLightingData", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((LineRenderer)o).generateLightingData = (System.Boolean)v, Getter = (o) => ((LineRenderer)o).generateLightingData, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).generateLightingData; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useWorldSpace", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((LineRenderer)o).useWorldSpace = (System.Boolean)v, Getter = (o) => ((LineRenderer)o).useWorldSpace, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).useWorldSpace; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sharedMaterials", PropertyType = typeof(UnityEngine.Material[]), Setter = (o, v) => ((LineRenderer)o).sharedMaterials = (UnityEngine.Material[])v, Getter = (o) => ((LineRenderer)o).sharedMaterials, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).sharedMaterials; if (x.Length != ((UnityEngine.Material[])v).Length) { v = x; return true; } else { v = x; return false; }} },
                new UnityProperty { Name = "shadowCastingMode", PropertyType = typeof(UnityEngine.Rendering.ShadowCastingMode), Setter = (o, v) => ((LineRenderer)o).shadowCastingMode = (UnityEngine.Rendering.ShadowCastingMode)v, Getter = (o) => ((LineRenderer)o).shadowCastingMode, Updater = (object o, ref object v) => { var x = (int)((LineRenderer)o).shadowCastingMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "receiveShadows", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((LineRenderer)o).receiveShadows = (System.Boolean)v, Getter = (o) => ((LineRenderer)o).receiveShadows, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).receiveShadows; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "lightProbeUsage", PropertyType = typeof(UnityEngine.Rendering.LightProbeUsage), Setter = (o, v) => ((LineRenderer)o).lightProbeUsage = (UnityEngine.Rendering.LightProbeUsage)v, Getter = (o) => ((LineRenderer)o).lightProbeUsage, Updater = (object o, ref object v) => { var x = (int)((LineRenderer)o).lightProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "reflectionProbeUsage", PropertyType = typeof(UnityEngine.Rendering.ReflectionProbeUsage), Setter = (o, v) => ((LineRenderer)o).reflectionProbeUsage = (UnityEngine.Rendering.ReflectionProbeUsage)v, Getter = (o) => ((LineRenderer)o).reflectionProbeUsage, Updater = (object o, ref object v) => { var x = (int)((LineRenderer)o).reflectionProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "motionVectorGenerationMode", PropertyType = typeof(UnityEngine.MotionVectorGenerationMode), Setter = (o, v) => ((LineRenderer)o).motionVectorGenerationMode = (UnityEngine.MotionVectorGenerationMode)v, Getter = (o) => ((LineRenderer)o).motionVectorGenerationMode, Updater = (object o, ref object v) => { var x = (int)((LineRenderer)o).motionVectorGenerationMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "allowOcclusionWhenDynamic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((LineRenderer)o).allowOcclusionWhenDynamic = (System.Boolean)v, Getter = (o) => ((LineRenderer)o).allowOcclusionWhenDynamic, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).allowOcclusionWhenDynamic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sortingLayerID", PropertyType = typeof(System.Int32), Setter = (o, v) => ((LineRenderer)o).sortingLayerID = (System.Int32)v, Getter = (o) => ((LineRenderer)o).sortingLayerID, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).sortingLayerID; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sortingOrder", PropertyType = typeof(System.Int32), Setter = (o, v) => ((LineRenderer)o).sortingOrder = (System.Int32)v, Getter = (o) => ((LineRenderer)o).sortingOrder, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).sortingOrder; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((LineRenderer)o).enabled = (System.Boolean)v, Getter = (o) => ((LineRenderer)o).enabled, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},


        #if UNITY_ANIMATION
            { "UnityEngine.Animations.LookAtConstraint", new UnityProperty[] {
                new UnityProperty { Name = "constraintActive", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.LookAtConstraint)o).constraintActive = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.LookAtConstraint)o).constraintActive, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.LookAtConstraint)o).constraintActive; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "weight", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Animations.LookAtConstraint)o).weight = (System.Single)v, Getter = (o) => ((UnityEngine.Animations.LookAtConstraint)o).weight, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.LookAtConstraint)o).weight; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useUpObject", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.LookAtConstraint)o).useUpObject = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.LookAtConstraint)o).useUpObject, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.LookAtConstraint)o).useUpObject; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "roll", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Animations.LookAtConstraint)o).roll = (System.Single)v, Getter = (o) => ((UnityEngine.Animations.LookAtConstraint)o).roll, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.LookAtConstraint)o).roll; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "worldUpObject", PropertyType = typeof(UnityEngine.Transform), Setter = (o, v) => ((UnityEngine.Animations.LookAtConstraint)o).worldUpObject = (UnityEngine.Transform)v, Getter = (o) => ((UnityEngine.Animations.LookAtConstraint)o).worldUpObject, },
                new UnityProperty { Name = "locked", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.LookAtConstraint)o).locked = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.LookAtConstraint)o).locked, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.LookAtConstraint)o).locked; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "rotationAtRest", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.LookAtConstraint)o).rotationAtRest = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.LookAtConstraint)o).rotationAtRest, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.LookAtConstraint)o).rotationAtRest; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "rotationOffset", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.LookAtConstraint)o).rotationOffset = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.LookAtConstraint)o).rotationOffset, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.LookAtConstraint)o).rotationOffset; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.LookAtConstraint)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.LookAtConstraint)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.LookAtConstraint)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.Mask", new UnityProperty[] {
                new UnityProperty { Name = "showMaskGraphic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Mask)o).showMaskGraphic = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Mask)o).showMaskGraphic, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Mask)o).showMaskGraphic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Mask)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Mask)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Mask)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS
            { "UnityEngine.MeshCollider", new UnityProperty[] {
                new UnityProperty { Name = "convex", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((MeshCollider)o).convex = (System.Boolean)v, Getter = (o) => ((MeshCollider)o).convex, Updater = (object o, ref object v) => { var x = ((MeshCollider)o).convex; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((MeshCollider)o).isTrigger = (System.Boolean)v, Getter = (o) => ((MeshCollider)o).isTrigger, Updater = (object o, ref object v) => { var x = ((MeshCollider)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "cookingOptions", PropertyType = typeof(UnityEngine.MeshColliderCookingOptions), Setter = (o, v) => ((MeshCollider)o).cookingOptions = (UnityEngine.MeshColliderCookingOptions)v, Getter = (o) => ((MeshCollider)o).cookingOptions, Updater = (object o, ref object v) => { var x = (int)((MeshCollider)o).cookingOptions; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
            #if !UNITY_6000_0_OR_NEWER
                new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicMaterial), Setter = (o, v) => ((MeshCollider)o).sharedMaterial = (PhysicMaterial)v, Getter = (o) => ((MeshCollider)o).sharedMaterial, },
            #endif
            #if UNITY_6000_0_OR_NEWER
                new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicsMaterial), Setter = (o, v) => ((MeshCollider)o).sharedMaterial = (PhysicsMaterial)v, Getter = (o) => ((MeshCollider)o).sharedMaterial, },
            #endif
                new UnityProperty { Name = "sharedMesh", PropertyType = typeof(UnityEngine.Mesh), Setter = (o, v) => ((MeshCollider)o).sharedMesh = (UnityEngine.Mesh)v, Getter = (o) => ((MeshCollider)o).sharedMesh, },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((MeshCollider)o).enabled = (System.Boolean)v, Getter = (o) => ((MeshCollider)o).enabled, Updater = (object o, ref object v) => { var x = ((MeshCollider)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


            { "UnityEngine.MeshFilter", new UnityProperty[] {
                new UnityProperty { Name = "sharedMesh", PropertyType = typeof(UnityEngine.Mesh), Setter = (o, v) => ((MeshFilter)o).sharedMesh = (UnityEngine.Mesh)v, Getter = (o) => ((MeshFilter)o).sharedMesh, },
            }},


            { "UnityEngine.MeshRenderer", new UnityProperty[] {
                new UnityProperty { Name = "sharedMaterials", PropertyType = typeof(UnityEngine.Material[]), Setter = (o, v) => ((MeshRenderer)o).sharedMaterials = (UnityEngine.Material[])v, Getter = (o) => ((MeshRenderer)o).sharedMaterials, Updater = (object o, ref object v) => { var x = ((MeshRenderer)o).sharedMaterials; if (x.Length != ((UnityEngine.Material[])v).Length) { v = x; return true; } else { v = x; return false; }} },
                new UnityProperty { Name = "shadowCastingMode", PropertyType = typeof(UnityEngine.Rendering.ShadowCastingMode), Setter = (o, v) => ((MeshRenderer)o).shadowCastingMode = (UnityEngine.Rendering.ShadowCastingMode)v, Getter = (o) => ((MeshRenderer)o).shadowCastingMode, Updater = (object o, ref object v) => { var x = (int)((MeshRenderer)o).shadowCastingMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "receiveShadows", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((MeshRenderer)o).receiveShadows = (System.Boolean)v, Getter = (o) => ((MeshRenderer)o).receiveShadows, Updater = (object o, ref object v) => { var x = ((MeshRenderer)o).receiveShadows; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "lightProbeUsage", PropertyType = typeof(UnityEngine.Rendering.LightProbeUsage), Setter = (o, v) => ((MeshRenderer)o).lightProbeUsage = (UnityEngine.Rendering.LightProbeUsage)v, Getter = (o) => ((MeshRenderer)o).lightProbeUsage, Updater = (object o, ref object v) => { var x = (int)((MeshRenderer)o).lightProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "reflectionProbeUsage", PropertyType = typeof(UnityEngine.Rendering.ReflectionProbeUsage), Setter = (o, v) => ((MeshRenderer)o).reflectionProbeUsage = (UnityEngine.Rendering.ReflectionProbeUsage)v, Getter = (o) => ((MeshRenderer)o).reflectionProbeUsage, Updater = (object o, ref object v) => { var x = (int)((MeshRenderer)o).reflectionProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "probeAnchor", PropertyType = typeof(UnityEngine.Transform), Setter = (o, v) => ((MeshRenderer)o).probeAnchor = (UnityEngine.Transform)v, Getter = (o) => ((MeshRenderer)o).probeAnchor, },
                new UnityProperty { Name = "motionVectorGenerationMode", PropertyType = typeof(UnityEngine.MotionVectorGenerationMode), Setter = (o, v) => ((MeshRenderer)o).motionVectorGenerationMode = (UnityEngine.MotionVectorGenerationMode)v, Getter = (o) => ((MeshRenderer)o).motionVectorGenerationMode, Updater = (object o, ref object v) => { var x = (int)((MeshRenderer)o).motionVectorGenerationMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "allowOcclusionWhenDynamic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((MeshRenderer)o).allowOcclusionWhenDynamic = (System.Boolean)v, Getter = (o) => ((MeshRenderer)o).allowOcclusionWhenDynamic, Updater = (object o, ref object v) => { var x = ((MeshRenderer)o).allowOcclusionWhenDynamic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((MeshRenderer)o).enabled = (System.Boolean)v, Getter = (o) => ((MeshRenderer)o).enabled, Updater = (object o, ref object v) => { var x = ((MeshRenderer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},


        #if UNITY_AI
            { "UnityEngine.AI.NavMeshAgent", new UnityProperty[] {
                new UnityProperty { Name = "agentTypeID", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).agentTypeID = (System.Int32)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).agentTypeID, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).agentTypeID; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "baseOffset", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).baseOffset = (System.Single)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).baseOffset, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).baseOffset; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "speed", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).speed = (System.Single)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).speed, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).speed; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "angularSpeed", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).angularSpeed = (System.Single)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).angularSpeed, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).angularSpeed; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "acceleration", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).acceleration = (System.Single)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).acceleration, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).acceleration; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "stoppingDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).stoppingDistance = (System.Single)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).stoppingDistance, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).stoppingDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "autoBraking", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).autoBraking = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).autoBraking, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).autoBraking; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "radius", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).radius = (System.Single)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).radius, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).radius; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "height", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).height = (System.Single)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).height, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).height; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "obstacleAvoidanceType", PropertyType = typeof(UnityEngine.AI.ObstacleAvoidanceType), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).obstacleAvoidanceType = (UnityEngine.AI.ObstacleAvoidanceType)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).obstacleAvoidanceType, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.AI.NavMeshAgent)o).obstacleAvoidanceType; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "avoidancePriority", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).avoidancePriority = (System.Int32)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).avoidancePriority, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).avoidancePriority; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "autoTraverseOffMeshLink", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).autoTraverseOffMeshLink = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).autoTraverseOffMeshLink, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).autoTraverseOffMeshLink; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "autoRepath", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).autoRepath = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).autoRepath, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).autoRepath; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "areaMask", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).areaMask = (System.Int32)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).areaMask, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).areaMask; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_AI
            { "UnityEngine.AI.NavMeshObstacle", new UnityProperty[] {
                new UnityProperty { Name = "shape", PropertyType = typeof(UnityEngine.AI.NavMeshObstacleShape), Setter = (o, v) => ((UnityEngine.AI.NavMeshObstacle)o).shape = (UnityEngine.AI.NavMeshObstacleShape)v, Getter = (o) => ((UnityEngine.AI.NavMeshObstacle)o).shape, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.AI.NavMeshObstacle)o).shape; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "center", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.AI.NavMeshObstacle)o).center = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.AI.NavMeshObstacle)o).center, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshObstacle)o).center; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "size", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.AI.NavMeshObstacle)o).size = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.AI.NavMeshObstacle)o).size, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshObstacle)o).size; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "carving", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.NavMeshObstacle)o).carving = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.NavMeshObstacle)o).carving, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshObstacle)o).carving; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.NavMeshObstacle)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.NavMeshObstacle)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshObstacle)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


            { "UnityEngine.OcclusionArea", new UnityProperty[] {
                new UnityProperty { Name = "size", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((OcclusionArea)o).size = (UnityEngine.Vector3)v, Getter = (o) => ((OcclusionArea)o).size, Updater = (object o, ref object v) => { var x = ((OcclusionArea)o).size; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "center", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((OcclusionArea)o).center = (UnityEngine.Vector3)v, Getter = (o) => ((OcclusionArea)o).center, Updater = (object o, ref object v) => { var x = ((OcclusionArea)o).center; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
            }},


            { "UnityEngine.OcclusionPortal", new UnityProperty[] {
                new UnityProperty { Name = "open", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((OcclusionPortal)o).open = (System.Boolean)v, Getter = (o) => ((OcclusionPortal)o).open, Updater = (object o, ref object v) => { var x = ((OcclusionPortal)o).open; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},


        #if UNITY_AI&&!UNITY_2023_2_OR_NEWER
            { "UnityEngine.AI.OffMeshLink", new UnityProperty[] {
                new UnityProperty { Name = "startTransform", PropertyType = typeof(UnityEngine.Transform), Setter = (o, v) => ((UnityEngine.AI.OffMeshLink)o).startTransform = (UnityEngine.Transform)v, Getter = (o) => ((UnityEngine.AI.OffMeshLink)o).startTransform, },
                new UnityProperty { Name = "endTransform", PropertyType = typeof(UnityEngine.Transform), Setter = (o, v) => ((UnityEngine.AI.OffMeshLink)o).endTransform = (UnityEngine.Transform)v, Getter = (o) => ((UnityEngine.AI.OffMeshLink)o).endTransform, },
                new UnityProperty { Name = "costOverride", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.AI.OffMeshLink)o).costOverride = (System.Single)v, Getter = (o) => ((UnityEngine.AI.OffMeshLink)o).costOverride, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.OffMeshLink)o).costOverride; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "biDirectional", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.OffMeshLink)o).biDirectional = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.OffMeshLink)o).biDirectional, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.OffMeshLink)o).biDirectional; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "activated", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.OffMeshLink)o).activated = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.OffMeshLink)o).activated, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.OffMeshLink)o).activated; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "autoUpdatePositions", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.OffMeshLink)o).autoUpdatePositions = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.OffMeshLink)o).autoUpdatePositions, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.OffMeshLink)o).autoUpdatePositions; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "area", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.AI.OffMeshLink)o).area = (System.Int32)v, Getter = (o) => ((UnityEngine.AI.OffMeshLink)o).area, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.OffMeshLink)o).area; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.OffMeshLink)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.OffMeshLink)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.OffMeshLink)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.Outline", new UnityProperty[] {
                new UnityProperty { Name = "effectColor", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((UnityEngine.UI.Outline)o).effectColor = (UnityEngine.Color)v, Getter = (o) => ((UnityEngine.UI.Outline)o).effectColor, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Outline)o).effectColor; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "effectDistance", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((UnityEngine.UI.Outline)o).effectDistance = (UnityEngine.Vector2)v, Getter = (o) => ((UnityEngine.UI.Outline)o).effectDistance, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Outline)o).effectDistance; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useGraphicAlpha", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Outline)o).useGraphicAlpha = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Outline)o).useGraphicAlpha, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Outline)o).useGraphicAlpha; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Outline)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Outline)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Outline)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_ANIMATION
            { "UnityEngine.Animations.ParentConstraint", new UnityProperty[] {
                new UnityProperty { Name = "constraintActive", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).constraintActive = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).constraintActive, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ParentConstraint)o).constraintActive; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "weight", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).weight = (System.Single)v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).weight, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ParentConstraint)o).weight; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "locked", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).locked = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).locked, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ParentConstraint)o).locked; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "translationAtRest", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).translationAtRest = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).translationAtRest, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ParentConstraint)o).translationAtRest; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "rotationAtRest", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).rotationAtRest = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).rotationAtRest, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ParentConstraint)o).rotationAtRest; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "translationOffsets", PropertyType = typeof(UnityEngine.Vector3[]), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).translationOffsets = (UnityEngine.Vector3[])v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).translationOffsets, },
                new UnityProperty { Name = "rotationOffsets", PropertyType = typeof(UnityEngine.Vector3[]), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).rotationOffsets = (UnityEngine.Vector3[])v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).rotationOffsets, },
                new UnityProperty { Name = "translationAxis", PropertyType = typeof(UnityEngine.Animations.Axis), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).translationAxis = (UnityEngine.Animations.Axis)v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).translationAxis, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Animations.ParentConstraint)o).translationAxis; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "rotationAxis", PropertyType = typeof(UnityEngine.Animations.Axis), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).rotationAxis = (UnityEngine.Animations.Axis)v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).rotationAxis, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Animations.ParentConstraint)o).rotationAxis; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ParentConstraint)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PARTICLE_SYSTEM
            { "UnityEngine.ParticleSystemForceField", new UnityProperty[] {
                new UnityProperty { Name = "shape", PropertyType = typeof(UnityEngine.ParticleSystemForceFieldShape), Setter = (o, v) => ((ParticleSystemForceField)o).shape = (UnityEngine.ParticleSystemForceFieldShape)v, Getter = (o) => ((ParticleSystemForceField)o).shape, Updater = (object o, ref object v) => { var x = (int)((ParticleSystemForceField)o).shape; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "startRange", PropertyType = typeof(System.Single), Setter = (o, v) => ((ParticleSystemForceField)o).startRange = (System.Single)v, Getter = (o) => ((ParticleSystemForceField)o).startRange, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).startRange; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "endRange", PropertyType = typeof(System.Single), Setter = (o, v) => ((ParticleSystemForceField)o).endRange = (System.Single)v, Getter = (o) => ((ParticleSystemForceField)o).endRange, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).endRange; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "directionX", PropertyType = typeof(UnityEngine.ParticleSystem.MinMaxCurve), Setter = (o, v) => ((ParticleSystemForceField)o).directionX = (UnityEngine.ParticleSystem.MinMaxCurve)v, Getter = (o) => ((ParticleSystemForceField)o).directionX, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).directionX; if (!x.Equals((UnityEngine.ParticleSystem.MinMaxCurve)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "directionY", PropertyType = typeof(UnityEngine.ParticleSystem.MinMaxCurve), Setter = (o, v) => ((ParticleSystemForceField)o).directionY = (UnityEngine.ParticleSystem.MinMaxCurve)v, Getter = (o) => ((ParticleSystemForceField)o).directionY, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).directionY; if (!x.Equals((UnityEngine.ParticleSystem.MinMaxCurve)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "directionZ", PropertyType = typeof(UnityEngine.ParticleSystem.MinMaxCurve), Setter = (o, v) => ((ParticleSystemForceField)o).directionZ = (UnityEngine.ParticleSystem.MinMaxCurve)v, Getter = (o) => ((ParticleSystemForceField)o).directionZ, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).directionZ; if (!x.Equals((UnityEngine.ParticleSystem.MinMaxCurve)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "gravity", PropertyType = typeof(UnityEngine.ParticleSystem.MinMaxCurve), Setter = (o, v) => ((ParticleSystemForceField)o).gravity = (UnityEngine.ParticleSystem.MinMaxCurve)v, Getter = (o) => ((ParticleSystemForceField)o).gravity, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).gravity; if (!x.Equals((UnityEngine.ParticleSystem.MinMaxCurve)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "gravityFocus", PropertyType = typeof(System.Single), Setter = (o, v) => ((ParticleSystemForceField)o).gravityFocus = (System.Single)v, Getter = (o) => ((ParticleSystemForceField)o).gravityFocus, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).gravityFocus; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "rotationSpeed", PropertyType = typeof(UnityEngine.ParticleSystem.MinMaxCurve), Setter = (o, v) => ((ParticleSystemForceField)o).rotationSpeed = (UnityEngine.ParticleSystem.MinMaxCurve)v, Getter = (o) => ((ParticleSystemForceField)o).rotationSpeed, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).rotationSpeed; if (!x.Equals((UnityEngine.ParticleSystem.MinMaxCurve)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "rotationAttraction", PropertyType = typeof(UnityEngine.ParticleSystem.MinMaxCurve), Setter = (o, v) => ((ParticleSystemForceField)o).rotationAttraction = (UnityEngine.ParticleSystem.MinMaxCurve)v, Getter = (o) => ((ParticleSystemForceField)o).rotationAttraction, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).rotationAttraction; if (!x.Equals((UnityEngine.ParticleSystem.MinMaxCurve)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "rotationRandomness", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((ParticleSystemForceField)o).rotationRandomness = (UnityEngine.Vector2)v, Getter = (o) => ((ParticleSystemForceField)o).rotationRandomness, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).rotationRandomness; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "drag", PropertyType = typeof(UnityEngine.ParticleSystem.MinMaxCurve), Setter = (o, v) => ((ParticleSystemForceField)o).drag = (UnityEngine.ParticleSystem.MinMaxCurve)v, Getter = (o) => ((ParticleSystemForceField)o).drag, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).drag; if (!x.Equals((UnityEngine.ParticleSystem.MinMaxCurve)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "multiplyDragByParticleSize", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ParticleSystemForceField)o).multiplyDragByParticleSize = (System.Boolean)v, Getter = (o) => ((ParticleSystemForceField)o).multiplyDragByParticleSize, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).multiplyDragByParticleSize; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "multiplyDragByParticleVelocity", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ParticleSystemForceField)o).multiplyDragByParticleVelocity = (System.Boolean)v, Getter = (o) => ((ParticleSystemForceField)o).multiplyDragByParticleVelocity, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).multiplyDragByParticleVelocity; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "vectorField", PropertyType = typeof(UnityEngine.Texture3D), Setter = (o, v) => ((ParticleSystemForceField)o).vectorField = (UnityEngine.Texture3D)v, Getter = (o) => ((ParticleSystemForceField)o).vectorField, },
                new UnityProperty { Name = "vectorFieldSpeed", PropertyType = typeof(UnityEngine.ParticleSystem.MinMaxCurve), Setter = (o, v) => ((ParticleSystemForceField)o).vectorFieldSpeed = (UnityEngine.ParticleSystem.MinMaxCurve)v, Getter = (o) => ((ParticleSystemForceField)o).vectorFieldSpeed, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).vectorFieldSpeed; if (!x.Equals((UnityEngine.ParticleSystem.MinMaxCurve)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "vectorFieldAttraction", PropertyType = typeof(UnityEngine.ParticleSystem.MinMaxCurve), Setter = (o, v) => ((ParticleSystemForceField)o).vectorFieldAttraction = (UnityEngine.ParticleSystem.MinMaxCurve)v, Getter = (o) => ((ParticleSystemForceField)o).vectorFieldAttraction, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).vectorFieldAttraction; if (!x.Equals((UnityEngine.ParticleSystem.MinMaxCurve)v)) { v = x; return true; } return false; } },
            #if UNITY_2021_3_OR_NEWER
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ParticleSystemForceField)o).enabled = (System.Boolean)v, Getter = (o) => ((ParticleSystemForceField)o).enabled, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #endif
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.EventSystems.Physics2DRaycaster", new UnityProperty[] {
                new UnityProperty { Name = "eventMask", PropertyType = typeof(UnityEngine.LayerMask), Setter = (o, v) => ((UnityEngine.EventSystems.Physics2DRaycaster)o).eventMask = (UnityEngine.LayerMask)v, Getter = (o) => ((UnityEngine.EventSystems.Physics2DRaycaster)o).eventMask, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.Physics2DRaycaster)o).eventMask; if (!x.Equals((UnityEngine.LayerMask)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "maxRayIntersections", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.EventSystems.Physics2DRaycaster)o).maxRayIntersections = (System.Int32)v, Getter = (o) => ((UnityEngine.EventSystems.Physics2DRaycaster)o).maxRayIntersections, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.Physics2DRaycaster)o).maxRayIntersections; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.EventSystems.Physics2DRaycaster)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.EventSystems.Physics2DRaycaster)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.Physics2DRaycaster)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.EventSystems.PhysicsRaycaster", new UnityProperty[] {
                new UnityProperty { Name = "eventMask", PropertyType = typeof(UnityEngine.LayerMask), Setter = (o, v) => ((UnityEngine.EventSystems.PhysicsRaycaster)o).eventMask = (UnityEngine.LayerMask)v, Getter = (o) => ((UnityEngine.EventSystems.PhysicsRaycaster)o).eventMask, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.PhysicsRaycaster)o).eventMask; if (!x.Equals((UnityEngine.LayerMask)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "maxRayIntersections", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.EventSystems.PhysicsRaycaster)o).maxRayIntersections = (System.Int32)v, Getter = (o) => ((UnityEngine.EventSystems.PhysicsRaycaster)o).maxRayIntersections, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.PhysicsRaycaster)o).maxRayIntersections; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.EventSystems.PhysicsRaycaster)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.EventSystems.PhysicsRaycaster)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.PhysicsRaycaster)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.PlatformEffector2D", new UnityProperty[] {
                new UnityProperty { Name = "useColliderMask", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PlatformEffector2D)o).useColliderMask = (System.Boolean)v, Getter = (o) => ((PlatformEffector2D)o).useColliderMask, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).useColliderMask; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "colliderMask", PropertyType = typeof(System.Int32), Setter = (o, v) => ((PlatformEffector2D)o).colliderMask = (System.Int32)v, Getter = (o) => ((PlatformEffector2D)o).colliderMask, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).colliderMask; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "rotationalOffset", PropertyType = typeof(System.Single), Setter = (o, v) => ((PlatformEffector2D)o).rotationalOffset = (System.Single)v, Getter = (o) => ((PlatformEffector2D)o).rotationalOffset, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).rotationalOffset; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useOneWay", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PlatformEffector2D)o).useOneWay = (System.Boolean)v, Getter = (o) => ((PlatformEffector2D)o).useOneWay, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).useOneWay; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useOneWayGrouping", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PlatformEffector2D)o).useOneWayGrouping = (System.Boolean)v, Getter = (o) => ((PlatformEffector2D)o).useOneWayGrouping, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).useOneWayGrouping; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "surfaceArc", PropertyType = typeof(System.Single), Setter = (o, v) => ((PlatformEffector2D)o).surfaceArc = (System.Single)v, Getter = (o) => ((PlatformEffector2D)o).surfaceArc, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).surfaceArc; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useSideFriction", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PlatformEffector2D)o).useSideFriction = (System.Boolean)v, Getter = (o) => ((PlatformEffector2D)o).useSideFriction, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).useSideFriction; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useSideBounce", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PlatformEffector2D)o).useSideBounce = (System.Boolean)v, Getter = (o) => ((PlatformEffector2D)o).useSideBounce, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).useSideBounce; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sideArc", PropertyType = typeof(System.Single), Setter = (o, v) => ((PlatformEffector2D)o).sideArc = (System.Single)v, Getter = (o) => ((PlatformEffector2D)o).sideArc, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).sideArc; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PlatformEffector2D)o).enabled = (System.Boolean)v, Getter = (o) => ((PlatformEffector2D)o).enabled, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_DIRECTOR
            { "UnityEngine.Playables.PlayableDirector", new UnityProperty[] {
                new UnityProperty { Name = "playableAsset", PropertyType = typeof(UnityEngine.Playables.PlayableAsset), Setter = (o, v) => ((UnityEngine.Playables.PlayableDirector)o).playableAsset = (UnityEngine.Playables.PlayableAsset)v, Getter = (o) => ((UnityEngine.Playables.PlayableDirector)o).playableAsset, },
                new UnityProperty { Name = "timeUpdateMode", PropertyType = typeof(UnityEngine.Playables.DirectorUpdateMode), Setter = (o, v) => ((UnityEngine.Playables.PlayableDirector)o).timeUpdateMode = (UnityEngine.Playables.DirectorUpdateMode)v, Getter = (o) => ((UnityEngine.Playables.PlayableDirector)o).timeUpdateMode, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Playables.PlayableDirector)o).timeUpdateMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "playOnAwake", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Playables.PlayableDirector)o).playOnAwake = (System.Boolean)v, Getter = (o) => ((UnityEngine.Playables.PlayableDirector)o).playOnAwake, Updater = (object o, ref object v) => { var x = ((UnityEngine.Playables.PlayableDirector)o).playOnAwake; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "extrapolationMode", PropertyType = typeof(UnityEngine.Playables.DirectorWrapMode), Setter = (o, v) => ((UnityEngine.Playables.PlayableDirector)o).extrapolationMode = (UnityEngine.Playables.DirectorWrapMode)v, Getter = (o) => ((UnityEngine.Playables.PlayableDirector)o).extrapolationMode, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Playables.PlayableDirector)o).extrapolationMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "initialTime", PropertyType = typeof(System.Double), Setter = (o, v) => ((UnityEngine.Playables.PlayableDirector)o).initialTime = (System.Double)v, Getter = (o) => ((UnityEngine.Playables.PlayableDirector)o).initialTime, Updater = (object o, ref object v) => { var x = ((UnityEngine.Playables.PlayableDirector)o).initialTime; if (!x.Equals((System.Double)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "time", PropertyType = typeof(System.Double), Setter = (o, v) => ((UnityEngine.Playables.PlayableDirector)o).time = (System.Double)v, Getter = (o) => ((UnityEngine.Playables.PlayableDirector)o).time, Updater = (object o, ref object v) => { var x = ((UnityEngine.Playables.PlayableDirector)o).time; if (!x.Equals((System.Double)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Playables.PlayableDirector)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Playables.PlayableDirector)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Playables.PlayableDirector)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.PointEffector2D", new UnityProperty[] {
                new UnityProperty { Name = "useColliderMask", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PointEffector2D)o).useColliderMask = (System.Boolean)v, Getter = (o) => ((PointEffector2D)o).useColliderMask, Updater = (object o, ref object v) => { var x = ((PointEffector2D)o).useColliderMask; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "colliderMask", PropertyType = typeof(System.Int32), Setter = (o, v) => ((PointEffector2D)o).colliderMask = (System.Int32)v, Getter = (o) => ((PointEffector2D)o).colliderMask, Updater = (object o, ref object v) => { var x = ((PointEffector2D)o).colliderMask; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "forceMagnitude", PropertyType = typeof(System.Single), Setter = (o, v) => ((PointEffector2D)o).forceMagnitude = (System.Single)v, Getter = (o) => ((PointEffector2D)o).forceMagnitude, Updater = (object o, ref object v) => { var x = ((PointEffector2D)o).forceMagnitude; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "forceVariation", PropertyType = typeof(System.Single), Setter = (o, v) => ((PointEffector2D)o).forceVariation = (System.Single)v, Getter = (o) => ((PointEffector2D)o).forceVariation, Updater = (object o, ref object v) => { var x = ((PointEffector2D)o).forceVariation; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "distanceScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((PointEffector2D)o).distanceScale = (System.Single)v, Getter = (o) => ((PointEffector2D)o).distanceScale, Updater = (object o, ref object v) => { var x = ((PointEffector2D)o).distanceScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "forceSource", PropertyType = typeof(UnityEngine.EffectorSelection2D), Setter = (o, v) => ((PointEffector2D)o).forceSource = (UnityEngine.EffectorSelection2D)v, Getter = (o) => ((PointEffector2D)o).forceSource, Updater = (object o, ref object v) => { var x = (int)((PointEffector2D)o).forceSource; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "forceTarget", PropertyType = typeof(UnityEngine.EffectorSelection2D), Setter = (o, v) => ((PointEffector2D)o).forceTarget = (UnityEngine.EffectorSelection2D)v, Getter = (o) => ((PointEffector2D)o).forceTarget, Updater = (object o, ref object v) => { var x = (int)((PointEffector2D)o).forceTarget; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "forceMode", PropertyType = typeof(UnityEngine.EffectorForceMode2D), Setter = (o, v) => ((PointEffector2D)o).forceMode = (UnityEngine.EffectorForceMode2D)v, Getter = (o) => ((PointEffector2D)o).forceMode, Updater = (object o, ref object v) => { var x = (int)((PointEffector2D)o).forceMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "drag", PropertyType = typeof(System.Single), Setter = (o, v) => ((PointEffector2D)o).drag = (System.Single)v, Getter = (o) => ((PointEffector2D)o).drag, Updater = (object o, ref object v) => { var x = ((PointEffector2D)o).drag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "angularDrag", PropertyType = typeof(System.Single), Setter = (o, v) => ((PointEffector2D)o).angularDrag = (System.Single)v, Getter = (o) => ((PointEffector2D)o).angularDrag, Updater = (object o, ref object v) => { var x = ((PointEffector2D)o).angularDrag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PointEffector2D)o).enabled = (System.Boolean)v, Getter = (o) => ((PointEffector2D)o).enabled, Updater = (object o, ref object v) => { var x = ((PointEffector2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.PolygonCollider2D", new UnityProperty[] {
                new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(UnityEngine.PhysicsMaterial2D), Setter = (o, v) => ((PolygonCollider2D)o).sharedMaterial = (UnityEngine.PhysicsMaterial2D)v, Getter = (o) => ((PolygonCollider2D)o).sharedMaterial, },
                new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PolygonCollider2D)o).isTrigger = (System.Boolean)v, Getter = (o) => ((PolygonCollider2D)o).isTrigger, Updater = (object o, ref object v) => { var x = ((PolygonCollider2D)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "usedByEffector", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PolygonCollider2D)o).usedByEffector = (System.Boolean)v, Getter = (o) => ((PolygonCollider2D)o).usedByEffector, Updater = (object o, ref object v) => { var x = ((PolygonCollider2D)o).usedByEffector; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #if !UNITY_2023_1_OR_NEWER
                new UnityProperty { Name = "usedByComposite", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PolygonCollider2D)o).usedByComposite = (System.Boolean)v, Getter = (o) => ((PolygonCollider2D)o).usedByComposite, Updater = (object o, ref object v) => { var x = ((PolygonCollider2D)o).usedByComposite; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #endif
            #if UNITY_2023_1_OR_NEWER
                new UnityProperty { Name = "compositeOperation", PropertyType = typeof(UnityEngine.Collider2D.CompositeOperation), Setter = (o, v) => ((PolygonCollider2D)o).compositeOperation = (UnityEngine.Collider2D.CompositeOperation)v, Getter = (o) => ((PolygonCollider2D)o).compositeOperation, Updater = (object o, ref object v) => { var x = (int)((PolygonCollider2D)o).compositeOperation; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "autoTiling", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PolygonCollider2D)o).autoTiling = (System.Boolean)v, Getter = (o) => ((PolygonCollider2D)o).autoTiling, Updater = (object o, ref object v) => { var x = ((PolygonCollider2D)o).autoTiling; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "offset", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((PolygonCollider2D)o).offset = (UnityEngine.Vector2)v, Getter = (o) => ((PolygonCollider2D)o).offset, Updater = (object o, ref object v) => { var x = ((PolygonCollider2D)o).offset; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "pathCount", PropertyType = typeof(System.Int32), Setter = (o, v) => ((PolygonCollider2D)o).pathCount = (System.Int32)v, Getter = (o) => ((PolygonCollider2D)o).pathCount, Updater = (object o, ref object v) => { var x = ((PolygonCollider2D)o).pathCount; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "points", PropertyType = typeof(UnityEngine.Vector2[]), Setter = (o, v) => ((PolygonCollider2D)o).points = (UnityEngine.Vector2[])v, Getter = (o) => ((PolygonCollider2D)o).points, },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PolygonCollider2D)o).enabled = (System.Boolean)v, Getter = (o) => ((PolygonCollider2D)o).enabled, Updater = (object o, ref object v) => { var x = ((PolygonCollider2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_ANIMATION
            { "UnityEngine.Animations.PositionConstraint", new UnityProperty[] {
                new UnityProperty { Name = "constraintActive", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.PositionConstraint)o).constraintActive = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.PositionConstraint)o).constraintActive, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.PositionConstraint)o).constraintActive; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "weight", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Animations.PositionConstraint)o).weight = (System.Single)v, Getter = (o) => ((UnityEngine.Animations.PositionConstraint)o).weight, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.PositionConstraint)o).weight; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "locked", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.PositionConstraint)o).locked = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.PositionConstraint)o).locked, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.PositionConstraint)o).locked; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "translationAtRest", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.PositionConstraint)o).translationAtRest = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.PositionConstraint)o).translationAtRest, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.PositionConstraint)o).translationAtRest; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "translationOffset", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.PositionConstraint)o).translationOffset = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.PositionConstraint)o).translationOffset, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.PositionConstraint)o).translationOffset; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "translationAxis", PropertyType = typeof(UnityEngine.Animations.Axis), Setter = (o, v) => ((UnityEngine.Animations.PositionConstraint)o).translationAxis = (UnityEngine.Animations.Axis)v, Getter = (o) => ((UnityEngine.Animations.PositionConstraint)o).translationAxis, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Animations.PositionConstraint)o).translationAxis; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.PositionConstraint)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.PositionConstraint)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.PositionConstraint)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


            { "UnityEngine.Projector", new UnityProperty[] {
                new UnityProperty { Name = "nearClipPlane", PropertyType = typeof(System.Single), Setter = (o, v) => ((Projector)o).nearClipPlane = (System.Single)v, Getter = (o) => ((Projector)o).nearClipPlane, Updater = (object o, ref object v) => { var x = ((Projector)o).nearClipPlane; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "farClipPlane", PropertyType = typeof(System.Single), Setter = (o, v) => ((Projector)o).farClipPlane = (System.Single)v, Getter = (o) => ((Projector)o).farClipPlane, Updater = (object o, ref object v) => { var x = ((Projector)o).farClipPlane; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "fieldOfView", PropertyType = typeof(System.Single), Setter = (o, v) => ((Projector)o).fieldOfView = (System.Single)v, Getter = (o) => ((Projector)o).fieldOfView, Updater = (object o, ref object v) => { var x = ((Projector)o).fieldOfView; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "aspectRatio", PropertyType = typeof(System.Single), Setter = (o, v) => ((Projector)o).aspectRatio = (System.Single)v, Getter = (o) => ((Projector)o).aspectRatio, Updater = (object o, ref object v) => { var x = ((Projector)o).aspectRatio; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "orthographic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Projector)o).orthographic = (System.Boolean)v, Getter = (o) => ((Projector)o).orthographic, Updater = (object o, ref object v) => { var x = ((Projector)o).orthographic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "orthographicSize", PropertyType = typeof(System.Single), Setter = (o, v) => ((Projector)o).orthographicSize = (System.Single)v, Getter = (o) => ((Projector)o).orthographicSize, Updater = (object o, ref object v) => { var x = ((Projector)o).orthographicSize; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "material", PropertyType = typeof(UnityEngine.Material), Setter = (o, v) => ((Projector)o).material = (UnityEngine.Material)v, Getter = (o) => ((Projector)o).material, },
                new UnityProperty { Name = "ignoreLayers", PropertyType = typeof(System.Int32), Setter = (o, v) => ((Projector)o).ignoreLayers = (System.Int32)v, Getter = (o) => ((Projector)o).ignoreLayers, Updater = (object o, ref object v) => { var x = ((Projector)o).ignoreLayers; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Projector)o).enabled = (System.Boolean)v, Getter = (o) => ((Projector)o).enabled, Updater = (object o, ref object v) => { var x = ((Projector)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},


        #if UNITY_GUI
            { "UnityEngine.UI.RawImage", new UnityProperty[] {
                new UnityProperty { Name = "texture", PropertyType = typeof(UnityEngine.Texture), Setter = (o, v) => ((UnityEngine.UI.RawImage)o).texture = (UnityEngine.Texture)v, Getter = (o) => ((UnityEngine.UI.RawImage)o).texture, },
                new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((UnityEngine.UI.RawImage)o).color = (UnityEngine.Color)v, Getter = (o) => ((UnityEngine.UI.RawImage)o).color, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.RawImage)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "raycastTarget", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.RawImage)o).raycastTarget = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.RawImage)o).raycastTarget, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.RawImage)o).raycastTarget; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #if UNITY_2020_1_OR_NEWER
                new UnityProperty { Name = "raycastPadding", PropertyType = typeof(UnityEngine.Vector4), Setter = (o, v) => ((UnityEngine.UI.RawImage)o).raycastPadding = (UnityEngine.Vector4)v, Getter = (o) => ((UnityEngine.UI.RawImage)o).raycastPadding, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.RawImage)o).raycastPadding; if (!x.Equals((UnityEngine.Vector4)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "maskable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.RawImage)o).maskable = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.RawImage)o).maskable, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.RawImage)o).maskable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "uvRect", PropertyType = typeof(UnityEngine.Rect), Setter = (o, v) => ((UnityEngine.UI.RawImage)o).uvRect = (UnityEngine.Rect)v, Getter = (o) => ((UnityEngine.UI.RawImage)o).uvRect, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.RawImage)o).uvRect; if (!x.Equals((UnityEngine.Rect)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.RawImage)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.RawImage)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.RawImage)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.RectMask2D", new UnityProperty[] {
                new UnityProperty { Name = "padding", PropertyType = typeof(UnityEngine.Vector4), Setter = (o, v) => ((UnityEngine.UI.RectMask2D)o).padding = (UnityEngine.Vector4)v, Getter = (o) => ((UnityEngine.UI.RectMask2D)o).padding, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.RectMask2D)o).padding; if (!x.Equals((UnityEngine.Vector4)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "softness", PropertyType = typeof(UnityEngine.Vector2Int), Setter = (o, v) => ((UnityEngine.UI.RectMask2D)o).softness = (UnityEngine.Vector2Int)v, Getter = (o) => ((UnityEngine.UI.RectMask2D)o).softness, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.RectMask2D)o).softness; if (!x.Equals((UnityEngine.Vector2Int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.RectMask2D)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.RectMask2D)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.RectMask2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


            { "UnityEngine.RectTransform", new UnityProperty[] {
                new UnityProperty { Name = "localPosition", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((RectTransform)o).localPosition = (UnityEngine.Vector3)v, Getter = (o) => ((RectTransform)o).localPosition, Updater = (object o, ref object v) => { var x = ((RectTransform)o).localPosition; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sizeDelta", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((RectTransform)o).sizeDelta = (UnityEngine.Vector2)v, Getter = (o) => ((RectTransform)o).sizeDelta, Updater = (object o, ref object v) => { var x = ((RectTransform)o).sizeDelta; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "anchorMin", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((RectTransform)o).anchorMin = (UnityEngine.Vector2)v, Getter = (o) => ((RectTransform)o).anchorMin, Updater = (object o, ref object v) => { var x = ((RectTransform)o).anchorMin; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "anchorMax", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((RectTransform)o).anchorMax = (UnityEngine.Vector2)v, Getter = (o) => ((RectTransform)o).anchorMax, Updater = (object o, ref object v) => { var x = ((RectTransform)o).anchorMax; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "localRotation", PropertyType = typeof(UnityEngine.Quaternion), Setter = (o, v) => ((RectTransform)o).localRotation = (UnityEngine.Quaternion)v, Getter = (o) => ((RectTransform)o).localRotation, Updater = (object o, ref object v) => { var x = ((RectTransform)o).localRotation; if (!x.Equals((UnityEngine.Quaternion)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "localScale", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((RectTransform)o).localScale = (UnityEngine.Vector3)v, Getter = (o) => ((RectTransform)o).localScale, Updater = (object o, ref object v) => { var x = ((RectTransform)o).localScale; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
            }},


            { "UnityEngine.ReflectionProbe", new UnityProperty[] {
                new UnityProperty { Name = "mode", PropertyType = typeof(UnityEngine.Rendering.ReflectionProbeMode), Setter = (o, v) => ((ReflectionProbe)o).mode = (UnityEngine.Rendering.ReflectionProbeMode)v, Getter = (o) => ((ReflectionProbe)o).mode, Updater = (object o, ref object v) => { var x = (int)((ReflectionProbe)o).mode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "importance", PropertyType = typeof(System.Int32), Setter = (o, v) => ((ReflectionProbe)o).importance = (System.Int32)v, Getter = (o) => ((ReflectionProbe)o).importance, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).importance; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "intensity", PropertyType = typeof(System.Single), Setter = (o, v) => ((ReflectionProbe)o).intensity = (System.Single)v, Getter = (o) => ((ReflectionProbe)o).intensity, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).intensity; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "boxProjection", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ReflectionProbe)o).boxProjection = (System.Boolean)v, Getter = (o) => ((ReflectionProbe)o).boxProjection, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).boxProjection; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "blendDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((ReflectionProbe)o).blendDistance = (System.Single)v, Getter = (o) => ((ReflectionProbe)o).blendDistance, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).blendDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "size", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ReflectionProbe)o).size = (UnityEngine.Vector3)v, Getter = (o) => ((ReflectionProbe)o).size, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).size; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "center", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ReflectionProbe)o).center = (UnityEngine.Vector3)v, Getter = (o) => ((ReflectionProbe)o).center, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).center; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "resolution", PropertyType = typeof(System.Int32), Setter = (o, v) => ((ReflectionProbe)o).resolution = (System.Int32)v, Getter = (o) => ((ReflectionProbe)o).resolution, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).resolution; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "hdr", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ReflectionProbe)o).hdr = (System.Boolean)v, Getter = (o) => ((ReflectionProbe)o).hdr, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).hdr; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "shadowDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((ReflectionProbe)o).shadowDistance = (System.Single)v, Getter = (o) => ((ReflectionProbe)o).shadowDistance, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).shadowDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "clearFlags", PropertyType = typeof(UnityEngine.Rendering.ReflectionProbeClearFlags), Setter = (o, v) => ((ReflectionProbe)o).clearFlags = (UnityEngine.Rendering.ReflectionProbeClearFlags)v, Getter = (o) => ((ReflectionProbe)o).clearFlags, Updater = (object o, ref object v) => { var x = (int)((ReflectionProbe)o).clearFlags; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "backgroundColor", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((ReflectionProbe)o).backgroundColor = (UnityEngine.Color)v, Getter = (o) => ((ReflectionProbe)o).backgroundColor, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).backgroundColor; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "cullingMask", PropertyType = typeof(System.Int32), Setter = (o, v) => ((ReflectionProbe)o).cullingMask = (System.Int32)v, Getter = (o) => ((ReflectionProbe)o).cullingMask, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).cullingMask; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "nearClipPlane", PropertyType = typeof(System.Single), Setter = (o, v) => ((ReflectionProbe)o).nearClipPlane = (System.Single)v, Getter = (o) => ((ReflectionProbe)o).nearClipPlane, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).nearClipPlane; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "farClipPlane", PropertyType = typeof(System.Single), Setter = (o, v) => ((ReflectionProbe)o).farClipPlane = (System.Single)v, Getter = (o) => ((ReflectionProbe)o).farClipPlane, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).farClipPlane; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ReflectionProbe)o).enabled = (System.Boolean)v, Getter = (o) => ((ReflectionProbe)o).enabled, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},


        #if UNITY_PHYSICS_2D
            { "UnityEngine.RelativeJoint2D", new UnityProperty[] {
                new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((RelativeJoint2D)o).enableCollision = (System.Boolean)v, Getter = (o) => ((RelativeJoint2D)o).enableCollision, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody2D), Setter = (o, v) => ((RelativeJoint2D)o).connectedBody = (UnityEngine.Rigidbody2D)v, Getter = (o) => ((RelativeJoint2D)o).connectedBody, },
                new UnityProperty { Name = "maxForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((RelativeJoint2D)o).maxForce = (System.Single)v, Getter = (o) => ((RelativeJoint2D)o).maxForce, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).maxForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "maxTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((RelativeJoint2D)o).maxTorque = (System.Single)v, Getter = (o) => ((RelativeJoint2D)o).maxTorque, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).maxTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "correctionScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((RelativeJoint2D)o).correctionScale = (System.Single)v, Getter = (o) => ((RelativeJoint2D)o).correctionScale, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).correctionScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "autoConfigureOffset", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((RelativeJoint2D)o).autoConfigureOffset = (System.Boolean)v, Getter = (o) => ((RelativeJoint2D)o).autoConfigureOffset, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).autoConfigureOffset; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "linearOffset", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((RelativeJoint2D)o).linearOffset = (UnityEngine.Vector2)v, Getter = (o) => ((RelativeJoint2D)o).linearOffset, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).linearOffset; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "angularOffset", PropertyType = typeof(System.Single), Setter = (o, v) => ((RelativeJoint2D)o).angularOffset = (System.Single)v, Getter = (o) => ((RelativeJoint2D)o).angularOffset, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).angularOffset; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((RelativeJoint2D)o).breakForce = (System.Single)v, Getter = (o) => ((RelativeJoint2D)o).breakForce, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((RelativeJoint2D)o).breakTorque = (System.Single)v, Getter = (o) => ((RelativeJoint2D)o).breakTorque, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((RelativeJoint2D)o).enabled = (System.Boolean)v, Getter = (o) => ((RelativeJoint2D)o).enabled, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS
            { "UnityEngine.Rigidbody", new UnityProperty[] {
                new UnityProperty { Name = "mass", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody)o).mass = (System.Single)v, Getter = (o) => ((Rigidbody)o).mass, Updater = (object o, ref object v) => { var x = ((Rigidbody)o).mass; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
            #if !UNITY_6000_0_OR_NEWER
                new UnityProperty { Name = "drag", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody)o).drag = (System.Single)v, Getter = (o) => ((Rigidbody)o).drag, Updater = (object o, ref object v) => { var x = ((Rigidbody)o).drag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
            #endif
            #if !UNITY_6000_0_OR_NEWER
                new UnityProperty { Name = "angularDrag", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody)o).angularDrag = (System.Single)v, Getter = (o) => ((Rigidbody)o).angularDrag, Updater = (object o, ref object v) => { var x = ((Rigidbody)o).angularDrag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
            #endif
            #if UNITY_6000_0_OR_NEWER
                new UnityProperty { Name = "linearDamping", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody)o).linearDamping = (System.Single)v, Getter = (o) => ((Rigidbody)o).linearDamping, Updater = (object o, ref object v) => { var x = ((Rigidbody)o).linearDamping; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
            #endif
            #if UNITY_6000_0_OR_NEWER
                new UnityProperty { Name = "angularDamping", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody)o).angularDamping = (System.Single)v, Getter = (o) => ((Rigidbody)o).angularDamping, Updater = (object o, ref object v) => { var x = ((Rigidbody)o).angularDamping; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "useGravity", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Rigidbody)o).useGravity = (System.Boolean)v, Getter = (o) => ((Rigidbody)o).useGravity, Updater = (object o, ref object v) => { var x = ((Rigidbody)o).useGravity; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "isKinematic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Rigidbody)o).isKinematic = (System.Boolean)v, Getter = (o) => ((Rigidbody)o).isKinematic, Updater = (object o, ref object v) => { var x = ((Rigidbody)o).isKinematic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "interpolation", PropertyType = typeof(UnityEngine.RigidbodyInterpolation), Setter = (o, v) => ((Rigidbody)o).interpolation = (UnityEngine.RigidbodyInterpolation)v, Getter = (o) => ((Rigidbody)o).interpolation, Updater = (object o, ref object v) => { var x = (int)((Rigidbody)o).interpolation; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "collisionDetectionMode", PropertyType = typeof(UnityEngine.CollisionDetectionMode), Setter = (o, v) => ((Rigidbody)o).collisionDetectionMode = (UnityEngine.CollisionDetectionMode)v, Getter = (o) => ((Rigidbody)o).collisionDetectionMode, Updater = (object o, ref object v) => { var x = (int)((Rigidbody)o).collisionDetectionMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "constraints", PropertyType = typeof(UnityEngine.RigidbodyConstraints), Setter = (o, v) => ((Rigidbody)o).constraints = (UnityEngine.RigidbodyConstraints)v, Getter = (o) => ((Rigidbody)o).constraints, Updater = (object o, ref object v) => { var x = (int)((Rigidbody)o).constraints; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.Rigidbody2D", new UnityProperty[] {
                new UnityProperty { Name = "bodyType", PropertyType = typeof(UnityEngine.RigidbodyType2D), Setter = (o, v) => ((Rigidbody2D)o).bodyType = (UnityEngine.RigidbodyType2D)v, Getter = (o) => ((Rigidbody2D)o).bodyType, Updater = (object o, ref object v) => { var x = (int)((Rigidbody2D)o).bodyType; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "simulated", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Rigidbody2D)o).simulated = (System.Boolean)v, Getter = (o) => ((Rigidbody2D)o).simulated, Updater = (object o, ref object v) => { var x = ((Rigidbody2D)o).simulated; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useAutoMass", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Rigidbody2D)o).useAutoMass = (System.Boolean)v, Getter = (o) => ((Rigidbody2D)o).useAutoMass, Updater = (object o, ref object v) => { var x = ((Rigidbody2D)o).useAutoMass; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "mass", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody2D)o).mass = (System.Single)v, Getter = (o) => ((Rigidbody2D)o).mass, Updater = (object o, ref object v) => { var x = ((Rigidbody2D)o).mass; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
            #if !UNITY_6000_0_OR_NEWER
                new UnityProperty { Name = "drag", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody2D)o).drag = (System.Single)v, Getter = (o) => ((Rigidbody2D)o).drag, Updater = (object o, ref object v) => { var x = ((Rigidbody2D)o).drag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
            #endif
            #if !UNITY_6000_0_OR_NEWER
                new UnityProperty { Name = "angularDrag", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody2D)o).angularDrag = (System.Single)v, Getter = (o) => ((Rigidbody2D)o).angularDrag, Updater = (object o, ref object v) => { var x = ((Rigidbody2D)o).angularDrag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
            #endif
            #if UNITY_6000_0_OR_NEWER
                new UnityProperty { Name = "linearDamping", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody2D)o).drag = (System.Single)v, Getter = (o) => ((Rigidbody2D)o).drag, Updater = (object o, ref object v) => { var x = ((Rigidbody2D)o).drag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
            #endif
            #if UNITY_6000_0_OR_NEWER
                new UnityProperty { Name = "angularDamping", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody2D)o).angularDrag = (System.Single)v, Getter = (o) => ((Rigidbody2D)o).angularDrag, Updater = (object o, ref object v) => { var x = ((Rigidbody2D)o).angularDrag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "gravityScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody2D)o).gravityScale = (System.Single)v, Getter = (o) => ((Rigidbody2D)o).gravityScale, Updater = (object o, ref object v) => { var x = ((Rigidbody2D)o).gravityScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "collisionDetectionMode", PropertyType = typeof(UnityEngine.CollisionDetectionMode2D), Setter = (o, v) => ((Rigidbody2D)o).collisionDetectionMode = (UnityEngine.CollisionDetectionMode2D)v, Getter = (o) => ((Rigidbody2D)o).collisionDetectionMode, Updater = (object o, ref object v) => { var x = (int)((Rigidbody2D)o).collisionDetectionMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sleepMode", PropertyType = typeof(UnityEngine.RigidbodySleepMode2D), Setter = (o, v) => ((Rigidbody2D)o).sleepMode = (UnityEngine.RigidbodySleepMode2D)v, Getter = (o) => ((Rigidbody2D)o).sleepMode, Updater = (object o, ref object v) => { var x = (int)((Rigidbody2D)o).sleepMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "interpolation", PropertyType = typeof(UnityEngine.RigidbodyInterpolation2D), Setter = (o, v) => ((Rigidbody2D)o).interpolation = (UnityEngine.RigidbodyInterpolation2D)v, Getter = (o) => ((Rigidbody2D)o).interpolation, Updater = (object o, ref object v) => { var x = (int)((Rigidbody2D)o).interpolation; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "constraints", PropertyType = typeof(UnityEngine.RigidbodyConstraints2D), Setter = (o, v) => ((Rigidbody2D)o).constraints = (UnityEngine.RigidbodyConstraints2D)v, Getter = (o) => ((Rigidbody2D)o).constraints, Updater = (object o, ref object v) => { var x = (int)((Rigidbody2D)o).constraints; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_ANIMATION
            { "UnityEngine.Animations.RotationConstraint", new UnityProperty[] {
                new UnityProperty { Name = "constraintActive", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.RotationConstraint)o).constraintActive = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.RotationConstraint)o).constraintActive, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.RotationConstraint)o).constraintActive; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "weight", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Animations.RotationConstraint)o).weight = (System.Single)v, Getter = (o) => ((UnityEngine.Animations.RotationConstraint)o).weight, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.RotationConstraint)o).weight; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "locked", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.RotationConstraint)o).locked = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.RotationConstraint)o).locked, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.RotationConstraint)o).locked; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "rotationAtRest", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.RotationConstraint)o).rotationAtRest = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.RotationConstraint)o).rotationAtRest, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.RotationConstraint)o).rotationAtRest; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "rotationOffset", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.RotationConstraint)o).rotationOffset = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.RotationConstraint)o).rotationOffset, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.RotationConstraint)o).rotationOffset; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "rotationAxis", PropertyType = typeof(UnityEngine.Animations.Axis), Setter = (o, v) => ((UnityEngine.Animations.RotationConstraint)o).rotationAxis = (UnityEngine.Animations.Axis)v, Getter = (o) => ((UnityEngine.Animations.RotationConstraint)o).rotationAxis, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Animations.RotationConstraint)o).rotationAxis; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.RotationConstraint)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.RotationConstraint)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.RotationConstraint)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_ANIMATION
            { "UnityEngine.Animations.ScaleConstraint", new UnityProperty[] {
                new UnityProperty { Name = "constraintActive", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.ScaleConstraint)o).constraintActive = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.ScaleConstraint)o).constraintActive, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ScaleConstraint)o).constraintActive; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "weight", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Animations.ScaleConstraint)o).weight = (System.Single)v, Getter = (o) => ((UnityEngine.Animations.ScaleConstraint)o).weight, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ScaleConstraint)o).weight; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "locked", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.ScaleConstraint)o).locked = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.ScaleConstraint)o).locked, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ScaleConstraint)o).locked; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "scaleAtRest", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.ScaleConstraint)o).scaleAtRest = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.ScaleConstraint)o).scaleAtRest, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ScaleConstraint)o).scaleAtRest; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "scaleOffset", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.ScaleConstraint)o).scaleOffset = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.ScaleConstraint)o).scaleOffset, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ScaleConstraint)o).scaleOffset; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "scalingAxis", PropertyType = typeof(UnityEngine.Animations.Axis), Setter = (o, v) => ((UnityEngine.Animations.ScaleConstraint)o).scalingAxis = (UnityEngine.Animations.Axis)v, Getter = (o) => ((UnityEngine.Animations.ScaleConstraint)o).scalingAxis, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Animations.ScaleConstraint)o).scalingAxis; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.ScaleConstraint)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.ScaleConstraint)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ScaleConstraint)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.Scrollbar", new UnityProperty[] {
                new UnityProperty { Name = "interactable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).interactable = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).interactable, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Scrollbar)o).interactable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "transition", PropertyType = typeof(UnityEngine.UI.Selectable.Transition), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).transition = (UnityEngine.UI.Selectable.Transition)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).transition, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Scrollbar)o).transition; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "targetGraphic", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).targetGraphic = (UnityEngine.UI.Graphic)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).targetGraphic, },
                new UnityProperty { Name = "colors", PropertyType = typeof(UnityEngine.UI.ColorBlock), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).colors = (UnityEngine.UI.ColorBlock)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).colors, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Scrollbar)o).colors; if (!x.Equals((UnityEngine.UI.ColorBlock)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "navigation", PropertyType = typeof(UnityEngine.UI.Navigation), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).navigation = (UnityEngine.UI.Navigation)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).navigation, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Scrollbar)o).navigation; if (!x.Equals((UnityEngine.UI.Navigation)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "handleRect", PropertyType = typeof(UnityEngine.RectTransform), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).handleRect = (UnityEngine.RectTransform)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).handleRect, },
                new UnityProperty { Name = "direction", PropertyType = typeof(UnityEngine.UI.Scrollbar.Direction), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).direction = (UnityEngine.UI.Scrollbar.Direction)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).direction, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Scrollbar)o).direction; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "value", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).value = (System.Single)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).value, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Scrollbar)o).value; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "size", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).size = (System.Single)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).size, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Scrollbar)o).size; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "numberOfSteps", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).numberOfSteps = (System.Int32)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).numberOfSteps, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Scrollbar)o).numberOfSteps; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Scrollbar)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.ScrollRect", new UnityProperty[] {
                new UnityProperty { Name = "content", PropertyType = typeof(UnityEngine.RectTransform), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).content = (UnityEngine.RectTransform)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).content, },
                new UnityProperty { Name = "horizontal", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).horizontal = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).horizontal, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ScrollRect)o).horizontal; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "vertical", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).vertical = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).vertical, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ScrollRect)o).vertical; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "movementType", PropertyType = typeof(UnityEngine.UI.ScrollRect.MovementType), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).movementType = (UnityEngine.UI.ScrollRect.MovementType)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).movementType, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.ScrollRect)o).movementType; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "elasticity", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).elasticity = (System.Single)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).elasticity, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ScrollRect)o).elasticity; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "inertia", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).inertia = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).inertia, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ScrollRect)o).inertia; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "decelerationRate", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).decelerationRate = (System.Single)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).decelerationRate, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ScrollRect)o).decelerationRate; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "scrollSensitivity", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).scrollSensitivity = (System.Single)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).scrollSensitivity, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ScrollRect)o).scrollSensitivity; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "viewport", PropertyType = typeof(UnityEngine.RectTransform), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).viewport = (UnityEngine.RectTransform)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).viewport, },
                new UnityProperty { Name = "horizontalScrollbar", PropertyType = typeof(UnityEngine.UI.Scrollbar), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).horizontalScrollbar = (UnityEngine.UI.Scrollbar)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).horizontalScrollbar, },
                new UnityProperty { Name = "verticalScrollbar", PropertyType = typeof(UnityEngine.UI.Scrollbar), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).verticalScrollbar = (UnityEngine.UI.Scrollbar)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).verticalScrollbar, },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ScrollRect)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.Shadow", new UnityProperty[] {
                new UnityProperty { Name = "effectColor", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((UnityEngine.UI.Shadow)o).effectColor = (UnityEngine.Color)v, Getter = (o) => ((UnityEngine.UI.Shadow)o).effectColor, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Shadow)o).effectColor; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "effectDistance", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((UnityEngine.UI.Shadow)o).effectDistance = (UnityEngine.Vector2)v, Getter = (o) => ((UnityEngine.UI.Shadow)o).effectDistance, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Shadow)o).effectDistance; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useGraphicAlpha", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Shadow)o).useGraphicAlpha = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Shadow)o).useGraphicAlpha, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Shadow)o).useGraphicAlpha; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Shadow)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Shadow)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Shadow)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


            { "UnityEngine.SkinnedMeshRenderer", new UnityProperty[] {
            #if UNITY_2021_2_OR_NEWER
                new UnityProperty { Name = "bounds", PropertyType = typeof(UnityEngine.Bounds), Setter = (o, v) => ((SkinnedMeshRenderer)o).bounds = (UnityEngine.Bounds)v, Getter = (o) => ((SkinnedMeshRenderer)o).bounds, Updater = (object o, ref object v) => { var x = ((SkinnedMeshRenderer)o).bounds; if (!x.Equals((UnityEngine.Bounds)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "quality", PropertyType = typeof(UnityEngine.SkinQuality), Setter = (o, v) => ((SkinnedMeshRenderer)o).quality = (UnityEngine.SkinQuality)v, Getter = (o) => ((SkinnedMeshRenderer)o).quality, Updater = (object o, ref object v) => { var x = (int)((SkinnedMeshRenderer)o).quality; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "updateWhenOffscreen", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SkinnedMeshRenderer)o).updateWhenOffscreen = (System.Boolean)v, Getter = (o) => ((SkinnedMeshRenderer)o).updateWhenOffscreen, Updater = (object o, ref object v) => { var x = ((SkinnedMeshRenderer)o).updateWhenOffscreen; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sharedMesh", PropertyType = typeof(UnityEngine.Mesh), Setter = (o, v) => ((SkinnedMeshRenderer)o).sharedMesh = (UnityEngine.Mesh)v, Getter = (o) => ((SkinnedMeshRenderer)o).sharedMesh, },
                new UnityProperty { Name = "rootBone", PropertyType = typeof(UnityEngine.Transform), Setter = (o, v) => ((SkinnedMeshRenderer)o).rootBone = (UnityEngine.Transform)v, Getter = (o) => ((SkinnedMeshRenderer)o).rootBone, },
                new UnityProperty { Name = "sharedMaterials", PropertyType = typeof(UnityEngine.Material[]), Setter = (o, v) => ((SkinnedMeshRenderer)o).sharedMaterials = (UnityEngine.Material[])v, Getter = (o) => ((SkinnedMeshRenderer)o).sharedMaterials, Updater = (object o, ref object v) => { var x = ((SkinnedMeshRenderer)o).sharedMaterials; if (x.Length != ((UnityEngine.Material[])v).Length) { v = x; return true; } else { v = x; return false; }} },
                new UnityProperty { Name = "shadowCastingMode", PropertyType = typeof(UnityEngine.Rendering.ShadowCastingMode), Setter = (o, v) => ((SkinnedMeshRenderer)o).shadowCastingMode = (UnityEngine.Rendering.ShadowCastingMode)v, Getter = (o) => ((SkinnedMeshRenderer)o).shadowCastingMode, Updater = (object o, ref object v) => { var x = (int)((SkinnedMeshRenderer)o).shadowCastingMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "receiveShadows", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SkinnedMeshRenderer)o).receiveShadows = (System.Boolean)v, Getter = (o) => ((SkinnedMeshRenderer)o).receiveShadows, Updater = (object o, ref object v) => { var x = ((SkinnedMeshRenderer)o).receiveShadows; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "lightProbeUsage", PropertyType = typeof(UnityEngine.Rendering.LightProbeUsage), Setter = (o, v) => ((SkinnedMeshRenderer)o).lightProbeUsage = (UnityEngine.Rendering.LightProbeUsage)v, Getter = (o) => ((SkinnedMeshRenderer)o).lightProbeUsage, Updater = (object o, ref object v) => { var x = (int)((SkinnedMeshRenderer)o).lightProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "reflectionProbeUsage", PropertyType = typeof(UnityEngine.Rendering.ReflectionProbeUsage), Setter = (o, v) => ((SkinnedMeshRenderer)o).reflectionProbeUsage = (UnityEngine.Rendering.ReflectionProbeUsage)v, Getter = (o) => ((SkinnedMeshRenderer)o).reflectionProbeUsage, Updater = (object o, ref object v) => { var x = (int)((SkinnedMeshRenderer)o).reflectionProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "motionVectorGenerationMode", PropertyType = typeof(UnityEngine.MotionVectorGenerationMode), Setter = (o, v) => ((SkinnedMeshRenderer)o).motionVectorGenerationMode = (UnityEngine.MotionVectorGenerationMode)v, Getter = (o) => ((SkinnedMeshRenderer)o).motionVectorGenerationMode, Updater = (object o, ref object v) => { var x = (int)((SkinnedMeshRenderer)o).motionVectorGenerationMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "allowOcclusionWhenDynamic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SkinnedMeshRenderer)o).allowOcclusionWhenDynamic = (System.Boolean)v, Getter = (o) => ((SkinnedMeshRenderer)o).allowOcclusionWhenDynamic, Updater = (object o, ref object v) => { var x = ((SkinnedMeshRenderer)o).allowOcclusionWhenDynamic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SkinnedMeshRenderer)o).enabled = (System.Boolean)v, Getter = (o) => ((SkinnedMeshRenderer)o).enabled, Updater = (object o, ref object v) => { var x = ((SkinnedMeshRenderer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},


            { "UnityEngine.Skybox", new UnityProperty[] {
                new UnityProperty { Name = "material", PropertyType = typeof(UnityEngine.Material), Setter = (o, v) => ((Skybox)o).material = (UnityEngine.Material)v, Getter = (o) => ((Skybox)o).material, },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Skybox)o).enabled = (System.Boolean)v, Getter = (o) => ((Skybox)o).enabled, Updater = (object o, ref object v) => { var x = ((Skybox)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},


        #if UNITY_GUI
            { "UnityEngine.UI.Slider", new UnityProperty[] {
                new UnityProperty { Name = "interactable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Slider)o).interactable = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Slider)o).interactable, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Slider)o).interactable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "transition", PropertyType = typeof(UnityEngine.UI.Selectable.Transition), Setter = (o, v) => ((UnityEngine.UI.Slider)o).transition = (UnityEngine.UI.Selectable.Transition)v, Getter = (o) => ((UnityEngine.UI.Slider)o).transition, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Slider)o).transition; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "targetGraphic", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((UnityEngine.UI.Slider)o).targetGraphic = (UnityEngine.UI.Graphic)v, Getter = (o) => ((UnityEngine.UI.Slider)o).targetGraphic, },
                new UnityProperty { Name = "colors", PropertyType = typeof(UnityEngine.UI.ColorBlock), Setter = (o, v) => ((UnityEngine.UI.Slider)o).colors = (UnityEngine.UI.ColorBlock)v, Getter = (o) => ((UnityEngine.UI.Slider)o).colors, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Slider)o).colors; if (!x.Equals((UnityEngine.UI.ColorBlock)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "navigation", PropertyType = typeof(UnityEngine.UI.Navigation), Setter = (o, v) => ((UnityEngine.UI.Slider)o).navigation = (UnityEngine.UI.Navigation)v, Getter = (o) => ((UnityEngine.UI.Slider)o).navigation, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Slider)o).navigation; if (!x.Equals((UnityEngine.UI.Navigation)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "fillRect", PropertyType = typeof(UnityEngine.RectTransform), Setter = (o, v) => ((UnityEngine.UI.Slider)o).fillRect = (UnityEngine.RectTransform)v, Getter = (o) => ((UnityEngine.UI.Slider)o).fillRect, },
                new UnityProperty { Name = "handleRect", PropertyType = typeof(UnityEngine.RectTransform), Setter = (o, v) => ((UnityEngine.UI.Slider)o).handleRect = (UnityEngine.RectTransform)v, Getter = (o) => ((UnityEngine.UI.Slider)o).handleRect, },
                new UnityProperty { Name = "direction", PropertyType = typeof(UnityEngine.UI.Slider.Direction), Setter = (o, v) => ((UnityEngine.UI.Slider)o).direction = (UnityEngine.UI.Slider.Direction)v, Getter = (o) => ((UnityEngine.UI.Slider)o).direction, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Slider)o).direction; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "minValue", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.Slider)o).minValue = (System.Single)v, Getter = (o) => ((UnityEngine.UI.Slider)o).minValue, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Slider)o).minValue; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "maxValue", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.Slider)o).maxValue = (System.Single)v, Getter = (o) => ((UnityEngine.UI.Slider)o).maxValue, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Slider)o).maxValue; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "wholeNumbers", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Slider)o).wholeNumbers = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Slider)o).wholeNumbers, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Slider)o).wholeNumbers; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "value", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.Slider)o).value = (System.Single)v, Getter = (o) => ((UnityEngine.UI.Slider)o).value, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Slider)o).value; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Slider)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Slider)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Slider)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.SliderJoint2D", new UnityProperty[] {
                new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SliderJoint2D)o).enableCollision = (System.Boolean)v, Getter = (o) => ((SliderJoint2D)o).enableCollision, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody2D), Setter = (o, v) => ((SliderJoint2D)o).connectedBody = (UnityEngine.Rigidbody2D)v, Getter = (o) => ((SliderJoint2D)o).connectedBody, },
                new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SliderJoint2D)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((SliderJoint2D)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((SliderJoint2D)o).anchor = (UnityEngine.Vector2)v, Getter = (o) => ((SliderJoint2D)o).anchor, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).anchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((SliderJoint2D)o).connectedAnchor = (UnityEngine.Vector2)v, Getter = (o) => ((SliderJoint2D)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "autoConfigureAngle", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SliderJoint2D)o).autoConfigureAngle = (System.Boolean)v, Getter = (o) => ((SliderJoint2D)o).autoConfigureAngle, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).autoConfigureAngle; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "angle", PropertyType = typeof(System.Single), Setter = (o, v) => ((SliderJoint2D)o).angle = (System.Single)v, Getter = (o) => ((SliderJoint2D)o).angle, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).angle; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useMotor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SliderJoint2D)o).useMotor = (System.Boolean)v, Getter = (o) => ((SliderJoint2D)o).useMotor, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).useMotor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "motor", PropertyType = typeof(UnityEngine.JointMotor2D), Setter = (o, v) => ((SliderJoint2D)o).motor = (UnityEngine.JointMotor2D)v, Getter = (o) => ((SliderJoint2D)o).motor, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).motor; if (!x.Equals((UnityEngine.JointMotor2D)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useLimits", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SliderJoint2D)o).useLimits = (System.Boolean)v, Getter = (o) => ((SliderJoint2D)o).useLimits, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).useLimits; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "limits", PropertyType = typeof(UnityEngine.JointTranslationLimits2D), Setter = (o, v) => ((SliderJoint2D)o).limits = (UnityEngine.JointTranslationLimits2D)v, Getter = (o) => ((SliderJoint2D)o).limits, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).limits; if (!x.Equals((UnityEngine.JointTranslationLimits2D)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((SliderJoint2D)o).breakForce = (System.Single)v, Getter = (o) => ((SliderJoint2D)o).breakForce, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((SliderJoint2D)o).breakTorque = (System.Single)v, Getter = (o) => ((SliderJoint2D)o).breakTorque, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SliderJoint2D)o).enabled = (System.Boolean)v, Getter = (o) => ((SliderJoint2D)o).enabled, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


            { "UnityEngine.Rendering.SortingGroup", new UnityProperty[] {
                new UnityProperty { Name = "sortingLayerID", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.Rendering.SortingGroup)o).sortingLayerID = (System.Int32)v, Getter = (o) => ((UnityEngine.Rendering.SortingGroup)o).sortingLayerID, Updater = (object o, ref object v) => { var x = ((UnityEngine.Rendering.SortingGroup)o).sortingLayerID; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sortingOrder", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.Rendering.SortingGroup)o).sortingOrder = (System.Int32)v, Getter = (o) => ((UnityEngine.Rendering.SortingGroup)o).sortingOrder, Updater = (object o, ref object v) => { var x = ((UnityEngine.Rendering.SortingGroup)o).sortingOrder; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Rendering.SortingGroup)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Rendering.SortingGroup)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Rendering.SortingGroup)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},


        #if UNITY_PHYSICS
            { "UnityEngine.SphereCollider", new UnityProperty[] {
                new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SphereCollider)o).isTrigger = (System.Boolean)v, Getter = (o) => ((SphereCollider)o).isTrigger, Updater = (object o, ref object v) => { var x = ((SphereCollider)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #if !UNITY_6000_0_OR_NEWER
                new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicMaterial), Setter = (o, v) => ((SphereCollider)o).sharedMaterial = (PhysicMaterial)v, Getter = (o) => ((SphereCollider)o).sharedMaterial, },
            #endif
            #if UNITY_6000_0_OR_NEWER
                new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicsMaterial), Setter = (o, v) => ((SphereCollider)o).sharedMaterial = (PhysicsMaterial)v, Getter = (o) => ((SphereCollider)o).sharedMaterial, },
            #endif
                new UnityProperty { Name = "center", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((SphereCollider)o).center = (UnityEngine.Vector3)v, Getter = (o) => ((SphereCollider)o).center, Updater = (object o, ref object v) => { var x = ((SphereCollider)o).center; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "radius", PropertyType = typeof(System.Single), Setter = (o, v) => ((SphereCollider)o).radius = (System.Single)v, Getter = (o) => ((SphereCollider)o).radius, Updater = (object o, ref object v) => { var x = ((SphereCollider)o).radius; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SphereCollider)o).enabled = (System.Boolean)v, Getter = (o) => ((SphereCollider)o).enabled, Updater = (object o, ref object v) => { var x = ((SphereCollider)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS
            { "UnityEngine.SpringJoint", new UnityProperty[] {
                new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody), Setter = (o, v) => ((SpringJoint)o).connectedBody = (UnityEngine.Rigidbody)v, Getter = (o) => ((SpringJoint)o).connectedBody, },
            #if UNITY_2020_2_OR_NEWER
                new UnityProperty { Name = "connectedArticulationBody", PropertyType = typeof(UnityEngine.ArticulationBody), Setter = (o, v) => ((SpringJoint)o).connectedArticulationBody = (UnityEngine.ArticulationBody)v, Getter = (o) => ((SpringJoint)o).connectedArticulationBody, },
            #endif
                new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((SpringJoint)o).anchor = (UnityEngine.Vector3)v, Getter = (o) => ((SpringJoint)o).anchor, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).anchor; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "axis", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((SpringJoint)o).axis = (UnityEngine.Vector3)v, Getter = (o) => ((SpringJoint)o).axis, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).axis; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpringJoint)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((SpringJoint)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((SpringJoint)o).connectedAnchor = (UnityEngine.Vector3)v, Getter = (o) => ((SpringJoint)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "spring", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint)o).spring = (System.Single)v, Getter = (o) => ((SpringJoint)o).spring, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).spring; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "damper", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint)o).damper = (System.Single)v, Getter = (o) => ((SpringJoint)o).damper, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).damper; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "minDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint)o).minDistance = (System.Single)v, Getter = (o) => ((SpringJoint)o).minDistance, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).minDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "maxDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint)o).maxDistance = (System.Single)v, Getter = (o) => ((SpringJoint)o).maxDistance, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).maxDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "tolerance", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint)o).tolerance = (System.Single)v, Getter = (o) => ((SpringJoint)o).tolerance, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).tolerance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint)o).breakForce = (System.Single)v, Getter = (o) => ((SpringJoint)o).breakForce, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint)o).breakTorque = (System.Single)v, Getter = (o) => ((SpringJoint)o).breakTorque, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpringJoint)o).enableCollision = (System.Boolean)v, Getter = (o) => ((SpringJoint)o).enableCollision, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enablePreprocessing", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpringJoint)o).enablePreprocessing = (System.Boolean)v, Getter = (o) => ((SpringJoint)o).enablePreprocessing, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).enablePreprocessing; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "massScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint)o).massScale = (System.Single)v, Getter = (o) => ((SpringJoint)o).massScale, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).massScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedMassScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint)o).connectedMassScale = (System.Single)v, Getter = (o) => ((SpringJoint)o).connectedMassScale, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).connectedMassScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.SpringJoint2D", new UnityProperty[] {
                new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpringJoint2D)o).enableCollision = (System.Boolean)v, Getter = (o) => ((SpringJoint2D)o).enableCollision, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody2D), Setter = (o, v) => ((SpringJoint2D)o).connectedBody = (UnityEngine.Rigidbody2D)v, Getter = (o) => ((SpringJoint2D)o).connectedBody, },
                new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpringJoint2D)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((SpringJoint2D)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((SpringJoint2D)o).anchor = (UnityEngine.Vector2)v, Getter = (o) => ((SpringJoint2D)o).anchor, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).anchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((SpringJoint2D)o).connectedAnchor = (UnityEngine.Vector2)v, Getter = (o) => ((SpringJoint2D)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "autoConfigureDistance", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpringJoint2D)o).autoConfigureDistance = (System.Boolean)v, Getter = (o) => ((SpringJoint2D)o).autoConfigureDistance, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).autoConfigureDistance; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "distance", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint2D)o).distance = (System.Single)v, Getter = (o) => ((SpringJoint2D)o).distance, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).distance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "dampingRatio", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint2D)o).dampingRatio = (System.Single)v, Getter = (o) => ((SpringJoint2D)o).dampingRatio, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).dampingRatio; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "frequency", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint2D)o).frequency = (System.Single)v, Getter = (o) => ((SpringJoint2D)o).frequency, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).frequency; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint2D)o).breakForce = (System.Single)v, Getter = (o) => ((SpringJoint2D)o).breakForce, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpringJoint2D)o).enabled = (System.Boolean)v, Getter = (o) => ((SpringJoint2D)o).enabled, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


            { "UnityEngine.SpriteMask", new UnityProperty[] {
                new UnityProperty { Name = "sprite", PropertyType = typeof(UnityEngine.Sprite), Setter = (o, v) => ((SpriteMask)o).sprite = (UnityEngine.Sprite)v, Getter = (o) => ((SpriteMask)o).sprite, },
                new UnityProperty { Name = "alphaCutoff", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpriteMask)o).alphaCutoff = (System.Single)v, Getter = (o) => ((SpriteMask)o).alphaCutoff, Updater = (object o, ref object v) => { var x = ((SpriteMask)o).alphaCutoff; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "isCustomRangeActive", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpriteMask)o).isCustomRangeActive = (System.Boolean)v, Getter = (o) => ((SpriteMask)o).isCustomRangeActive, Updater = (object o, ref object v) => { var x = ((SpriteMask)o).isCustomRangeActive; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "frontSortingOrder", PropertyType = typeof(System.Int32), Setter = (o, v) => ((SpriteMask)o).frontSortingOrder = (System.Int32)v, Getter = (o) => ((SpriteMask)o).frontSortingOrder, Updater = (object o, ref object v) => { var x = ((SpriteMask)o).frontSortingOrder; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpriteMask)o).enabled = (System.Boolean)v, Getter = (o) => ((SpriteMask)o).enabled, Updater = (object o, ref object v) => { var x = ((SpriteMask)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},


            { "UnityEngine.SpriteRenderer", new UnityProperty[] {
                new UnityProperty { Name = "sprite", PropertyType = typeof(UnityEngine.Sprite), Setter = (o, v) => ((SpriteRenderer)o).sprite = (UnityEngine.Sprite)v, Getter = (o) => ((SpriteRenderer)o).sprite, },
                new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((SpriteRenderer)o).color = (UnityEngine.Color)v, Getter = (o) => ((SpriteRenderer)o).color, Updater = (object o, ref object v) => { var x = ((SpriteRenderer)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "flipX", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpriteRenderer)o).flipX = (System.Boolean)v, Getter = (o) => ((SpriteRenderer)o).flipX, Updater = (object o, ref object v) => { var x = ((SpriteRenderer)o).flipX; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "flipY", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpriteRenderer)o).flipY = (System.Boolean)v, Getter = (o) => ((SpriteRenderer)o).flipY, Updater = (object o, ref object v) => { var x = ((SpriteRenderer)o).flipY; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "drawMode", PropertyType = typeof(UnityEngine.SpriteDrawMode), Setter = (o, v) => ((SpriteRenderer)o).drawMode = (UnityEngine.SpriteDrawMode)v, Getter = (o) => ((SpriteRenderer)o).drawMode, Updater = (object o, ref object v) => { var x = (int)((SpriteRenderer)o).drawMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "maskInteraction", PropertyType = typeof(UnityEngine.SpriteMaskInteraction), Setter = (o, v) => ((SpriteRenderer)o).maskInteraction = (UnityEngine.SpriteMaskInteraction)v, Getter = (o) => ((SpriteRenderer)o).maskInteraction, Updater = (object o, ref object v) => { var x = (int)((SpriteRenderer)o).maskInteraction; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "spriteSortPoint", PropertyType = typeof(UnityEngine.SpriteSortPoint), Setter = (o, v) => ((SpriteRenderer)o).spriteSortPoint = (UnityEngine.SpriteSortPoint)v, Getter = (o) => ((SpriteRenderer)o).spriteSortPoint, Updater = (object o, ref object v) => { var x = (int)((SpriteRenderer)o).spriteSortPoint; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sharedMaterials", PropertyType = typeof(UnityEngine.Material[]), Setter = (o, v) => ((SpriteRenderer)o).sharedMaterials = (UnityEngine.Material[])v, Getter = (o) => ((SpriteRenderer)o).sharedMaterials, Updater = (object o, ref object v) => { var x = ((SpriteRenderer)o).sharedMaterials; if (x.Length != ((UnityEngine.Material[])v).Length) { v = x; return true; } else { v = x; return false; }} },
                new UnityProperty { Name = "sortingLayerID", PropertyType = typeof(System.Int32), Setter = (o, v) => ((SpriteRenderer)o).sortingLayerID = (System.Int32)v, Getter = (o) => ((SpriteRenderer)o).sortingLayerID, Updater = (object o, ref object v) => { var x = ((SpriteRenderer)o).sortingLayerID; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sortingOrder", PropertyType = typeof(System.Int32), Setter = (o, v) => ((SpriteRenderer)o).sortingOrder = (System.Int32)v, Getter = (o) => ((SpriteRenderer)o).sortingOrder, Updater = (object o, ref object v) => { var x = ((SpriteRenderer)o).sortingOrder; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpriteRenderer)o).enabled = (System.Boolean)v, Getter = (o) => ((SpriteRenderer)o).enabled, Updater = (object o, ref object v) => { var x = ((SpriteRenderer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},


        #if UNITY_UI
            { "UnityEngine.U2D.SpriteShapeRenderer", new UnityProperty[] {
                new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((UnityEngine.U2D.SpriteShapeRenderer)o).color = (UnityEngine.Color)v, Getter = (o) => ((UnityEngine.U2D.SpriteShapeRenderer)o).color, Updater = (object o, ref object v) => { var x = ((UnityEngine.U2D.SpriteShapeRenderer)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "maskInteraction", PropertyType = typeof(UnityEngine.SpriteMaskInteraction), Setter = (o, v) => ((UnityEngine.U2D.SpriteShapeRenderer)o).maskInteraction = (UnityEngine.SpriteMaskInteraction)v, Getter = (o) => ((UnityEngine.U2D.SpriteShapeRenderer)o).maskInteraction, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.U2D.SpriteShapeRenderer)o).maskInteraction; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sharedMaterials", PropertyType = typeof(UnityEngine.Material[]), Setter = (o, v) => ((UnityEngine.U2D.SpriteShapeRenderer)o).sharedMaterials = (UnityEngine.Material[])v, Getter = (o) => ((UnityEngine.U2D.SpriteShapeRenderer)o).sharedMaterials, Updater = (object o, ref object v) => { var x = ((UnityEngine.U2D.SpriteShapeRenderer)o).sharedMaterials; if (x.Length != ((UnityEngine.Material[])v).Length) { v = x; return true; } else { v = x; return false; }} },
                new UnityProperty { Name = "sortingLayerID", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.U2D.SpriteShapeRenderer)o).sortingLayerID = (System.Int32)v, Getter = (o) => ((UnityEngine.U2D.SpriteShapeRenderer)o).sortingLayerID, Updater = (object o, ref object v) => { var x = ((UnityEngine.U2D.SpriteShapeRenderer)o).sortingLayerID; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sortingOrder", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.U2D.SpriteShapeRenderer)o).sortingOrder = (System.Int32)v, Getter = (o) => ((UnityEngine.U2D.SpriteShapeRenderer)o).sortingOrder, Updater = (object o, ref object v) => { var x = ((UnityEngine.U2D.SpriteShapeRenderer)o).sortingOrder; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.U2D.SpriteShapeRenderer)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.U2D.SpriteShapeRenderer)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.U2D.SpriteShapeRenderer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.EventSystems.StandaloneInputModule", new UnityProperty[] {
                new UnityProperty { Name = "horizontalAxis", PropertyType = typeof(System.String), Setter = (o, v) => ((UnityEngine.EventSystems.StandaloneInputModule)o).horizontalAxis = (System.String)v, Getter = (o) => ((UnityEngine.EventSystems.StandaloneInputModule)o).horizontalAxis, },
                new UnityProperty { Name = "verticalAxis", PropertyType = typeof(System.String), Setter = (o, v) => ((UnityEngine.EventSystems.StandaloneInputModule)o).verticalAxis = (System.String)v, Getter = (o) => ((UnityEngine.EventSystems.StandaloneInputModule)o).verticalAxis, },
                new UnityProperty { Name = "submitButton", PropertyType = typeof(System.String), Setter = (o, v) => ((UnityEngine.EventSystems.StandaloneInputModule)o).submitButton = (System.String)v, Getter = (o) => ((UnityEngine.EventSystems.StandaloneInputModule)o).submitButton, },
                new UnityProperty { Name = "cancelButton", PropertyType = typeof(System.String), Setter = (o, v) => ((UnityEngine.EventSystems.StandaloneInputModule)o).cancelButton = (System.String)v, Getter = (o) => ((UnityEngine.EventSystems.StandaloneInputModule)o).cancelButton, },
                new UnityProperty { Name = "inputActionsPerSecond", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.EventSystems.StandaloneInputModule)o).inputActionsPerSecond = (System.Single)v, Getter = (o) => ((UnityEngine.EventSystems.StandaloneInputModule)o).inputActionsPerSecond, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.StandaloneInputModule)o).inputActionsPerSecond; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "repeatDelay", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.EventSystems.StandaloneInputModule)o).repeatDelay = (System.Single)v, Getter = (o) => ((UnityEngine.EventSystems.StandaloneInputModule)o).repeatDelay, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.StandaloneInputModule)o).repeatDelay; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.EventSystems.StandaloneInputModule)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.EventSystems.StandaloneInputModule)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.StandaloneInputModule)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


            { "UnityEngine.StreamingController", new UnityProperty[] {
                new UnityProperty { Name = "streamingMipmapBias", PropertyType = typeof(System.Single), Setter = (o, v) => ((StreamingController)o).streamingMipmapBias = (System.Single)v, Getter = (o) => ((StreamingController)o).streamingMipmapBias, Updater = (object o, ref object v) => { var x = ((StreamingController)o).streamingMipmapBias; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((StreamingController)o).enabled = (System.Boolean)v, Getter = (o) => ((StreamingController)o).enabled, Updater = (object o, ref object v) => { var x = ((StreamingController)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},


        #if UNITY_PHYSICS_2D
            { "UnityEngine.SurfaceEffector2D", new UnityProperty[] {
                new UnityProperty { Name = "useColliderMask", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SurfaceEffector2D)o).useColliderMask = (System.Boolean)v, Getter = (o) => ((SurfaceEffector2D)o).useColliderMask, Updater = (object o, ref object v) => { var x = ((SurfaceEffector2D)o).useColliderMask; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "colliderMask", PropertyType = typeof(System.Int32), Setter = (o, v) => ((SurfaceEffector2D)o).colliderMask = (System.Int32)v, Getter = (o) => ((SurfaceEffector2D)o).colliderMask, Updater = (object o, ref object v) => { var x = ((SurfaceEffector2D)o).colliderMask; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "speed", PropertyType = typeof(System.Single), Setter = (o, v) => ((SurfaceEffector2D)o).speed = (System.Single)v, Getter = (o) => ((SurfaceEffector2D)o).speed, Updater = (object o, ref object v) => { var x = ((SurfaceEffector2D)o).speed; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "speedVariation", PropertyType = typeof(System.Single), Setter = (o, v) => ((SurfaceEffector2D)o).speedVariation = (System.Single)v, Getter = (o) => ((SurfaceEffector2D)o).speedVariation, Updater = (object o, ref object v) => { var x = ((SurfaceEffector2D)o).speedVariation; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "forceScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((SurfaceEffector2D)o).forceScale = (System.Single)v, Getter = (o) => ((SurfaceEffector2D)o).forceScale, Updater = (object o, ref object v) => { var x = ((SurfaceEffector2D)o).forceScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useContactForce", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SurfaceEffector2D)o).useContactForce = (System.Boolean)v, Getter = (o) => ((SurfaceEffector2D)o).useContactForce, Updater = (object o, ref object v) => { var x = ((SurfaceEffector2D)o).useContactForce; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useFriction", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SurfaceEffector2D)o).useFriction = (System.Boolean)v, Getter = (o) => ((SurfaceEffector2D)o).useFriction, Updater = (object o, ref object v) => { var x = ((SurfaceEffector2D)o).useFriction; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useBounce", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SurfaceEffector2D)o).useBounce = (System.Boolean)v, Getter = (o) => ((SurfaceEffector2D)o).useBounce, Updater = (object o, ref object v) => { var x = ((SurfaceEffector2D)o).useBounce; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SurfaceEffector2D)o).enabled = (System.Boolean)v, Getter = (o) => ((SurfaceEffector2D)o).enabled, Updater = (object o, ref object v) => { var x = ((SurfaceEffector2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.TargetJoint2D", new UnityProperty[] {
                new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((TargetJoint2D)o).anchor = (UnityEngine.Vector2)v, Getter = (o) => ((TargetJoint2D)o).anchor, Updater = (object o, ref object v) => { var x = ((TargetJoint2D)o).anchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "target", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((TargetJoint2D)o).target = (UnityEngine.Vector2)v, Getter = (o) => ((TargetJoint2D)o).target, Updater = (object o, ref object v) => { var x = ((TargetJoint2D)o).target; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "autoConfigureTarget", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TargetJoint2D)o).autoConfigureTarget = (System.Boolean)v, Getter = (o) => ((TargetJoint2D)o).autoConfigureTarget, Updater = (object o, ref object v) => { var x = ((TargetJoint2D)o).autoConfigureTarget; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "maxForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((TargetJoint2D)o).maxForce = (System.Single)v, Getter = (o) => ((TargetJoint2D)o).maxForce, Updater = (object o, ref object v) => { var x = ((TargetJoint2D)o).maxForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "dampingRatio", PropertyType = typeof(System.Single), Setter = (o, v) => ((TargetJoint2D)o).dampingRatio = (System.Single)v, Getter = (o) => ((TargetJoint2D)o).dampingRatio, Updater = (object o, ref object v) => { var x = ((TargetJoint2D)o).dampingRatio; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "frequency", PropertyType = typeof(System.Single), Setter = (o, v) => ((TargetJoint2D)o).frequency = (System.Single)v, Getter = (o) => ((TargetJoint2D)o).frequency, Updater = (object o, ref object v) => { var x = ((TargetJoint2D)o).frequency; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((TargetJoint2D)o).breakForce = (System.Single)v, Getter = (o) => ((TargetJoint2D)o).breakForce, Updater = (object o, ref object v) => { var x = ((TargetJoint2D)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TargetJoint2D)o).enabled = (System.Boolean)v, Getter = (o) => ((TargetJoint2D)o).enabled, Updater = (object o, ref object v) => { var x = ((TargetJoint2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_TERRAIN_PHYSICS
            { "UnityEngine.TerrainCollider", new UnityProperty[] {
                new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TerrainCollider)o).isTrigger = (System.Boolean)v, Getter = (o) => ((TerrainCollider)o).isTrigger, Updater = (object o, ref object v) => { var x = ((TerrainCollider)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #if !UNITY_6000_0_OR_NEWER
                new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicMaterial), Setter = (o, v) => ((TerrainCollider)o).sharedMaterial = (PhysicMaterial)v, Getter = (o) => ((TerrainCollider)o).sharedMaterial, },
            #endif
            #if UNITY_6000_0_OR_NEWER
                new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicsMaterial), Setter = (o, v) => ((TerrainCollider)o).sharedMaterial = (PhysicsMaterial)v, Getter = (o) => ((TerrainCollider)o).sharedMaterial, },
            #endif
                new UnityProperty { Name = "terrainData", PropertyType = typeof(UnityEngine.TerrainData), Setter = (o, v) => ((TerrainCollider)o).terrainData = (UnityEngine.TerrainData)v, Getter = (o) => ((TerrainCollider)o).terrainData, },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TerrainCollider)o).enabled = (System.Boolean)v, Getter = (o) => ((TerrainCollider)o).enabled, Updater = (object o, ref object v) => { var x = ((TerrainCollider)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.Text", new UnityProperty[] {
                new UnityProperty { Name = "text", PropertyType = typeof(System.String), Setter = (o, v) => ((UnityEngine.UI.Text)o).text = (System.String)v, Getter = (o) => ((UnityEngine.UI.Text)o).text, },
                new UnityProperty { Name = "font", PropertyType = typeof(UnityEngine.Font), Setter = (o, v) => ((UnityEngine.UI.Text)o).font = (UnityEngine.Font)v, Getter = (o) => ((UnityEngine.UI.Text)o).font, },
                new UnityProperty { Name = "fontStyle", PropertyType = typeof(UnityEngine.FontStyle), Setter = (o, v) => ((UnityEngine.UI.Text)o).fontStyle = (UnityEngine.FontStyle)v, Getter = (o) => ((UnityEngine.UI.Text)o).fontStyle, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Text)o).fontStyle; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "fontSize", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.UI.Text)o).fontSize = (System.Int32)v, Getter = (o) => ((UnityEngine.UI.Text)o).fontSize, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).fontSize; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "lineSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.Text)o).lineSpacing = (System.Single)v, Getter = (o) => ((UnityEngine.UI.Text)o).lineSpacing, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).lineSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "supportRichText", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Text)o).supportRichText = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Text)o).supportRichText, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).supportRichText; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "alignment", PropertyType = typeof(UnityEngine.TextAnchor), Setter = (o, v) => ((UnityEngine.UI.Text)o).alignment = (UnityEngine.TextAnchor)v, Getter = (o) => ((UnityEngine.UI.Text)o).alignment, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Text)o).alignment; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "alignByGeometry", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Text)o).alignByGeometry = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Text)o).alignByGeometry, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).alignByGeometry; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "horizontalOverflow", PropertyType = typeof(UnityEngine.HorizontalWrapMode), Setter = (o, v) => ((UnityEngine.UI.Text)o).horizontalOverflow = (UnityEngine.HorizontalWrapMode)v, Getter = (o) => ((UnityEngine.UI.Text)o).horizontalOverflow, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Text)o).horizontalOverflow; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "verticalOverflow", PropertyType = typeof(UnityEngine.VerticalWrapMode), Setter = (o, v) => ((UnityEngine.UI.Text)o).verticalOverflow = (UnityEngine.VerticalWrapMode)v, Getter = (o) => ((UnityEngine.UI.Text)o).verticalOverflow, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Text)o).verticalOverflow; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "resizeTextForBestFit", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Text)o).resizeTextForBestFit = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Text)o).resizeTextForBestFit, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).resizeTextForBestFit; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((UnityEngine.UI.Text)o).color = (UnityEngine.Color)v, Getter = (o) => ((UnityEngine.UI.Text)o).color, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "raycastTarget", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Text)o).raycastTarget = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Text)o).raycastTarget, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).raycastTarget; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #if UNITY_2020_1_OR_NEWER
                new UnityProperty { Name = "raycastPadding", PropertyType = typeof(UnityEngine.Vector4), Setter = (o, v) => ((UnityEngine.UI.Text)o).raycastPadding = (UnityEngine.Vector4)v, Getter = (o) => ((UnityEngine.UI.Text)o).raycastPadding, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).raycastPadding; if (!x.Equals((UnityEngine.Vector4)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "maskable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Text)o).maskable = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Text)o).maskable, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).maskable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Text)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Text)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_TMPRO
            { "TMPro.TextContainer", new UnityProperty[] {
                new UnityProperty { Name = "anchorPosition", PropertyType = typeof(TMPro.TextContainerAnchors), Setter = (o, v) => ((TMPro.TextContainer)o).anchorPosition = (TMPro.TextContainerAnchors)v, Getter = (o) => ((TMPro.TextContainer)o).anchorPosition, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextContainer)o).anchorPosition; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "width", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextContainer)o).width = (System.Single)v, Getter = (o) => ((TMPro.TextContainer)o).width, Updater = (object o, ref object v) => { var x = ((TMPro.TextContainer)o).width; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "height", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextContainer)o).height = (System.Single)v, Getter = (o) => ((TMPro.TextContainer)o).height, Updater = (object o, ref object v) => { var x = ((TMPro.TextContainer)o).height; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "margins", PropertyType = typeof(UnityEngine.Vector4), Setter = (o, v) => ((TMPro.TextContainer)o).margins = (UnityEngine.Vector4)v, Getter = (o) => ((TMPro.TextContainer)o).margins, Updater = (object o, ref object v) => { var x = ((TMPro.TextContainer)o).margins; if (!x.Equals((UnityEngine.Vector4)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextContainer)o).enabled = (System.Boolean)v, Getter = (o) => ((TMPro.TextContainer)o).enabled, Updater = (object o, ref object v) => { var x = ((TMPro.TextContainer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


            { "UnityEngine.TextMesh", new UnityProperty[] {
                new UnityProperty { Name = "text", PropertyType = typeof(System.String), Setter = (o, v) => ((TextMesh)o).text = (System.String)v, Getter = (o) => ((TextMesh)o).text, },
                new UnityProperty { Name = "offsetZ", PropertyType = typeof(System.Single), Setter = (o, v) => ((TextMesh)o).offsetZ = (System.Single)v, Getter = (o) => ((TextMesh)o).offsetZ, Updater = (object o, ref object v) => { var x = ((TextMesh)o).offsetZ; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "characterSize", PropertyType = typeof(System.Single), Setter = (o, v) => ((TextMesh)o).characterSize = (System.Single)v, Getter = (o) => ((TextMesh)o).characterSize, Updater = (object o, ref object v) => { var x = ((TextMesh)o).characterSize; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "lineSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((TextMesh)o).lineSpacing = (System.Single)v, Getter = (o) => ((TextMesh)o).lineSpacing, Updater = (object o, ref object v) => { var x = ((TextMesh)o).lineSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.TextAnchor), Setter = (o, v) => ((TextMesh)o).anchor = (UnityEngine.TextAnchor)v, Getter = (o) => ((TextMesh)o).anchor, Updater = (object o, ref object v) => { var x = (int)((TextMesh)o).anchor; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "alignment", PropertyType = typeof(UnityEngine.TextAlignment), Setter = (o, v) => ((TextMesh)o).alignment = (UnityEngine.TextAlignment)v, Getter = (o) => ((TextMesh)o).alignment, Updater = (object o, ref object v) => { var x = (int)((TextMesh)o).alignment; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "tabSize", PropertyType = typeof(System.Single), Setter = (o, v) => ((TextMesh)o).tabSize = (System.Single)v, Getter = (o) => ((TextMesh)o).tabSize, Updater = (object o, ref object v) => { var x = ((TextMesh)o).tabSize; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "fontSize", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TextMesh)o).fontSize = (System.Int32)v, Getter = (o) => ((TextMesh)o).fontSize, Updater = (object o, ref object v) => { var x = ((TextMesh)o).fontSize; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "fontStyle", PropertyType = typeof(UnityEngine.FontStyle), Setter = (o, v) => ((TextMesh)o).fontStyle = (UnityEngine.FontStyle)v, Getter = (o) => ((TextMesh)o).fontStyle, Updater = (object o, ref object v) => { var x = (int)((TextMesh)o).fontStyle; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "richText", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TextMesh)o).richText = (System.Boolean)v, Getter = (o) => ((TextMesh)o).richText, Updater = (object o, ref object v) => { var x = ((TextMesh)o).richText; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "font", PropertyType = typeof(UnityEngine.Font), Setter = (o, v) => ((TextMesh)o).font = (UnityEngine.Font)v, Getter = (o) => ((TextMesh)o).font, },
                new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((TextMesh)o).color = (UnityEngine.Color)v, Getter = (o) => ((TextMesh)o).color, Updater = (object o, ref object v) => { var x = ((TextMesh)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
            }},


        #if UNITY_TMPRO
            { "TMPro.TextMeshPro", new UnityProperty[] {
                new UnityProperty { Name = "text", PropertyType = typeof(System.String), Setter = (o, v) => ((TMPro.TextMeshPro)o).text = (System.String)v, Getter = (o) => ((TMPro.TextMeshPro)o).text, },
                new UnityProperty { Name = "font", PropertyType = typeof(TMPro.TMP_FontAsset), Setter = (o, v) => ((TMPro.TextMeshPro)o).font = (TMPro.TMP_FontAsset)v, Getter = (o) => ((TMPro.TextMeshPro)o).font, },
                new UnityProperty { Name = "fontStyle", PropertyType = typeof(TMPro.FontStyles), Setter = (o, v) => ((TMPro.TextMeshPro)o).fontStyle = (TMPro.FontStyles)v, Getter = (o) => ((TMPro.TextMeshPro)o).fontStyle, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshPro)o).fontStyle; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "fontSize", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshPro)o).fontSize = (System.Single)v, Getter = (o) => ((TMPro.TextMeshPro)o).fontSize, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).fontSize; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "autoSizeTextContainer", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).autoSizeTextContainer = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).autoSizeTextContainer, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).autoSizeTextContainer; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((TMPro.TextMeshPro)o).color = (UnityEngine.Color)v, Getter = (o) => ((TMPro.TextMeshPro)o).color, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "colorGradientPreset", PropertyType = typeof(TMPro.TMP_ColorGradient), Setter = (o, v) => ((TMPro.TextMeshPro)o).colorGradientPreset = (TMPro.TMP_ColorGradient)v, Getter = (o) => ((TMPro.TextMeshPro)o).colorGradientPreset, },
                new UnityProperty { Name = "colorGradient", PropertyType = typeof(TMPro.VertexGradient), Setter = (o, v) => ((TMPro.TextMeshPro)o).colorGradient = (TMPro.VertexGradient)v, Getter = (o) => ((TMPro.TextMeshPro)o).colorGradient, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).colorGradient; if (!x.Equals((TMPro.VertexGradient)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "overrideColorTags", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).overrideColorTags = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).overrideColorTags, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).overrideColorTags; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "characterSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshPro)o).characterSpacing = (System.Single)v, Getter = (o) => ((TMPro.TextMeshPro)o).characterSpacing, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).characterSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "wordSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshPro)o).wordSpacing = (System.Single)v, Getter = (o) => ((TMPro.TextMeshPro)o).wordSpacing, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).wordSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "lineSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshPro)o).lineSpacing = (System.Single)v, Getter = (o) => ((TMPro.TextMeshPro)o).lineSpacing, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).lineSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "paragraphSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshPro)o).paragraphSpacing = (System.Single)v, Getter = (o) => ((TMPro.TextMeshPro)o).paragraphSpacing, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).paragraphSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "alignment", PropertyType = typeof(TMPro.TextAlignmentOptions), Setter = (o, v) => ((TMPro.TextMeshPro)o).alignment = (TMPro.TextAlignmentOptions)v, Getter = (o) => ((TMPro.TextMeshPro)o).alignment, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshPro)o).alignment; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
            #if !UNITY_2023_2_OR_NEWER
                new UnityProperty { Name = "enableWordWrapping", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).enableWordWrapping = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).enableWordWrapping, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).enableWordWrapping; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #endif
            #if UNITY_2023_2_OR_NEWER
                new UnityProperty { Name = "textWrappingMode", PropertyType = typeof(TMPro.TextWrappingModes), Setter = (o, v) => ((TMPro.TextMeshPro)o).textWrappingMode = (TMPro.TextWrappingModes)v, Getter = (o) => ((TMPro.TextMeshPro)o).textWrappingMode, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshPro)o).textWrappingMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "overflowMode", PropertyType = typeof(TMPro.TextOverflowModes), Setter = (o, v) => ((TMPro.TextMeshPro)o).overflowMode = (TMPro.TextOverflowModes)v, Getter = (o) => ((TMPro.TextMeshPro)o).overflowMode, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshPro)o).overflowMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "horizontalMapping", PropertyType = typeof(TMPro.TextureMappingOptions), Setter = (o, v) => ((TMPro.TextMeshPro)o).horizontalMapping = (TMPro.TextureMappingOptions)v, Getter = (o) => ((TMPro.TextMeshPro)o).horizontalMapping, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshPro)o).horizontalMapping; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "verticalMapping", PropertyType = typeof(TMPro.TextureMappingOptions), Setter = (o, v) => ((TMPro.TextMeshPro)o).verticalMapping = (TMPro.TextureMappingOptions)v, Getter = (o) => ((TMPro.TextMeshPro)o).verticalMapping, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshPro)o).verticalMapping; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "margin", PropertyType = typeof(UnityEngine.Vector4), Setter = (o, v) => ((TMPro.TextMeshPro)o).margin = (UnityEngine.Vector4)v, Getter = (o) => ((TMPro.TextMeshPro)o).margin, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).margin; if (!x.Equals((UnityEngine.Vector4)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sortingLayerID", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TMPro.TextMeshPro)o).sortingLayerID = (System.Int32)v, Getter = (o) => ((TMPro.TextMeshPro)o).sortingLayerID, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).sortingLayerID; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sortingOrder", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TMPro.TextMeshPro)o).sortingOrder = (System.Int32)v, Getter = (o) => ((TMPro.TextMeshPro)o).sortingOrder, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).sortingOrder; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "geometrySortingOrder", PropertyType = typeof(TMPro.VertexSortingOrder), Setter = (o, v) => ((TMPro.TextMeshPro)o).geometrySortingOrder = (TMPro.VertexSortingOrder)v, Getter = (o) => ((TMPro.TextMeshPro)o).geometrySortingOrder, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshPro)o).geometrySortingOrder; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "isTextObjectScaleStatic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).isTextObjectScaleStatic = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).isTextObjectScaleStatic, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).isTextObjectScaleStatic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "isOrthographic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).isOrthographic = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).isOrthographic, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).isOrthographic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "richText", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).richText = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).richText, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).richText; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "parseCtrlCharacters", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).parseCtrlCharacters = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).parseCtrlCharacters, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).parseCtrlCharacters; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useMaxVisibleDescender", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).useMaxVisibleDescender = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).useMaxVisibleDescender, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).useMaxVisibleDescender; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "spriteAsset", PropertyType = typeof(TMPro.TMP_SpriteAsset), Setter = (o, v) => ((TMPro.TextMeshPro)o).spriteAsset = (TMPro.TMP_SpriteAsset)v, Getter = (o) => ((TMPro.TextMeshPro)o).spriteAsset, },
                new UnityProperty { Name = "styleSheet", PropertyType = typeof(TMPro.TMP_StyleSheet), Setter = (o, v) => ((TMPro.TextMeshPro)o).styleSheet = (TMPro.TMP_StyleSheet)v, Getter = (o) => ((TMPro.TextMeshPro)o).styleSheet, },
            #if !UNITY_2023_2_OR_NEWER
                new UnityProperty { Name = "enableKerning", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).enableKerning = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).enableKerning, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).enableKerning; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #endif
            #if UNITY_2023_2_OR_NEWER
                new UnityProperty { Name = "fontFeatures", PropertyType = typeof(System.Collections.Generic.List<UnityEngine.TextCore.OTL_FeatureTag>), Setter = (o, v) => ((TMPro.TextMeshPro)o).fontFeatures = (System.Collections.Generic.List<UnityEngine.TextCore.OTL_FeatureTag>)v, Getter = (o) => ((TMPro.TextMeshPro)o).fontFeatures, },
            #endif
                new UnityProperty { Name = "extraPadding", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).extraPadding = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).extraPadding, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).extraPadding; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).enabled = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).enabled, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_TMPRO
            { "TMPro.TextMeshProUGUI", new UnityProperty[] {
                new UnityProperty { Name = "text", PropertyType = typeof(System.String), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).text = (System.String)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).text, },
                new UnityProperty { Name = "font", PropertyType = typeof(TMPro.TMP_FontAsset), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).font = (TMPro.TMP_FontAsset)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).font, },
                new UnityProperty { Name = "fontStyle", PropertyType = typeof(TMPro.FontStyles), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).fontStyle = (TMPro.FontStyles)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).fontStyle, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshProUGUI)o).fontStyle; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "fontSize", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).fontSize = (System.Single)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).fontSize, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).fontSize; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "autoSizeTextContainer", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).autoSizeTextContainer = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).autoSizeTextContainer, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).autoSizeTextContainer; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).color = (UnityEngine.Color)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).color, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "colorGradientPreset", PropertyType = typeof(TMPro.TMP_ColorGradient), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).colorGradientPreset = (TMPro.TMP_ColorGradient)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).colorGradientPreset, },
                new UnityProperty { Name = "colorGradient", PropertyType = typeof(TMPro.VertexGradient), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).colorGradient = (TMPro.VertexGradient)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).colorGradient, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).colorGradient; if (!x.Equals((TMPro.VertexGradient)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "overrideColorTags", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).overrideColorTags = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).overrideColorTags, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).overrideColorTags; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "characterSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).characterSpacing = (System.Single)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).characterSpacing, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).characterSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "wordSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).wordSpacing = (System.Single)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).wordSpacing, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).wordSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "lineSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).lineSpacing = (System.Single)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).lineSpacing, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).lineSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "paragraphSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).paragraphSpacing = (System.Single)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).paragraphSpacing, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).paragraphSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "alignment", PropertyType = typeof(TMPro.TextAlignmentOptions), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).alignment = (TMPro.TextAlignmentOptions)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).alignment, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshProUGUI)o).alignment; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
            #if !UNITY_2023_2_OR_NEWER
                new UnityProperty { Name = "enableWordWrapping", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).enableWordWrapping = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).enableWordWrapping, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).enableWordWrapping; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #endif
            #if UNITY_2023_2_OR_NEWER
                new UnityProperty { Name = "textWrappingMode", PropertyType = typeof(TMPro.TextWrappingModes), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).textWrappingMode = (TMPro.TextWrappingModes)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).textWrappingMode, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshProUGUI)o).textWrappingMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "overflowMode", PropertyType = typeof(TMPro.TextOverflowModes), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).overflowMode = (TMPro.TextOverflowModes)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).overflowMode, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshProUGUI)o).overflowMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "horizontalMapping", PropertyType = typeof(TMPro.TextureMappingOptions), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).horizontalMapping = (TMPro.TextureMappingOptions)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).horizontalMapping, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshProUGUI)o).horizontalMapping; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "verticalMapping", PropertyType = typeof(TMPro.TextureMappingOptions), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).verticalMapping = (TMPro.TextureMappingOptions)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).verticalMapping, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshProUGUI)o).verticalMapping; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "margin", PropertyType = typeof(UnityEngine.Vector4), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).margin = (UnityEngine.Vector4)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).margin, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).margin; if (!x.Equals((UnityEngine.Vector4)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "geometrySortingOrder", PropertyType = typeof(TMPro.VertexSortingOrder), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).geometrySortingOrder = (TMPro.VertexSortingOrder)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).geometrySortingOrder, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshProUGUI)o).geometrySortingOrder; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "isTextObjectScaleStatic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).isTextObjectScaleStatic = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).isTextObjectScaleStatic, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).isTextObjectScaleStatic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "isOrthographic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).isOrthographic = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).isOrthographic, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).isOrthographic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "richText", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).richText = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).richText, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).richText; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "parseCtrlCharacters", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).parseCtrlCharacters = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).parseCtrlCharacters, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).parseCtrlCharacters; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useMaxVisibleDescender", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).useMaxVisibleDescender = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).useMaxVisibleDescender, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).useMaxVisibleDescender; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "spriteAsset", PropertyType = typeof(TMPro.TMP_SpriteAsset), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).spriteAsset = (TMPro.TMP_SpriteAsset)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).spriteAsset, },
                new UnityProperty { Name = "styleSheet", PropertyType = typeof(TMPro.TMP_StyleSheet), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).styleSheet = (TMPro.TMP_StyleSheet)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).styleSheet, },
            #if !UNITY_2023_2_OR_NEWER
                new UnityProperty { Name = "enableKerning", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).enableKerning = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).enableKerning, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).enableKerning; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #endif
            #if UNITY_2023_2_OR_NEWER
                new UnityProperty { Name = "fontFeatures", PropertyType = typeof(System.Collections.Generic.List<UnityEngine.TextCore.OTL_FeatureTag>), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).fontFeatures = (System.Collections.Generic.List<UnityEngine.TextCore.OTL_FeatureTag>)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).fontFeatures, },
            #endif
                new UnityProperty { Name = "extraPadding", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).extraPadding = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).extraPadding, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).extraPadding; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).enabled = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).enabled, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_TILEMAP
            { "UnityEngine.Tilemaps.Tilemap", new UnityProperty[] {
                new UnityProperty { Name = "animationFrameRate", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Tilemaps.Tilemap)o).animationFrameRate = (System.Single)v, Getter = (o) => ((UnityEngine.Tilemaps.Tilemap)o).animationFrameRate, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.Tilemap)o).animationFrameRate; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((UnityEngine.Tilemaps.Tilemap)o).color = (UnityEngine.Color)v, Getter = (o) => ((UnityEngine.Tilemaps.Tilemap)o).color, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.Tilemap)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "tileAnchor", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Tilemaps.Tilemap)o).tileAnchor = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Tilemaps.Tilemap)o).tileAnchor, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.Tilemap)o).tileAnchor; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "orientation", PropertyType = typeof(UnityEngine.Tilemaps.Tilemap.Orientation), Setter = (o, v) => ((UnityEngine.Tilemaps.Tilemap)o).orientation = (UnityEngine.Tilemaps.Tilemap.Orientation)v, Getter = (o) => ((UnityEngine.Tilemaps.Tilemap)o).orientation, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Tilemaps.Tilemap)o).orientation; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Tilemaps.Tilemap)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Tilemaps.Tilemap)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.Tilemap)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_TILEMAP
            { "UnityEngine.Tilemaps.TilemapCollider2D", new UnityProperty[] {
                new UnityProperty { Name = "maximumTileChangeCount", PropertyType = typeof(System.UInt32), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).maximumTileChangeCount = (System.UInt32)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).maximumTileChangeCount, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapCollider2D)o).maximumTileChangeCount; if (!x.Equals((System.UInt32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "extrusionFactor", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).extrusionFactor = (System.Single)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).extrusionFactor, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapCollider2D)o).extrusionFactor; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(UnityEngine.PhysicsMaterial2D), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).sharedMaterial = (UnityEngine.PhysicsMaterial2D)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).sharedMaterial, },
                new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).isTrigger = (System.Boolean)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).isTrigger, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapCollider2D)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "usedByEffector", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).usedByEffector = (System.Boolean)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).usedByEffector, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapCollider2D)o).usedByEffector; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #if !UNITY_2023_1_OR_NEWER
                new UnityProperty { Name = "usedByComposite", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).usedByComposite = (System.Boolean)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).usedByComposite, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapCollider2D)o).usedByComposite; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            #endif
            #if UNITY_2023_1_OR_NEWER
                new UnityProperty { Name = "compositeOperation", PropertyType = typeof(UnityEngine.Collider2D.CompositeOperation), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).compositeOperation = (UnityEngine.Collider2D.CompositeOperation)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).compositeOperation, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Tilemaps.TilemapCollider2D)o).compositeOperation; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
            #endif
                new UnityProperty { Name = "offset", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).offset = (UnityEngine.Vector2)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).offset, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapCollider2D)o).offset; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapCollider2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_TILEMAP
            { "UnityEngine.Tilemaps.TilemapRenderer", new UnityProperty[] {
                new UnityProperty { Name = "sortOrder", PropertyType = typeof(UnityEngine.Tilemaps.TilemapRenderer.SortOrder), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapRenderer)o).sortOrder = (UnityEngine.Tilemaps.TilemapRenderer.SortOrder)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapRenderer)o).sortOrder, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Tilemaps.TilemapRenderer)o).sortOrder; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "mode", PropertyType = typeof(UnityEngine.Tilemaps.TilemapRenderer.Mode), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapRenderer)o).mode = (UnityEngine.Tilemaps.TilemapRenderer.Mode)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapRenderer)o).mode, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Tilemaps.TilemapRenderer)o).mode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "detectChunkCullingBounds", PropertyType = typeof(UnityEngine.Tilemaps.TilemapRenderer.DetectChunkCullingBounds), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapRenderer)o).detectChunkCullingBounds = (UnityEngine.Tilemaps.TilemapRenderer.DetectChunkCullingBounds)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapRenderer)o).detectChunkCullingBounds, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Tilemaps.TilemapRenderer)o).detectChunkCullingBounds; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "chunkCullingBounds", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapRenderer)o).chunkCullingBounds = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapRenderer)o).chunkCullingBounds, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapRenderer)o).chunkCullingBounds; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "maskInteraction", PropertyType = typeof(UnityEngine.SpriteMaskInteraction), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapRenderer)o).maskInteraction = (UnityEngine.SpriteMaskInteraction)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapRenderer)o).maskInteraction, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Tilemaps.TilemapRenderer)o).maskInteraction; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sharedMaterials", PropertyType = typeof(UnityEngine.Material[]), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapRenderer)o).sharedMaterials = (UnityEngine.Material[])v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapRenderer)o).sharedMaterials, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapRenderer)o).sharedMaterials; if (x.Length != ((UnityEngine.Material[])v).Length) { v = x; return true; } else { v = x; return false; }} },
                new UnityProperty { Name = "sortingLayerID", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapRenderer)o).sortingLayerID = (System.Int32)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapRenderer)o).sortingLayerID, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapRenderer)o).sortingLayerID; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sortingOrder", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapRenderer)o).sortingOrder = (System.Int32)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapRenderer)o).sortingOrder, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapRenderer)o).sortingOrder; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapRenderer)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapRenderer)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapRenderer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_TMPRO
            { "TMPro.TMP_Dropdown", new UnityProperty[] {
                new UnityProperty { Name = "template", PropertyType = typeof(UnityEngine.RectTransform), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).template = (UnityEngine.RectTransform)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).template, },
                new UnityProperty { Name = "captionText", PropertyType = typeof(TMPro.TMP_Text), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).captionText = (TMPro.TMP_Text)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).captionText, },
                new UnityProperty { Name = "captionImage", PropertyType = typeof(UnityEngine.UI.Image), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).captionImage = (UnityEngine.UI.Image)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).captionImage, },
                new UnityProperty { Name = "placeholder", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).placeholder = (UnityEngine.UI.Graphic)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).placeholder, },
                new UnityProperty { Name = "itemText", PropertyType = typeof(TMPro.TMP_Text), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).itemText = (TMPro.TMP_Text)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).itemText, },
                new UnityProperty { Name = "itemImage", PropertyType = typeof(UnityEngine.UI.Image), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).itemImage = (UnityEngine.UI.Image)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).itemImage, },
                new UnityProperty { Name = "value", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).value = (System.Int32)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).value, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_Dropdown)o).value; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "alphaFadeSpeed", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).alphaFadeSpeed = (System.Single)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).alphaFadeSpeed, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_Dropdown)o).alphaFadeSpeed; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "options", PropertyType = typeof(System.Collections.Generic.List<TMPro.TMP_Dropdown.OptionData>), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).options = (System.Collections.Generic.List<TMPro.TMP_Dropdown.OptionData>)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).options, },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).enabled = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).enabled, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_Dropdown)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_TMPRO
            { "TMPro.TMP_InputField", new UnityProperty[] {
                new UnityProperty { Name = "interactable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).interactable = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).interactable, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).interactable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "transition", PropertyType = typeof(UnityEngine.UI.Selectable.Transition), Setter = (o, v) => ((TMPro.TMP_InputField)o).transition = (UnityEngine.UI.Selectable.Transition)v, Getter = (o) => ((TMPro.TMP_InputField)o).transition, Updater = (object o, ref object v) => { var x = (int)((TMPro.TMP_InputField)o).transition; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "targetGraphic", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((TMPro.TMP_InputField)o).targetGraphic = (UnityEngine.UI.Graphic)v, Getter = (o) => ((TMPro.TMP_InputField)o).targetGraphic, },
                new UnityProperty { Name = "colors", PropertyType = typeof(UnityEngine.UI.ColorBlock), Setter = (o, v) => ((TMPro.TMP_InputField)o).colors = (UnityEngine.UI.ColorBlock)v, Getter = (o) => ((TMPro.TMP_InputField)o).colors, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).colors; if (!x.Equals((UnityEngine.UI.ColorBlock)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "navigation", PropertyType = typeof(UnityEngine.UI.Navigation), Setter = (o, v) => ((TMPro.TMP_InputField)o).navigation = (UnityEngine.UI.Navigation)v, Getter = (o) => ((TMPro.TMP_InputField)o).navigation, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).navigation; if (!x.Equals((UnityEngine.UI.Navigation)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "textViewport", PropertyType = typeof(UnityEngine.RectTransform), Setter = (o, v) => ((TMPro.TMP_InputField)o).textViewport = (UnityEngine.RectTransform)v, Getter = (o) => ((TMPro.TMP_InputField)o).textViewport, },
                new UnityProperty { Name = "textComponent", PropertyType = typeof(TMPro.TMP_Text), Setter = (o, v) => ((TMPro.TMP_InputField)o).textComponent = (TMPro.TMP_Text)v, Getter = (o) => ((TMPro.TMP_InputField)o).textComponent, },
                new UnityProperty { Name = "text", PropertyType = typeof(System.String), Setter = (o, v) => ((TMPro.TMP_InputField)o).text = (System.String)v, Getter = (o) => ((TMPro.TMP_InputField)o).text, },
                new UnityProperty { Name = "fontAsset", PropertyType = typeof(TMPro.TMP_FontAsset), Setter = (o, v) => ((TMPro.TMP_InputField)o).fontAsset = (TMPro.TMP_FontAsset)v, Getter = (o) => ((TMPro.TMP_InputField)o).fontAsset, },
                new UnityProperty { Name = "pointSize", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TMP_InputField)o).pointSize = (System.Single)v, Getter = (o) => ((TMPro.TMP_InputField)o).pointSize, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).pointSize; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "characterLimit", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TMPro.TMP_InputField)o).characterLimit = (System.Int32)v, Getter = (o) => ((TMPro.TMP_InputField)o).characterLimit, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).characterLimit; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "contentType", PropertyType = typeof(TMPro.TMP_InputField.ContentType), Setter = (o, v) => ((TMPro.TMP_InputField)o).contentType = (TMPro.TMP_InputField.ContentType)v, Getter = (o) => ((TMPro.TMP_InputField)o).contentType, Updater = (object o, ref object v) => { var x = (int)((TMPro.TMP_InputField)o).contentType; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "lineType", PropertyType = typeof(TMPro.TMP_InputField.LineType), Setter = (o, v) => ((TMPro.TMP_InputField)o).lineType = (TMPro.TMP_InputField.LineType)v, Getter = (o) => ((TMPro.TMP_InputField)o).lineType, Updater = (object o, ref object v) => { var x = (int)((TMPro.TMP_InputField)o).lineType; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "placeholder", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((TMPro.TMP_InputField)o).placeholder = (UnityEngine.UI.Graphic)v, Getter = (o) => ((TMPro.TMP_InputField)o).placeholder, },
                new UnityProperty { Name = "verticalScrollbar", PropertyType = typeof(UnityEngine.UI.Scrollbar), Setter = (o, v) => ((TMPro.TMP_InputField)o).verticalScrollbar = (UnityEngine.UI.Scrollbar)v, Getter = (o) => ((TMPro.TMP_InputField)o).verticalScrollbar, },
                new UnityProperty { Name = "caretBlinkRate", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TMP_InputField)o).caretBlinkRate = (System.Single)v, Getter = (o) => ((TMPro.TMP_InputField)o).caretBlinkRate, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).caretBlinkRate; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "caretWidth", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TMPro.TMP_InputField)o).caretWidth = (System.Int32)v, Getter = (o) => ((TMPro.TMP_InputField)o).caretWidth, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).caretWidth; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "customCaretColor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).customCaretColor = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).customCaretColor, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).customCaretColor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "selectionColor", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((TMPro.TMP_InputField)o).selectionColor = (UnityEngine.Color)v, Getter = (o) => ((TMPro.TMP_InputField)o).selectionColor, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).selectionColor; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "onFocusSelectAll", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).onFocusSelectAll = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).onFocusSelectAll, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).onFocusSelectAll; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "resetOnDeActivation", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).resetOnDeActivation = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).resetOnDeActivation, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).resetOnDeActivation; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "restoreOriginalTextOnEscape", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).restoreOriginalTextOnEscape = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).restoreOriginalTextOnEscape, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).restoreOriginalTextOnEscape; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "shouldHideSoftKeyboard", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).shouldHideSoftKeyboard = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).shouldHideSoftKeyboard, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).shouldHideSoftKeyboard; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "shouldHideMobileInput", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).shouldHideMobileInput = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).shouldHideMobileInput, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).shouldHideMobileInput; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "readOnly", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).readOnly = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).readOnly, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).readOnly; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "richText", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).richText = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).richText, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).richText; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "isRichTextEditingAllowed", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).isRichTextEditingAllowed = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).isRichTextEditingAllowed, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).isRichTextEditingAllowed; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).enabled = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).enabled, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_TMPRO
            { "TMPro.TMP_ScrollbarEventHandler", new UnityProperty[] {
                new UnityProperty { Name = "isSelected", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_ScrollbarEventHandler)o).isSelected = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_ScrollbarEventHandler)o).isSelected, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_ScrollbarEventHandler)o).isSelected; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_ScrollbarEventHandler)o).enabled = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_ScrollbarEventHandler)o).enabled, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_ScrollbarEventHandler)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_TMPRO
            { "TMPro.TMP_SubMesh", new UnityProperty[] {
                new UnityProperty { Name = "fontAsset", PropertyType = typeof(TMPro.TMP_FontAsset), Setter = (o, v) => ((TMPro.TMP_SubMesh)o).fontAsset = (TMPro.TMP_FontAsset)v, Getter = (o) => ((TMPro.TMP_SubMesh)o).fontAsset, },
                new UnityProperty { Name = "spriteAsset", PropertyType = typeof(TMPro.TMP_SpriteAsset), Setter = (o, v) => ((TMPro.TMP_SubMesh)o).spriteAsset = (TMPro.TMP_SpriteAsset)v, Getter = (o) => ((TMPro.TMP_SubMesh)o).spriteAsset, },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_SubMesh)o).enabled = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_SubMesh)o).enabled, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_SubMesh)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_TMPRO
            { "TMPro.TMP_SubMeshUI", new UnityProperty[] {
                new UnityProperty { Name = "fontAsset", PropertyType = typeof(TMPro.TMP_FontAsset), Setter = (o, v) => ((TMPro.TMP_SubMeshUI)o).fontAsset = (TMPro.TMP_FontAsset)v, Getter = (o) => ((TMPro.TMP_SubMeshUI)o).fontAsset, },
                new UnityProperty { Name = "spriteAsset", PropertyType = typeof(TMPro.TMP_SpriteAsset), Setter = (o, v) => ((TMPro.TMP_SubMeshUI)o).spriteAsset = (TMPro.TMP_SpriteAsset)v, Getter = (o) => ((TMPro.TMP_SubMeshUI)o).spriteAsset, },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_SubMeshUI)o).enabled = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_SubMeshUI)o).enabled, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_SubMeshUI)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.Toggle", new UnityProperty[] {
                new UnityProperty { Name = "interactable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).interactable = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).interactable, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Toggle)o).interactable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "transition", PropertyType = typeof(UnityEngine.UI.Selectable.Transition), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).transition = (UnityEngine.UI.Selectable.Transition)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).transition, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Toggle)o).transition; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "targetGraphic", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).targetGraphic = (UnityEngine.UI.Graphic)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).targetGraphic, },
                new UnityProperty { Name = "colors", PropertyType = typeof(UnityEngine.UI.ColorBlock), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).colors = (UnityEngine.UI.ColorBlock)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).colors, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Toggle)o).colors; if (!x.Equals((UnityEngine.UI.ColorBlock)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "navigation", PropertyType = typeof(UnityEngine.UI.Navigation), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).navigation = (UnityEngine.UI.Navigation)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).navigation, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Toggle)o).navigation; if (!x.Equals((UnityEngine.UI.Navigation)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "isOn", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).isOn = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).isOn, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Toggle)o).isOn; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "toggleTransition", PropertyType = typeof(UnityEngine.UI.Toggle.ToggleTransition), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).toggleTransition = (UnityEngine.UI.Toggle.ToggleTransition)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).toggleTransition, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Toggle)o).toggleTransition; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "graphic", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).graphic = (UnityEngine.UI.Graphic)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).graphic, },
                new UnityProperty { Name = "group", PropertyType = typeof(UnityEngine.UI.ToggleGroup), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).group = (UnityEngine.UI.ToggleGroup)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).group, },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Toggle)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_GUI
            { "UnityEngine.UI.ToggleGroup", new UnityProperty[] {
                new UnityProperty { Name = "allowSwitchOff", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.ToggleGroup)o).allowSwitchOff = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.ToggleGroup)o).allowSwitchOff, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ToggleGroup)o).allowSwitchOff; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.ToggleGroup)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.ToggleGroup)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ToggleGroup)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


            { "UnityEngine.TrailRenderer", new UnityProperty[] {
                new UnityProperty { Name = "time", PropertyType = typeof(System.Single), Setter = (o, v) => ((TrailRenderer)o).time = (System.Single)v, Getter = (o) => ((TrailRenderer)o).time, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).time; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "minVertexDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((TrailRenderer)o).minVertexDistance = (System.Single)v, Getter = (o) => ((TrailRenderer)o).minVertexDistance, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).minVertexDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "autodestruct", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TrailRenderer)o).autodestruct = (System.Boolean)v, Getter = (o) => ((TrailRenderer)o).autodestruct, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).autodestruct; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "emitting", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TrailRenderer)o).emitting = (System.Boolean)v, Getter = (o) => ((TrailRenderer)o).emitting, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).emitting; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "colorGradient", PropertyType = typeof(UnityEngine.Gradient), Setter = (o, v) => ((TrailRenderer)o).colorGradient = (UnityEngine.Gradient)v, Getter = (o) => ((TrailRenderer)o).colorGradient, },
                new UnityProperty { Name = "numCornerVertices", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TrailRenderer)o).numCornerVertices = (System.Int32)v, Getter = (o) => ((TrailRenderer)o).numCornerVertices, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).numCornerVertices; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "numCapVertices", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TrailRenderer)o).numCapVertices = (System.Int32)v, Getter = (o) => ((TrailRenderer)o).numCapVertices, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).numCapVertices; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "alignment", PropertyType = typeof(UnityEngine.LineAlignment), Setter = (o, v) => ((TrailRenderer)o).alignment = (UnityEngine.LineAlignment)v, Getter = (o) => ((TrailRenderer)o).alignment, Updater = (object o, ref object v) => { var x = (int)((TrailRenderer)o).alignment; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "textureMode", PropertyType = typeof(UnityEngine.LineTextureMode), Setter = (o, v) => ((TrailRenderer)o).textureMode = (UnityEngine.LineTextureMode)v, Getter = (o) => ((TrailRenderer)o).textureMode, Updater = (object o, ref object v) => { var x = (int)((TrailRenderer)o).textureMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "generateLightingData", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TrailRenderer)o).generateLightingData = (System.Boolean)v, Getter = (o) => ((TrailRenderer)o).generateLightingData, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).generateLightingData; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "shadowBias", PropertyType = typeof(System.Single), Setter = (o, v) => ((TrailRenderer)o).shadowBias = (System.Single)v, Getter = (o) => ((TrailRenderer)o).shadowBias, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).shadowBias; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sharedMaterials", PropertyType = typeof(UnityEngine.Material[]), Setter = (o, v) => ((TrailRenderer)o).sharedMaterials = (UnityEngine.Material[])v, Getter = (o) => ((TrailRenderer)o).sharedMaterials, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).sharedMaterials; if (x.Length != ((UnityEngine.Material[])v).Length) { v = x; return true; } else { v = x; return false; }} },
                new UnityProperty { Name = "shadowCastingMode", PropertyType = typeof(UnityEngine.Rendering.ShadowCastingMode), Setter = (o, v) => ((TrailRenderer)o).shadowCastingMode = (UnityEngine.Rendering.ShadowCastingMode)v, Getter = (o) => ((TrailRenderer)o).shadowCastingMode, Updater = (object o, ref object v) => { var x = (int)((TrailRenderer)o).shadowCastingMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "receiveShadows", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TrailRenderer)o).receiveShadows = (System.Boolean)v, Getter = (o) => ((TrailRenderer)o).receiveShadows, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).receiveShadows; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "lightProbeUsage", PropertyType = typeof(UnityEngine.Rendering.LightProbeUsage), Setter = (o, v) => ((TrailRenderer)o).lightProbeUsage = (UnityEngine.Rendering.LightProbeUsage)v, Getter = (o) => ((TrailRenderer)o).lightProbeUsage, Updater = (object o, ref object v) => { var x = (int)((TrailRenderer)o).lightProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "reflectionProbeUsage", PropertyType = typeof(UnityEngine.Rendering.ReflectionProbeUsage), Setter = (o, v) => ((TrailRenderer)o).reflectionProbeUsage = (UnityEngine.Rendering.ReflectionProbeUsage)v, Getter = (o) => ((TrailRenderer)o).reflectionProbeUsage, Updater = (object o, ref object v) => { var x = (int)((TrailRenderer)o).reflectionProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "motionVectorGenerationMode", PropertyType = typeof(UnityEngine.MotionVectorGenerationMode), Setter = (o, v) => ((TrailRenderer)o).motionVectorGenerationMode = (UnityEngine.MotionVectorGenerationMode)v, Getter = (o) => ((TrailRenderer)o).motionVectorGenerationMode, Updater = (object o, ref object v) => { var x = (int)((TrailRenderer)o).motionVectorGenerationMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "allowOcclusionWhenDynamic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TrailRenderer)o).allowOcclusionWhenDynamic = (System.Boolean)v, Getter = (o) => ((TrailRenderer)o).allowOcclusionWhenDynamic, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).allowOcclusionWhenDynamic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sortingLayerID", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TrailRenderer)o).sortingLayerID = (System.Int32)v, Getter = (o) => ((TrailRenderer)o).sortingLayerID, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).sortingLayerID; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sortingOrder", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TrailRenderer)o).sortingOrder = (System.Int32)v, Getter = (o) => ((TrailRenderer)o).sortingOrder, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).sortingOrder; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TrailRenderer)o).enabled = (System.Boolean)v, Getter = (o) => ((TrailRenderer)o).enabled, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},


            { "UnityEngine.Transform", new UnityProperty[] {
                new UnityProperty { Name = "localPosition", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((Transform)o).localPosition = (UnityEngine.Vector3)v, Getter = (o) => ((Transform)o).localPosition, Updater = (object o, ref object v) => { var x = ((Transform)o).localPosition; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "localRotation", PropertyType = typeof(UnityEngine.Quaternion), Setter = (o, v) => ((Transform)o).localRotation = (UnityEngine.Quaternion)v, Getter = (o) => ((Transform)o).localRotation, Updater = (object o, ref object v) => { var x = ((Transform)o).localRotation; if (!x.Equals((UnityEngine.Quaternion)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "localScale", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((Transform)o).localScale = (UnityEngine.Vector3)v, Getter = (o) => ((Transform)o).localScale, Updater = (object o, ref object v) => { var x = ((Transform)o).localScale; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
            }},


        #if UNITY_2021_2_OR_NEWER&&UNITY_UIELEMENTS
            { "UnityEngine.UIElements.UIDocument", new UnityProperty[] {
                new UnityProperty { Name = "panelSettings", PropertyType = typeof(UnityEngine.UIElements.PanelSettings), Setter = (o, v) => ((UnityEngine.UIElements.UIDocument)o).panelSettings = (UnityEngine.UIElements.PanelSettings)v, Getter = (o) => ((UnityEngine.UIElements.UIDocument)o).panelSettings, },
                new UnityProperty { Name = "visualTreeAsset", PropertyType = typeof(UnityEngine.UIElements.VisualTreeAsset), Setter = (o, v) => ((UnityEngine.UIElements.UIDocument)o).visualTreeAsset = (UnityEngine.UIElements.VisualTreeAsset)v, Getter = (o) => ((UnityEngine.UIElements.UIDocument)o).visualTreeAsset, },
                new UnityProperty { Name = "sortingOrder", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UIElements.UIDocument)o).sortingOrder = (System.Single)v, Getter = (o) => ((UnityEngine.UIElements.UIDocument)o).sortingOrder, Updater = (object o, ref object v) => { var x = ((UnityEngine.UIElements.UIDocument)o).sortingOrder; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UIElements.UIDocument)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UIElements.UIDocument)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UIElements.UIDocument)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_VIDEO
            { "UnityEngine.Video.VideoPlayer", new UnityProperty[] {
                new UnityProperty { Name = "source", PropertyType = typeof(UnityEngine.Video.VideoSource), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).source = (UnityEngine.Video.VideoSource)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).source, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Video.VideoPlayer)o).source; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "clip", PropertyType = typeof(UnityEngine.Video.VideoClip), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).clip = (UnityEngine.Video.VideoClip)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).clip, },
                new UnityProperty { Name = "url", PropertyType = typeof(System.String), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).url = (System.String)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).url, },
                new UnityProperty { Name = "playOnAwake", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).playOnAwake = (System.Boolean)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).playOnAwake, Updater = (object o, ref object v) => { var x = ((UnityEngine.Video.VideoPlayer)o).playOnAwake; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "waitForFirstFrame", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).waitForFirstFrame = (System.Boolean)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).waitForFirstFrame, Updater = (object o, ref object v) => { var x = ((UnityEngine.Video.VideoPlayer)o).waitForFirstFrame; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "isLooping", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).isLooping = (System.Boolean)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).isLooping, Updater = (object o, ref object v) => { var x = ((UnityEngine.Video.VideoPlayer)o).isLooping; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "skipOnDrop", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).skipOnDrop = (System.Boolean)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).skipOnDrop, Updater = (object o, ref object v) => { var x = ((UnityEngine.Video.VideoPlayer)o).skipOnDrop; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "playbackSpeed", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).playbackSpeed = (System.Single)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).playbackSpeed, Updater = (object o, ref object v) => { var x = ((UnityEngine.Video.VideoPlayer)o).playbackSpeed; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "renderMode", PropertyType = typeof(UnityEngine.Video.VideoRenderMode), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).renderMode = (UnityEngine.Video.VideoRenderMode)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).renderMode, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Video.VideoPlayer)o).renderMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "targetCamera", PropertyType = typeof(UnityEngine.Camera), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).targetCamera = (UnityEngine.Camera)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).targetCamera, },
                new UnityProperty { Name = "targetCameraAlpha", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).targetCameraAlpha = (System.Single)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).targetCameraAlpha, Updater = (object o, ref object v) => { var x = ((UnityEngine.Video.VideoPlayer)o).targetCameraAlpha; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "targetCamera3DLayout", PropertyType = typeof(UnityEngine.Video.Video3DLayout), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).targetCamera3DLayout = (UnityEngine.Video.Video3DLayout)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).targetCamera3DLayout, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Video.VideoPlayer)o).targetCamera3DLayout; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "aspectRatio", PropertyType = typeof(UnityEngine.Video.VideoAspectRatio), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).aspectRatio = (UnityEngine.Video.VideoAspectRatio)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).aspectRatio, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Video.VideoPlayer)o).aspectRatio; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "audioOutputMode", PropertyType = typeof(UnityEngine.Video.VideoAudioOutputMode), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).audioOutputMode = (UnityEngine.Video.VideoAudioOutputMode)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).audioOutputMode, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Video.VideoPlayer)o).audioOutputMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "controlledAudioTrackCount", PropertyType = typeof(System.UInt16), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).controlledAudioTrackCount = (System.UInt16)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).controlledAudioTrackCount, Updater = (object o, ref object v) => { var x = ((UnityEngine.Video.VideoPlayer)o).controlledAudioTrackCount; if (!x.Equals((System.UInt16)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Video.VideoPlayer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_VEHICLES
            { "UnityEngine.WheelCollider", new UnityProperty[] {
                new UnityProperty { Name = "mass", PropertyType = typeof(System.Single), Setter = (o, v) => ((WheelCollider)o).mass = (System.Single)v, Getter = (o) => ((WheelCollider)o).mass, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).mass; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "radius", PropertyType = typeof(System.Single), Setter = (o, v) => ((WheelCollider)o).radius = (System.Single)v, Getter = (o) => ((WheelCollider)o).radius, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).radius; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "wheelDampingRate", PropertyType = typeof(System.Single), Setter = (o, v) => ((WheelCollider)o).wheelDampingRate = (System.Single)v, Getter = (o) => ((WheelCollider)o).wheelDampingRate, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).wheelDampingRate; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "suspensionDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((WheelCollider)o).suspensionDistance = (System.Single)v, Getter = (o) => ((WheelCollider)o).suspensionDistance, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).suspensionDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "forceAppPointDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((WheelCollider)o).forceAppPointDistance = (System.Single)v, Getter = (o) => ((WheelCollider)o).forceAppPointDistance, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).forceAppPointDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "center", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((WheelCollider)o).center = (UnityEngine.Vector3)v, Getter = (o) => ((WheelCollider)o).center, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).center; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "suspensionSpring", PropertyType = typeof(UnityEngine.JointSpring), Setter = (o, v) => ((WheelCollider)o).suspensionSpring = (UnityEngine.JointSpring)v, Getter = (o) => ((WheelCollider)o).suspensionSpring, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).suspensionSpring; if (!x.Equals((UnityEngine.JointSpring)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "forwardFriction", PropertyType = typeof(UnityEngine.WheelFrictionCurve), Setter = (o, v) => ((WheelCollider)o).forwardFriction = (UnityEngine.WheelFrictionCurve)v, Getter = (o) => ((WheelCollider)o).forwardFriction, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).forwardFriction; if (!x.Equals((UnityEngine.WheelFrictionCurve)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "sidewaysFriction", PropertyType = typeof(UnityEngine.WheelFrictionCurve), Setter = (o, v) => ((WheelCollider)o).sidewaysFriction = (UnityEngine.WheelFrictionCurve)v, Getter = (o) => ((WheelCollider)o).sidewaysFriction, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).sidewaysFriction; if (!x.Equals((UnityEngine.WheelFrictionCurve)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((WheelCollider)o).enabled = (System.Boolean)v, Getter = (o) => ((WheelCollider)o).enabled, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_PHYSICS_2D
            { "UnityEngine.WheelJoint2D", new UnityProperty[] {
                new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((WheelJoint2D)o).enableCollision = (System.Boolean)v, Getter = (o) => ((WheelJoint2D)o).enableCollision, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody2D), Setter = (o, v) => ((WheelJoint2D)o).connectedBody = (UnityEngine.Rigidbody2D)v, Getter = (o) => ((WheelJoint2D)o).connectedBody, },
                new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((WheelJoint2D)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((WheelJoint2D)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((WheelJoint2D)o).anchor = (UnityEngine.Vector2)v, Getter = (o) => ((WheelJoint2D)o).anchor, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).anchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((WheelJoint2D)o).connectedAnchor = (UnityEngine.Vector2)v, Getter = (o) => ((WheelJoint2D)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "suspension", PropertyType = typeof(UnityEngine.JointSuspension2D), Setter = (o, v) => ((WheelJoint2D)o).suspension = (UnityEngine.JointSuspension2D)v, Getter = (o) => ((WheelJoint2D)o).suspension, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).suspension; if (!x.Equals((UnityEngine.JointSuspension2D)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "useMotor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((WheelJoint2D)o).useMotor = (System.Boolean)v, Getter = (o) => ((WheelJoint2D)o).useMotor, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).useMotor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "motor", PropertyType = typeof(UnityEngine.JointMotor2D), Setter = (o, v) => ((WheelJoint2D)o).motor = (UnityEngine.JointMotor2D)v, Getter = (o) => ((WheelJoint2D)o).motor, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).motor; if (!x.Equals((UnityEngine.JointMotor2D)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((WheelJoint2D)o).breakForce = (System.Single)v, Getter = (o) => ((WheelJoint2D)o).breakForce, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((WheelJoint2D)o).breakTorque = (System.Single)v, Getter = (o) => ((WheelJoint2D)o).breakTorque, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((WheelJoint2D)o).enabled = (System.Boolean)v, Getter = (o) => ((WheelJoint2D)o).enabled, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } },
            }},
        #endif


        #if UNITY_WIND
            { "UnityEngine.WindZone", new UnityProperty[] {
                new UnityProperty { Name = "mode", PropertyType = typeof(UnityEngine.WindZoneMode), Setter = (o, v) => ((WindZone)o).mode = (UnityEngine.WindZoneMode)v, Getter = (o) => ((WindZone)o).mode, Updater = (object o, ref object v) => { var x = (int)((WindZone)o).mode; if (!x.Equals((int)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "windMain", PropertyType = typeof(System.Single), Setter = (o, v) => ((WindZone)o).windMain = (System.Single)v, Getter = (o) => ((WindZone)o).windMain, Updater = (object o, ref object v) => { var x = ((WindZone)o).windMain; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "windTurbulence", PropertyType = typeof(System.Single), Setter = (o, v) => ((WindZone)o).windTurbulence = (System.Single)v, Getter = (o) => ((WindZone)o).windTurbulence, Updater = (object o, ref object v) => { var x = ((WindZone)o).windTurbulence; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "windPulseMagnitude", PropertyType = typeof(System.Single), Setter = (o, v) => ((WindZone)o).windPulseMagnitude = (System.Single)v, Getter = (o) => ((WindZone)o).windPulseMagnitude, Updater = (object o, ref object v) => { var x = ((WindZone)o).windPulseMagnitude; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
                new UnityProperty { Name = "windPulseFrequency", PropertyType = typeof(System.Single), Setter = (o, v) => ((WindZone)o).windPulseFrequency = (System.Single)v, Getter = (o) => ((WindZone)o).windPulseFrequency, Updater = (object o, ref object v) => { var x = ((WindZone)o).windPulseFrequency; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } },
            }},
        #endif
        };
    }
}