text: // Autogenerated from CppHeaderCreator
  // Created by Sc2ad
  // =========================================================================
  #pragma once
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  #include "extern/beatsaber-hook/shared/utils/byref.hpp"
  // Including type: UnityEngine.ScriptableObject
  #include "UnityEngine/ScriptableObject.hpp"
  // Including type: HoudiniEngineUnity.IEquivable`1
  #include "HoudiniEngineUnity/IEquivable_1.hpp"
  // Including type: System.Enum
  #include "System/Enum.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils-properties.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils-fields.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  #include "extern/beatsaber-hook/shared/utils/typedefs-array.hpp"
  // Completed includes
  // Begin forward declares
  // Forward declaring namespace: HoudiniEngineUnity
  namespace HoudiniEngineUnity {
    // Forward declaring type: HEU_InputObjectInfo
    class HEU_InputObjectInfo;
    // Forward declaring type: HEU_InputHDAInfo
    class HEU_InputHDAInfo;
    // Forward declaring type: HEU_HoudiniAsset
    class HEU_HoudiniAsset;
    // Forward declaring type: HEU_InputInterfaceTilemapSettings
    class HEU_InputInterfaceTilemapSettings;
    // Forward declaring type: HEU_InputNodeUICache
    class HEU_InputNodeUICache;
    // Skipping declaration: InputNodeType because it is already included!
    // Skipping declaration: InputObjectType because it is already included!
    // Forward declaring type: HEU_SessionBase
    class HEU_SessionBase;
    // Forward declaring type: HEU_InputPreset
    class HEU_InputPreset;
  }
  // Forward declaring namespace: System::Collections::Generic
  namespace System::Collections::Generic {
    // Forward declaring type: List`1<T>
    template<typename T>
    class List_1;
  }
  // Forward declaring namespace: UnityEngine
  namespace UnityEngine {
    // Forward declaring type: GameObject
    class GameObject;
  }
  // Completed forward declares
  // Type namespace: HoudiniEngineUnity
  namespace HoudiniEngineUnity {
    // Forward declaring type: HEU_InputNode
    class HEU_InputNode;
  }
  #include "extern/beatsaber-hook/shared/utils/il2cpp-type-check.hpp"
  NEED_NO_BOX(HoudiniEngineUnity::HEU_InputNode);
  DEFINE_IL2CPP_ARG_TYPE(HoudiniEngineUnity::HEU_InputNode*, "HoudiniEngineUnity", "HEU_InputNode");
  // Type namespace: HoudiniEngineUnity
  namespace HoudiniEngineUnity {
    // Size: 0x98
    #pragma pack(push, 1)
    // Autogenerated type: HoudiniEngineUnity.HEU_InputNode
    // [TokenAttribute] Offset: FFFFFFFF
    class HEU_InputNode : public UnityEngine::ScriptableObject/*, public HoudiniEngineUnity::IEquivable_1<HoudiniEngineUnity::HEU_InputNode*>*/ {
      public:
      // Nested type: HoudiniEngineUnity::HEU_InputNode::InputNodeType
      struct InputNodeType;
      // Nested type: HoudiniEngineUnity::HEU_InputNode::InputObjectType
      struct InputObjectType;
      // Nested type: HoudiniEngineUnity::HEU_InputNode::InternalObjectType
      struct InternalObjectType;
      // Nested type: HoudiniEngineUnity::HEU_InputNode::InputActions
      struct InputActions;
      // Size: 0x4
      #pragma pack(push, 1)
      // Autogenerated type: HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputNodeType
      // [TokenAttribute] Offset: FFFFFFFF
      struct InputNodeType/*, public System::Enum*/ {
        public:
        #ifdef USE_CODEGEN_FIELDS
        public:
        #else
        protected:
        #endif
        // public System.Int32 value__
        // Size: 0x4
        // Offset: 0x0
        int value;
        // Field size check
        static_assert(sizeof(int) == 0x4);
        public:
        // Creating value type constructor for type: InputNodeType
        constexpr InputNodeType(int value_ = {}) noexcept : value{value_} {}
        // Creating interface conversion operator: operator System::Enum
        operator System::Enum() noexcept {
          return *reinterpret_cast<System::Enum*>(this);
        }
        // Creating conversion operator: operator int
        constexpr operator int() const noexcept {
          return value;
        }
        // static field const value: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputNodeType CONNECTION
        static constexpr const int CONNECTION = 0;
        // Get static field: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputNodeType CONNECTION
        static HoudiniEngineUnity::HEU_InputNode::InputNodeType _get_CONNECTION();
        // Set static field: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputNodeType CONNECTION
        static void _set_CONNECTION(HoudiniEngineUnity::HEU_InputNode::InputNodeType value);
        // static field const value: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputNodeType NODE
        static constexpr const int NODE = 1;
        // Get static field: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputNodeType NODE
        static HoudiniEngineUnity::HEU_InputNode::InputNodeType _get_NODE();
        // Set static field: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputNodeType NODE
        static void _set_NODE(HoudiniEngineUnity::HEU_InputNode::InputNodeType value);
        // static field const value: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputNodeType PARAMETER
        static constexpr const int PARAMETER = 2;
        // Get static field: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputNodeType PARAMETER
        static HoudiniEngineUnity::HEU_InputNode::InputNodeType _get_PARAMETER();
        // Set static field: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputNodeType PARAMETER
        static void _set_PARAMETER(HoudiniEngineUnity::HEU_InputNode::InputNodeType value);
        // Get instance field reference: public System.Int32 value__
        int& dyn_value__();
      }; // HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputNodeType
      #pragma pack(pop)
      static check_size<sizeof(HEU_InputNode::InputNodeType), 0 + sizeof(int)> __HoudiniEngineUnity_HEU_InputNode_InputNodeTypeSizeCheck;
      static_assert(sizeof(HEU_InputNode::InputNodeType) == 0x4);
      // Size: 0x4
      #pragma pack(push, 1)
      // Autogenerated type: HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType
      // [TokenAttribute] Offset: FFFFFFFF
      struct InputObjectType/*, public System::Enum*/ {
        public:
        #ifdef USE_CODEGEN_FIELDS
        public:
        #else
        protected:
        #endif
        // public System.Int32 value__
        // Size: 0x4
        // Offset: 0x0
        int value;
        // Field size check
        static_assert(sizeof(int) == 0x4);
        public:
        // Creating value type constructor for type: InputObjectType
        constexpr InputObjectType(int value_ = {}) noexcept : value{value_} {}
        // Creating interface conversion operator: operator System::Enum
        operator System::Enum() noexcept {
          return *reinterpret_cast<System::Enum*>(this);
        }
        // Creating conversion operator: operator int
        constexpr operator int() const noexcept {
          return value;
        }
        // static field const value: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType HDA
        static constexpr const int HDA = 0;
        // Get static field: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType HDA
        static HoudiniEngineUnity::HEU_InputNode::InputObjectType _get_HDA();
        // Set static field: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType HDA
        static void _set_HDA(HoudiniEngineUnity::HEU_InputNode::InputObjectType value);
        // static field const value: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType UNITY_MESH
        static constexpr const int UNITY_MESH = 1;
        // Get static field: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType UNITY_MESH
        static HoudiniEngineUnity::HEU_InputNode::InputObjectType _get_UNITY_MESH();
        // Set static field: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType UNITY_MESH
        static void _set_UNITY_MESH(HoudiniEngineUnity::HEU_InputNode::InputObjectType value);
        // static field const value: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType CURVE
        static constexpr const int CURVE = 2;
        // Get static field: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType CURVE
        static HoudiniEngineUnity::HEU_InputNode::InputObjectType _get_CURVE();
        // Set static field: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType CURVE
        static void _set_CURVE(HoudiniEngineUnity::HEU_InputNode::InputObjectType value);
        // static field const value: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType TERRAIN
        static constexpr const int TERRAIN = 3;
        // Get static field: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType TERRAIN
        static HoudiniEngineUnity::HEU_InputNode::InputObjectType _get_TERRAIN();
        // Set static field: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType TERRAIN
        static void _set_TERRAIN(HoudiniEngineUnity::HEU_InputNode::InputObjectType value);
        // static field const value: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType BOUNDING_BOX
        static constexpr const int BOUNDING_BOX = 4;
        // Get static field: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType BOUNDING_BOX
        static HoudiniEngineUnity::HEU_InputNode::InputObjectType _get_BOUNDING_BOX();
        // Set static field: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType BOUNDING_BOX
        static void _set_BOUNDING_BOX(HoudiniEngineUnity::HEU_InputNode::InputObjectType value);
        // static field const value: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType TILEMAP
        static constexpr const int TILEMAP = 5;
        // Get static field: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType TILEMAP
        static HoudiniEngineUnity::HEU_InputNode::InputObjectType _get_TILEMAP();
        // Set static field: static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType TILEMAP
        static void _set_TILEMAP(HoudiniEngineUnity::HEU_InputNode::InputObjectType value);
        // Get instance field reference: public System.Int32 value__
        int& dyn_value__();
      }; // HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType
      #pragma pack(pop)
      static check_size<sizeof(HEU_InputNode::InputObjectType), 0 + sizeof(int)> __HoudiniEngineUnity_HEU_InputNode_InputObjectTypeSizeCheck;
      static_assert(sizeof(HEU_InputNode::InputObjectType) == 0x4);
      #ifdef USE_CODEGEN_FIELDS
      public:
      #else
      protected:
      #endif
      // private HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputNodeType _inputNodeType
      // Size: 0x4
      // Offset: 0x18
      HoudiniEngineUnity::HEU_InputNode::InputNodeType inputNodeType;
      // Field size check
      static_assert(sizeof(HoudiniEngineUnity::HEU_InputNode::InputNodeType) == 0x4);
      // private HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType _inputObjectType
      // Size: 0x4
      // Offset: 0x1C
      HoudiniEngineUnity::HEU_InputNode::InputObjectType inputObjectType;
      // Field size check
      static_assert(sizeof(HoudiniEngineUnity::HEU_InputNode::InputObjectType) == 0x4);
      // private HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType _pendingInputObjectType
      // Size: 0x4
      // Offset: 0x20
      HoudiniEngineUnity::HEU_InputNode::InputObjectType pendingInputObjectType;
      // Field size check
      static_assert(sizeof(HoudiniEngineUnity::HEU_InputNode::InputObjectType) == 0x4);
      // Padding between fields: pendingInputObjectType and: inputObjects
      char __padding2[0x4] = {};
      // private System.Collections.Generic.List`1<HoudiniEngineUnity.HEU_InputObjectInfo> _inputObjects
      // Size: 0x8
      // Offset: 0x28
      System::Collections::Generic::List_1<HoudiniEngineUnity::HEU_InputObjectInfo*>* inputObjects;
      // Field size check
      static_assert(sizeof(System::Collections::Generic::List_1<HoudiniEngineUnity::HEU_InputObjectInfo*>*) == 0x8);
      // private System.Collections.Generic.List`1<System.Int32> _inputObjectsConnectedAssetIDs
      // Size: 0x8
      // Offset: 0x30
      System::Collections::Generic::List_1<int>* inputObjectsConnectedAssetIDs;
      // Field size check
      static_assert(sizeof(System::Collections::Generic::List_1<int>*) == 0x8);
      // private UnityEngine.GameObject _inputAsset
      // Size: 0x8
      // Offset: 0x38
      UnityEngine::GameObject* inputAsset;
      // Field size check
      static_assert(sizeof(UnityEngine::GameObject*) == 0x8);
      // private UnityEngine.GameObject _connectedInputAsset
      // Size: 0x8
      // Offset: 0x40
      UnityEngine::GameObject* connectedInputAsset;
      // Field size check
      static_assert(sizeof(UnityEngine::GameObject*) == 0x8);
      // private System.Collections.Generic.List`1<HoudiniEngineUnity.HEU_InputHDAInfo> _inputAssetInfos
      // Size: 0x8
      // Offset: 0x48
      System::Collections::Generic::List_1<HoudiniEngineUnity::HEU_InputHDAInfo*>* inputAssetInfos;
      // Field size check
      static_assert(sizeof(System::Collections::Generic::List_1<HoudiniEngineUnity::HEU_InputHDAInfo*>*) == 0x8);
      // private System.Int32 _nodeID
      // Size: 0x4
      // Offset: 0x50
      int nodeID;
      // Field size check
      static_assert(sizeof(int) == 0x4);
      // private System.Int32 _inputIndex
      // Size: 0x4
      // Offset: 0x54
      int inputIndex;
      // Field size check
      static_assert(sizeof(int) == 0x4);
      // private System.Boolean _requiresCook
      // Size: 0x1
      // Offset: 0x58
      bool requiresCook;
      // Field size check
      static_assert(sizeof(bool) == 0x1);
      // private System.Boolean _requiresUpload
      // Size: 0x1
      // Offset: 0x59
      bool requiresUpload;
      // Field size check
      static_assert(sizeof(bool) == 0x1);
      // Padding between fields: requiresUpload and: inputName
      char __padding11[0x6] = {};
      // private System.String _inputName
      // Size: 0x8
      // Offset: 0x60
      ::Il2CppString* inputName;
      // Field size check
      static_assert(sizeof(::Il2CppString*) == 0x8);
      // private System.String _labelName
      // Size: 0x8
      // Offset: 0x68
      ::Il2CppString* labelName;
      // Field size check
      static_assert(sizeof(::Il2CppString*) == 0x8);
      // private System.String _paramName
      // Size: 0x8
      // Offset: 0x70
      ::Il2CppString* paramName;
      // Field size check
      static_assert(sizeof(::Il2CppString*) == 0x8);
      // private System.Int32 _connectedNodeID
      // Size: 0x4
      // Offset: 0x78
      int connectedNodeID;
      // Field size check
      static_assert(sizeof(int) == 0x4);
      // private System.Boolean _keepWorldTransform
      // Size: 0x1
      // Offset: 0x7C
      bool keepWorldTransform;
      // Field size check
      static_assert(sizeof(bool) == 0x1);
      // private System.Boolean _packGeometryBeforeMerging
      // Size: 0x1
      // Offset: 0x7D
      bool packGeometryBeforeMerging;
      // Field size check
      static_assert(sizeof(bool) == 0x1);
      // Padding between fields: packGeometryBeforeMerging and: parentAsset
      char __padding17[0x2] = {};
      // private HoudiniEngineUnity.HEU_HoudiniAsset _parentAsset
      // Size: 0x8
      // Offset: 0x80
      HoudiniEngineUnity::HEU_HoudiniAsset* parentAsset;
      // Field size check
      static_assert(sizeof(HoudiniEngineUnity::HEU_HoudiniAsset*) == 0x8);
      // private HoudiniEngineUnity.HEU_InputInterfaceTilemapSettings _tilemapSettings
      // Size: 0x8
      // Offset: 0x88
      HoudiniEngineUnity::HEU_InputInterfaceTilemapSettings* tilemapSettings;
      // Field size check
      static_assert(sizeof(HoudiniEngineUnity::HEU_InputInterfaceTilemapSettings*) == 0x8);
      // public HoudiniEngineUnity.HEU_InputNodeUICache _uiCache
      // Size: 0x8
      // Offset: 0x90
      HoudiniEngineUnity::HEU_InputNodeUICache* uiCache;
      // Field size check
      static_assert(sizeof(HoudiniEngineUnity::HEU_InputNodeUICache*) == 0x8);
      public:
      // Creating interface conversion operator: operator HoudiniEngineUnity::IEquivable_1<HoudiniEngineUnity::HEU_InputNode*>
      operator HoudiniEngineUnity::IEquivable_1<HoudiniEngineUnity::HEU_InputNode*>() noexcept {
        return *reinterpret_cast<HoudiniEngineUnity::IEquivable_1<HoudiniEngineUnity::HEU_InputNode*>*>(this);
      }
      // Deleting conversion operator: operator System::IntPtr
      constexpr operator System::IntPtr() const noexcept = delete;
      // Get instance field reference: private HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputNodeType _inputNodeType
      HoudiniEngineUnity::HEU_InputNode::InputNodeType& dyn__inputNodeType();
      // Get instance field reference: private HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType _inputObjectType
      HoudiniEngineUnity::HEU_InputNode::InputObjectType& dyn__inputObjectType();
      // Get instance field reference: private HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType _pendingInputObjectType
      HoudiniEngineUnity::HEU_InputNode::InputObjectType& dyn__pendingInputObjectType();
      // Get instance field reference: private System.Collections.Generic.List`1<HoudiniEngineUnity.HEU_InputObjectInfo> _inputObjects
      System::Collections::Generic::List_1<HoudiniEngineUnity::HEU_InputObjectInfo*>*& dyn__inputObjects();
      // Get instance field reference: private System.Collections.Generic.List`1<System.Int32> _inputObjectsConnectedAssetIDs
      System::Collections::Generic::List_1<int>*& dyn__inputObjectsConnectedAssetIDs();
      // Get instance field reference: private UnityEngine.GameObject _inputAsset
      UnityEngine::GameObject*& dyn__inputAsset();
      // Get instance field reference: private UnityEngine.GameObject _connectedInputAsset
      UnityEngine::GameObject*& dyn__connectedInputAsset();
      // Get instance field reference: private System.Collections.Generic.List`1<HoudiniEngineUnity.HEU_InputHDAInfo> _inputAssetInfos
      System::Collections::Generic::List_1<HoudiniEngineUnity::HEU_InputHDAInfo*>*& dyn__inputAssetInfos();
      // Get instance field reference: private System.Int32 _nodeID
      int& dyn__nodeID();
      // Get instance field reference: private System.Int32 _inputIndex
      int& dyn__inputIndex();
      // Get instance field reference: private System.Boolean _requiresCook
      bool& dyn__requiresCook();
      // Get instance field reference: private System.Boolean _requiresUpload
      bool& dyn__requiresUpload();
      // Get instance field reference: private System.String _inputName
      ::Il2CppString*& dyn__inputName();
      // Get instance field reference: private System.String _labelName
      ::Il2CppString*& dyn__labelName();
      // Get instance field reference: private System.String _paramName
      ::Il2CppString*& dyn__paramName();
      // Get instance field reference: private System.Int32 _connectedNodeID
      int& dyn__connectedNodeID();
      // Get instance field reference: private System.Boolean _keepWorldTransform
      bool& dyn__keepWorldTransform();
      // Get instance field reference: private System.Boolean _packGeometryBeforeMerging
      bool& dyn__packGeometryBeforeMerging();
      // Get instance field reference: private HoudiniEngineUnity.HEU_HoudiniAsset _parentAsset
      HoudiniEngineUnity::HEU_HoudiniAsset*& dyn__parentAsset();
      // Get instance field reference: private HoudiniEngineUnity.HEU_InputInterfaceTilemapSettings _tilemapSettings
      HoudiniEngineUnity::HEU_InputInterfaceTilemapSettings*& dyn__tilemapSettings();
      // Get instance field reference: public HoudiniEngineUnity.HEU_InputNodeUICache _uiCache
      HoudiniEngineUnity::HEU_InputNodeUICache*& dyn__uiCache();
      // public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputNodeType get_InputType()
      // Offset: 0x150CB04
      HoudiniEngineUnity::HEU_InputNode::InputNodeType get_InputType();
      // public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType get_ThisInputObjectType()
      // Offset: 0x150CB0C
      HoudiniEngineUnity::HEU_InputNode::InputObjectType get_ThisInputObjectType();
      // public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType get_PendingInputObjectType()
      // Offset: 0x150CB14
      HoudiniEngineUnity::HEU_InputNode::InputObjectType get_PendingInputObjectType();
      // public System.Void set_PendingInputObjectType(HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType value)
      // Offset: 0x150CB1C
      void set_PendingInputObjectType(HoudiniEngineUnity::HEU_InputNode::InputObjectType value);
      // public System.Collections.Generic.List`1<HoudiniEngineUnity.HEU_InputObjectInfo> get_InputObjects()
      // Offset: 0x150CB24
      System::Collections::Generic::List_1<HoudiniEngineUnity::HEU_InputObjectInfo*>* get_InputObjects();
      // public System.Int32 get_InputNodeID()
      // Offset: 0x150CB2C
      int get_InputNodeID();
      // public System.Boolean get_RequiresCook()
      // Offset: 0x150CB34
      bool get_RequiresCook();
      // public System.Void set_RequiresCook(System.Boolean value)
      // Offset: 0x150CB3C
      void set_RequiresCook(bool value);
      // public System.Boolean get_RequiresUpload()
      // Offset: 0x150CB48
      bool get_RequiresUpload();
      // public System.Void set_RequiresUpload(System.Boolean value)
      // Offset: 0x150CB50
      void set_RequiresUpload(bool value);
      // public System.String get_InputName()
      // Offset: 0x150CB5C
      ::Il2CppString* get_InputName();
      // public System.String get_LabelName()
      // Offset: 0x150CB64
      ::Il2CppString* get_LabelName();
      // public System.String get_ParamName()
      // Offset: 0x150CB6C
      ::Il2CppString* get_ParamName();
      // public System.Void set_ParamName(System.String value)
      // Offset: 0x150CB74
      void set_ParamName(::Il2CppString* value);
      // public System.Boolean get_KeepWorldTransform()
      // Offset: 0x150CB7C
      bool get_KeepWorldTransform();
      // public System.Void set_KeepWorldTransform(System.Boolean value)
      // Offset: 0x150CB84
      void set_KeepWorldTransform(bool value);
      // public System.Boolean get_PackGeometryBeforeMerging()
      // Offset: 0x150CB90
      bool get_PackGeometryBeforeMerging();
      // public System.Void set_PackGeometryBeforeMerging(System.Boolean value)
      // Offset: 0x150CB98
      void set_PackGeometryBeforeMerging(bool value);
      // public HoudiniEngineUnity.HEU_HoudiniAsset get_ParentAsset()
      // Offset: 0x150CBA4
      HoudiniEngineUnity::HEU_HoudiniAsset* get_ParentAsset();
      // public HoudiniEngineUnity.HEU_InputInterfaceTilemapSettings get_TilemapSettings()
      // Offset: 0x150CBBC
      HoudiniEngineUnity::HEU_InputInterfaceTilemapSettings* get_TilemapSettings();
      // public System.Boolean IsAssetInput()
      // Offset: 0x150CBAC
      bool IsAssetInput();
      // static public HoudiniEngineUnity.HEU_InputNode CreateSetupInput(System.Int32 nodeID, System.Int32 inputIndex, System.String inputName, System.String labelName, HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputNodeType inputNodeType, HoudiniEngineUnity.HEU_HoudiniAsset parentAsset)
      // Offset: 0x150CBC4
      static HoudiniEngineUnity::HEU_InputNode* CreateSetupInput(int nodeID, int inputIndex, ::Il2CppString* inputName, ::Il2CppString* labelName, HoudiniEngineUnity::HEU_InputNode::InputNodeType inputNodeType, HoudiniEngineUnity::HEU_HoudiniAsset* parentAsset);
      // public System.Void SetInputNodeID(System.Int32 nodeID)
      // Offset: 0x150CC5C
      void SetInputNodeID(int nodeID);
      // public System.Void DestroyAllData(HoudiniEngineUnity.HEU_SessionBase session)
      // Offset: 0x150CC64
      void DestroyAllData(HoudiniEngineUnity::HEU_SessionBase* session);
      // private System.Void ResetInputObjectTransforms()
      // Offset: 0x150CED8
      void ResetInputObjectTransforms();
      // public System.Void ResetInputNode(HoudiniEngineUnity.HEU_SessionBase session)
      // Offset: 0x150CFAC
      void ResetInputNode(HoudiniEngineUnity::HEU_SessionBase* session);
      // public System.Void InsertInputEntry(System.Int32 index, UnityEngine.GameObject newInputGameObject)
      // Offset: 0x150D084
      void InsertInputEntry(int index, UnityEngine::GameObject* newInputGameObject);
      // public UnityEngine.GameObject GetInputEntryGameObject(System.Int32 index)
      // Offset: 0x150D3C0
      UnityEngine::GameObject* GetInputEntryGameObject(int index);
      // public System.Void AddInputEntryAtEnd(UnityEngine.GameObject newEntryGameObject)
      // Offset: 0x150D5C8
      void AddInputEntryAtEnd(UnityEngine::GameObject* newEntryGameObject);
      // public HoudiniEngineUnity.HEU_InputObjectInfo AddInputEntryAtEndMesh(UnityEngine.GameObject newEntryGameObject)
      // Offset: 0x150D768
      HoudiniEngineUnity::HEU_InputObjectInfo* AddInputEntryAtEndMesh(UnityEngine::GameObject* newEntryGameObject);
      // public System.Void RemoveAllInputEntries()
      // Offset: 0x150CE68
      void RemoveAllInputEntries();
      // public System.Int32 NumInputEntries()
      // Offset: 0x150D794
      int NumInputEntries();
      // public System.Void ChangeInputType(HoudiniEngineUnity.HEU_SessionBase session, HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType newType)
      // Offset: 0x150D050
      void ChangeInputType(HoudiniEngineUnity::HEU_SessionBase* session, HoudiniEngineUnity::HEU_InputNode::InputObjectType newType);
      // public System.Void ResetConnectionForForceUpdate(HoudiniEngineUnity.HEU_SessionBase session)
      // Offset: 0x150CFFC
      void ResetConnectionForForceUpdate(HoudiniEngineUnity::HEU_SessionBase* session);
      // public System.Void UploadInput(HoudiniEngineUnity.HEU_SessionBase session)
      // Offset: 0x150DD8C
      void UploadInput(HoudiniEngineUnity::HEU_SessionBase* session);
      // private System.Void UploadHDAInput(HoudiniEngineUnity.HEU_SessionBase session)
      // Offset: 0x150E14C
      void UploadHDAInput(HoudiniEngineUnity::HEU_SessionBase* session);
      // private System.Void UploadUnityInput(HoudiniEngineUnity.HEU_SessionBase session)
      // Offset: 0x150E380
      void UploadUnityInput(HoudiniEngineUnity::HEU_SessionBase* session);
      // public System.Boolean AreAnyInputHDAsConnected()
      // Offset: 0x150D814
      bool AreAnyInputHDAsConnected();
      // public System.Void ReconnectToUpstreamAsset()
      // Offset: 0x150F87C
      void ReconnectToUpstreamAsset();
      // private HoudiniEngineUnity.HEU_InputObjectInfo CreateInputObjectInfo(UnityEngine.GameObject inputGameObject)
      // Offset: 0x150D2D0
      HoudiniEngineUnity::HEU_InputObjectInfo* CreateInputObjectInfo(UnityEngine::GameObject* inputGameObject);
      // private HoudiniEngineUnity.HEU_InputHDAInfo CreateInputHDAInfo(UnityEngine.GameObject inputGameObject)
      // Offset: 0x150D340
      HoudiniEngineUnity::HEU_InputHDAInfo* CreateInputHDAInfo(UnityEngine::GameObject* inputGameObject);
      // private HoudiniEngineUnity.HEU_InputObjectInfo InternalAddInputObjectAtEnd(UnityEngine.GameObject newInputGameObject)
      // Offset: 0x150D668
      HoudiniEngineUnity::HEU_InputObjectInfo* InternalAddInputObjectAtEnd(UnityEngine::GameObject* newInputGameObject);
      // private HoudiniEngineUnity.HEU_InputHDAInfo InternalAddInputHDAAtEnd(UnityEngine.GameObject newInputHDA)
      // Offset: 0x150D6E8
      HoudiniEngineUnity::HEU_InputHDAInfo* InternalAddInputHDAAtEnd(UnityEngine::GameObject* newInputHDA);
      // private System.Void DisconnectConnectedMergeNode(HoudiniEngineUnity.HEU_SessionBase session)
      // Offset: 0x150D954
      void DisconnectConnectedMergeNode(HoudiniEngineUnity::HEU_SessionBase* session);
      // private System.Void ClearConnectedInputHDAs()
      // Offset: 0x150DB94
      void ClearConnectedInputHDAs();
      // private System.Void ConnectToMergeObject(HoudiniEngineUnity.HEU_SessionBase session)
      // Offset: 0x150ED58
      void ConnectToMergeObject(HoudiniEngineUnity::HEU_SessionBase* session);
      // private System.Void DisconnectAndDestroyInputs(HoudiniEngineUnity.HEU_SessionBase session)
      // Offset: 0x150CC94
      void DisconnectAndDestroyInputs(HoudiniEngineUnity::HEU_SessionBase* session);
      // public System.Int32 GetConnectedInputCount()
      // Offset: 0x150FB84
      int GetConnectedInputCount();
      // public System.Int32 GetConnectedNodeID(System.Int32 index)
      // Offset: 0x150FC04
      int GetConnectedNodeID(int index);
      // public System.Boolean UploadObjectMergeTransformType(HoudiniEngineUnity.HEU_SessionBase session)
      // Offset: 0x150EF50
      bool UploadObjectMergeTransformType(HoudiniEngineUnity::HEU_SessionBase* session);
      // private System.Boolean UploadObjectMergePackGeometry(HoudiniEngineUnity.HEU_SessionBase session)
      // Offset: 0x150F06C
      bool UploadObjectMergePackGeometry(HoudiniEngineUnity::HEU_SessionBase* session);
      // public System.Boolean HasInputNodeTransformChanged()
      // Offset: 0x150FCDC
      bool HasInputNodeTransformChanged();
      // public System.Void UploadInputObjectTransforms(HoudiniEngineUnity.HEU_SessionBase session)
      // Offset: 0x150FF98
      void UploadInputObjectTransforms(HoudiniEngineUnity::HEU_SessionBase* session);
      // public System.Void UpdateOnAssetRecreation(HoudiniEngineUnity.HEU_SessionBase session)
      // Offset: 0x1510494
      void UpdateOnAssetRecreation(HoudiniEngineUnity::HEU_SessionBase* session);
      // public System.Void CopyInputValuesTo(HoudiniEngineUnity.HEU_SessionBase session, HoudiniEngineUnity.HEU_InputNode destInputNode)
      // Offset: 0x151061C
      void CopyInputValuesTo(HoudiniEngineUnity::HEU_SessionBase* session, HoudiniEngineUnity::HEU_InputNode* destInputNode);
      // public System.Void PopulateInputPreset(HoudiniEngineUnity.HEU_InputPreset inputPreset)
      // Offset: 0x15108C4
      void PopulateInputPreset(HoudiniEngineUnity::HEU_InputPreset* inputPreset);
      // public System.Void LoadPreset(HoudiniEngineUnity.HEU_SessionBase session, HoudiniEngineUnity.HEU_InputPreset inputPreset)
      // Offset: 0x1510D68
      void LoadPreset(HoudiniEngineUnity::HEU_SessionBase* session, HoudiniEngineUnity::HEU_InputPreset* inputPreset);
      // private System.Boolean FindAddToInputHDA(System.String gameObjectName)
      // Offset: 0x15112F0
      bool FindAddToInputHDA(::Il2CppString* gameObjectName);
      // public System.Void NotifyParentRemovedInput()
      // Offset: 0x151144C
      void NotifyParentRemovedInput();
      // public System.Void ClearUICache()
      // Offset: 0x150CC8C
      void ClearUICache();
      // public System.Void HandleSelectedObjectsForInputObjects(UnityEngine.GameObject[] selectedObjects)
      // Offset: 0x15114E4
      void HandleSelectedObjectsForInputObjects(::ArrayW<UnityEngine::GameObject*> selectedObjects);
      // public System.Void HandleSelectedObjectsForInputHDAs(UnityEngine.GameObject[] selectedObjects)
      // Offset: 0x1511624
      void HandleSelectedObjectsForInputHDAs(::ArrayW<UnityEngine::GameObject*> selectedObjects);
      // public System.Boolean IsEquivalentTo(HoudiniEngineUnity.HEU_InputNode other)
      // Offset: 0x1511764
      bool IsEquivalentTo(HoudiniEngineUnity::HEU_InputNode* other);
      // static public HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InternalObjectType GetInternalObjectType(HoudiniEngineUnity.HEU_InputNode/HoudiniEngineUnity.InputObjectType type)
      // Offset: 0x150D2B0
      static HoudiniEngineUnity::HEU_InputNode::InternalObjectType GetInternalObjectType(HoudiniEngineUnity::HEU_InputNode::InputObjectType type);
      // public System.Void .ctor()
      // Offset: 0x1511A84
      // Implemented from: UnityEngine.ScriptableObject
      // Base method: System.Void ScriptableObject::.ctor()
      // Base method: System.Void Object::.ctor()
      // Base method: System.Void Object::.ctor()
      template<::il2cpp_utils::CreationType creationType = ::il2cpp_utils::CreationType::Temporary>
      static HEU_InputNode* New_ctor() {
        static auto ___internal__logger = ::Logger::get().WithContext("HoudiniEngineUnity::HEU_InputNode::.ctor");
        return THROW_UNLESS((::il2cpp_utils::New<HEU_InputNode*, creationType>()));
      }
    }; // HoudiniEngineUnity.HEU_InputNode
    #pragma pack(pop)
    static check_size<sizeof(HEU_InputNode), 144 + sizeof(HoudiniEngineUnity::HEU_InputNodeUICache*)> __HoudiniEngineUnity_HEU_InputNodeSizeCheck;
    static_assert(sizeof(HEU_InputNode) == 0x98);
  }
  #include "extern/beatsaber-hook/shared/utils/il2cpp-type-check.hpp"
  DEFINE_IL2CPP_ARG_TYPE(HoudiniEngineUnity::HEU_InputNode::InputNodeType, "HoudiniEngineUnity", "HEU_InputNode/InputNodeType");
  #include "extern/beatsaber-hook/shared/utils/il2cpp-type-check.hpp"
  DEFINE_IL2CPP_ARG_TYPE(HoudiniEngineUnity::HEU_InputNode::InputObjectType, "HoudiniEngineUnity", "HEU_InputNode/InputObjectType");
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::get_InputType
  // Il2CppName: get_InputType
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<HoudiniEngineUnity::HEU_InputNode::InputNodeType (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::get_InputType)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "get_InputType", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::get_ThisInputObjectType
  // Il2CppName: get_ThisInputObjectType
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<HoudiniEngineUnity::HEU_InputNode::InputObjectType (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::get_ThisInputObjectType)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "get_ThisInputObjectType", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::get_PendingInputObjectType
  // Il2CppName: get_PendingInputObjectType
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<HoudiniEngineUnity::HEU_InputNode::InputObjectType (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::get_PendingInputObjectType)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "get_PendingInputObjectType", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::set_PendingInputObjectType
  // Il2CppName: set_PendingInputObjectType
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_InputNode::InputObjectType)>(&HoudiniEngineUnity::HEU_InputNode::set_PendingInputObjectType)> {
    static const MethodInfo* get() {
      static auto* value = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_InputNode/InputObjectType")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "set_PendingInputObjectType", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{value});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::get_InputObjects
  // Il2CppName: get_InputObjects
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<System::Collections::Generic::List_1<HoudiniEngineUnity::HEU_InputObjectInfo*>* (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::get_InputObjects)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "get_InputObjects", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::get_InputNodeID
  // Il2CppName: get_InputNodeID
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<int (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::get_InputNodeID)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "get_InputNodeID", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::get_RequiresCook
  // Il2CppName: get_RequiresCook
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::get_RequiresCook)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "get_RequiresCook", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::set_RequiresCook
  // Il2CppName: set_RequiresCook
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(bool)>(&HoudiniEngineUnity::HEU_InputNode::set_RequiresCook)> {
    static const MethodInfo* get() {
      static auto* value = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "set_RequiresCook", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{value});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::get_RequiresUpload
  // Il2CppName: get_RequiresUpload
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::get_RequiresUpload)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "get_RequiresUpload", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::set_RequiresUpload
  // Il2CppName: set_RequiresUpload
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(bool)>(&HoudiniEngineUnity::HEU_InputNode::set_RequiresUpload)> {
    static const MethodInfo* get() {
      static auto* value = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "set_RequiresUpload", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{value});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::get_InputName
  // Il2CppName: get_InputName
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::Il2CppString* (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::get_InputName)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "get_InputName", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::get_LabelName
  // Il2CppName: get_LabelName
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::Il2CppString* (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::get_LabelName)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "get_LabelName", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::get_ParamName
  // Il2CppName: get_ParamName
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::Il2CppString* (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::get_ParamName)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "get_ParamName", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::set_ParamName
  // Il2CppName: set_ParamName
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(::Il2CppString*)>(&HoudiniEngineUnity::HEU_InputNode::set_ParamName)> {
    static const MethodInfo* get() {
      static auto* value = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "set_ParamName", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{value});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::get_KeepWorldTransform
  // Il2CppName: get_KeepWorldTransform
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::get_KeepWorldTransform)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "get_KeepWorldTransform", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::set_KeepWorldTransform
  // Il2CppName: set_KeepWorldTransform
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(bool)>(&HoudiniEngineUnity::HEU_InputNode::set_KeepWorldTransform)> {
    static const MethodInfo* get() {
      static auto* value = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "set_KeepWorldTransform", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{value});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::get_PackGeometryBeforeMerging
  // Il2CppName: get_PackGeometryBeforeMerging
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::get_PackGeometryBeforeMerging)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "get_PackGeometryBeforeMerging", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::set_PackGeometryBeforeMerging
  // Il2CppName: set_PackGeometryBeforeMerging
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(bool)>(&HoudiniEngineUnity::HEU_InputNode::set_PackGeometryBeforeMerging)> {
    static const MethodInfo* get() {
      static auto* value = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "set_PackGeometryBeforeMerging", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{value});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::get_ParentAsset
  // Il2CppName: get_ParentAsset
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<HoudiniEngineUnity::HEU_HoudiniAsset* (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::get_ParentAsset)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "get_ParentAsset", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::get_TilemapSettings
  // Il2CppName: get_TilemapSettings
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<HoudiniEngineUnity::HEU_InputInterfaceTilemapSettings* (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::get_TilemapSettings)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "get_TilemapSettings", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::IsAssetInput
  // Il2CppName: IsAssetInput
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::IsAssetInput)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "IsAssetInput", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::CreateSetupInput
  // Il2CppName: CreateSetupInput
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<HoudiniEngineUnity::HEU_InputNode* (*)(int, int, ::Il2CppString*, ::Il2CppString*, HoudiniEngineUnity::HEU_InputNode::InputNodeType, HoudiniEngineUnity::HEU_HoudiniAsset*)>(&HoudiniEngineUnity::HEU_InputNode::CreateSetupInput)> {
    static const MethodInfo* get() {
      static auto* nodeID = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      static auto* inputIndex = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      static auto* inputName = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      static auto* labelName = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      static auto* inputNodeType = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_InputNode/InputNodeType")->byval_arg;
      static auto* parentAsset = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_HoudiniAsset")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "CreateSetupInput", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{nodeID, inputIndex, inputName, labelName, inputNodeType, parentAsset});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::SetInputNodeID
  // Il2CppName: SetInputNodeID
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(int)>(&HoudiniEngineUnity::HEU_InputNode::SetInputNodeID)> {
    static const MethodInfo* get() {
      static auto* nodeID = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "SetInputNodeID", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{nodeID});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::DestroyAllData
  // Il2CppName: DestroyAllData
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_SessionBase*)>(&HoudiniEngineUnity::HEU_InputNode::DestroyAllData)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "DestroyAllData", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::ResetInputObjectTransforms
  // Il2CppName: ResetInputObjectTransforms
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::ResetInputObjectTransforms)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "ResetInputObjectTransforms", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::ResetInputNode
  // Il2CppName: ResetInputNode
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_SessionBase*)>(&HoudiniEngineUnity::HEU_InputNode::ResetInputNode)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "ResetInputNode", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::InsertInputEntry
  // Il2CppName: InsertInputEntry
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(int, UnityEngine::GameObject*)>(&HoudiniEngineUnity::HEU_InputNode::InsertInputEntry)> {
    static const MethodInfo* get() {
      static auto* index = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      static auto* newInputGameObject = &::il2cpp_utils::GetClassFromName("UnityEngine", "GameObject")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "InsertInputEntry", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{index, newInputGameObject});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::GetInputEntryGameObject
  // Il2CppName: GetInputEntryGameObject
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<UnityEngine::GameObject* (HoudiniEngineUnity::HEU_InputNode::*)(int)>(&HoudiniEngineUnity::HEU_InputNode::GetInputEntryGameObject)> {
    static const MethodInfo* get() {
      static auto* index = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "GetInputEntryGameObject", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{index});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::AddInputEntryAtEnd
  // Il2CppName: AddInputEntryAtEnd
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(UnityEngine::GameObject*)>(&HoudiniEngineUnity::HEU_InputNode::AddInputEntryAtEnd)> {
    static const MethodInfo* get() {
      static auto* newEntryGameObject = &::il2cpp_utils::GetClassFromName("UnityEngine", "GameObject")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "AddInputEntryAtEnd", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{newEntryGameObject});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::AddInputEntryAtEndMesh
  // Il2CppName: AddInputEntryAtEndMesh
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<HoudiniEngineUnity::HEU_InputObjectInfo* (HoudiniEngineUnity::HEU_InputNode::*)(UnityEngine::GameObject*)>(&HoudiniEngineUnity::HEU_InputNode::AddInputEntryAtEndMesh)> {
    static const MethodInfo* get() {
      static auto* newEntryGameObject = &::il2cpp_utils::GetClassFromName("UnityEngine", "GameObject")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "AddInputEntryAtEndMesh", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{newEntryGameObject});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::RemoveAllInputEntries
  // Il2CppName: RemoveAllInputEntries
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::RemoveAllInputEntries)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "RemoveAllInputEntries", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::NumInputEntries
  // Il2CppName: NumInputEntries
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<int (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::NumInputEntries)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "NumInputEntries", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::ChangeInputType
  // Il2CppName: ChangeInputType
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_SessionBase*, HoudiniEngineUnity::HEU_InputNode::InputObjectType)>(&HoudiniEngineUnity::HEU_InputNode::ChangeInputType)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      static auto* newType = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_InputNode/InputObjectType")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "ChangeInputType", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session, newType});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::ResetConnectionForForceUpdate
  // Il2CppName: ResetConnectionForForceUpdate
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_SessionBase*)>(&HoudiniEngineUnity::HEU_InputNode::ResetConnectionForForceUpdate)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "ResetConnectionForForceUpdate", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::UploadInput
  // Il2CppName: UploadInput
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_SessionBase*)>(&HoudiniEngineUnity::HEU_InputNode::UploadInput)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "UploadInput", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::UploadHDAInput
  // Il2CppName: UploadHDAInput
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_SessionBase*)>(&HoudiniEngineUnity::HEU_InputNode::UploadHDAInput)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "UploadHDAInput", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::UploadUnityInput
  // Il2CppName: UploadUnityInput
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_SessionBase*)>(&HoudiniEngineUnity::HEU_InputNode::UploadUnityInput)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "UploadUnityInput", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::AreAnyInputHDAsConnected
  // Il2CppName: AreAnyInputHDAsConnected
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::AreAnyInputHDAsConnected)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "AreAnyInputHDAsConnected", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::ReconnectToUpstreamAsset
  // Il2CppName: ReconnectToUpstreamAsset
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::ReconnectToUpstreamAsset)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "ReconnectToUpstreamAsset", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::CreateInputObjectInfo
  // Il2CppName: CreateInputObjectInfo
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<HoudiniEngineUnity::HEU_InputObjectInfo* (HoudiniEngineUnity::HEU_InputNode::*)(UnityEngine::GameObject*)>(&HoudiniEngineUnity::HEU_InputNode::CreateInputObjectInfo)> {
    static const MethodInfo* get() {
      static auto* inputGameObject = &::il2cpp_utils::GetClassFromName("UnityEngine", "GameObject")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "CreateInputObjectInfo", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{inputGameObject});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::CreateInputHDAInfo
  // Il2CppName: CreateInputHDAInfo
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<HoudiniEngineUnity::HEU_InputHDAInfo* (HoudiniEngineUnity::HEU_InputNode::*)(UnityEngine::GameObject*)>(&HoudiniEngineUnity::HEU_InputNode::CreateInputHDAInfo)> {
    static const MethodInfo* get() {
      static auto* inputGameObject = &::il2cpp_utils::GetClassFromName("UnityEngine", "GameObject")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "CreateInputHDAInfo", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{inputGameObject});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::InternalAddInputObjectAtEnd
  // Il2CppName: InternalAddInputObjectAtEnd
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<HoudiniEngineUnity::HEU_InputObjectInfo* (HoudiniEngineUnity::HEU_InputNode::*)(UnityEngine::GameObject*)>(&HoudiniEngineUnity::HEU_InputNode::InternalAddInputObjectAtEnd)> {
    static const MethodInfo* get() {
      static auto* newInputGameObject = &::il2cpp_utils::GetClassFromName("UnityEngine", "GameObject")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "InternalAddInputObjectAtEnd", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{newInputGameObject});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::InternalAddInputHDAAtEnd
  // Il2CppName: InternalAddInputHDAAtEnd
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<HoudiniEngineUnity::HEU_InputHDAInfo* (HoudiniEngineUnity::HEU_InputNode::*)(UnityEngine::GameObject*)>(&HoudiniEngineUnity::HEU_InputNode::InternalAddInputHDAAtEnd)> {
    static const MethodInfo* get() {
      static auto* newInputHDA = &::il2cpp_utils::GetClassFromName("UnityEngine", "GameObject")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "InternalAddInputHDAAtEnd", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{newInputHDA});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::DisconnectConnectedMergeNode
  // Il2CppName: DisconnectConnectedMergeNode
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_SessionBase*)>(&HoudiniEngineUnity::HEU_InputNode::DisconnectConnectedMergeNode)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "DisconnectConnectedMergeNode", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::ClearConnectedInputHDAs
  // Il2CppName: ClearConnectedInputHDAs
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::ClearConnectedInputHDAs)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "ClearConnectedInputHDAs", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::ConnectToMergeObject
  // Il2CppName: ConnectToMergeObject
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_SessionBase*)>(&HoudiniEngineUnity::HEU_InputNode::ConnectToMergeObject)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "ConnectToMergeObject", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::DisconnectAndDestroyInputs
  // Il2CppName: DisconnectAndDestroyInputs
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_SessionBase*)>(&HoudiniEngineUnity::HEU_InputNode::DisconnectAndDestroyInputs)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "DisconnectAndDestroyInputs", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::GetConnectedInputCount
  // Il2CppName: GetConnectedInputCount
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<int (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::GetConnectedInputCount)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "GetConnectedInputCount", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::GetConnectedNodeID
  // Il2CppName: GetConnectedNodeID
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<int (HoudiniEngineUnity::HEU_InputNode::*)(int)>(&HoudiniEngineUnity::HEU_InputNode::GetConnectedNodeID)> {
    static const MethodInfo* get() {
      static auto* index = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "GetConnectedNodeID", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{index});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::UploadObjectMergeTransformType
  // Il2CppName: UploadObjectMergeTransformType
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_SessionBase*)>(&HoudiniEngineUnity::HEU_InputNode::UploadObjectMergeTransformType)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "UploadObjectMergeTransformType", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::UploadObjectMergePackGeometry
  // Il2CppName: UploadObjectMergePackGeometry
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_SessionBase*)>(&HoudiniEngineUnity::HEU_InputNode::UploadObjectMergePackGeometry)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "UploadObjectMergePackGeometry", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::HasInputNodeTransformChanged
  // Il2CppName: HasInputNodeTransformChanged
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::HasInputNodeTransformChanged)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "HasInputNodeTransformChanged", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::UploadInputObjectTransforms
  // Il2CppName: UploadInputObjectTransforms
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_SessionBase*)>(&HoudiniEngineUnity::HEU_InputNode::UploadInputObjectTransforms)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "UploadInputObjectTransforms", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::UpdateOnAssetRecreation
  // Il2CppName: UpdateOnAssetRecreation
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_SessionBase*)>(&HoudiniEngineUnity::HEU_InputNode::UpdateOnAssetRecreation)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "UpdateOnAssetRecreation", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::CopyInputValuesTo
  // Il2CppName: CopyInputValuesTo
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_SessionBase*, HoudiniEngineUnity::HEU_InputNode*)>(&HoudiniEngineUnity::HEU_InputNode::CopyInputValuesTo)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      static auto* destInputNode = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_InputNode")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "CopyInputValuesTo", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session, destInputNode});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::PopulateInputPreset
  // Il2CppName: PopulateInputPreset
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_InputPreset*)>(&HoudiniEngineUnity::HEU_InputNode::PopulateInputPreset)> {
    static const MethodInfo* get() {
      static auto* inputPreset = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_InputPreset")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "PopulateInputPreset", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{inputPreset});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::LoadPreset
  // Il2CppName: LoadPreset
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_SessionBase*, HoudiniEngineUnity::HEU_InputPreset*)>(&HoudiniEngineUnity::HEU_InputNode::LoadPreset)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      static auto* inputPreset = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_InputPreset")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "LoadPreset", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session, inputPreset});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::FindAddToInputHDA
  // Il2CppName: FindAddToInputHDA
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (HoudiniEngineUnity::HEU_InputNode::*)(::Il2CppString*)>(&HoudiniEngineUnity::HEU_InputNode::FindAddToInputHDA)> {
    static const MethodInfo* get() {
      static auto* gameObjectName = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "FindAddToInputHDA", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{gameObjectName});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::NotifyParentRemovedInput
  // Il2CppName: NotifyParentRemovedInput
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::NotifyParentRemovedInput)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "NotifyParentRemovedInput", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::ClearUICache
  // Il2CppName: ClearUICache
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)()>(&HoudiniEngineUnity::HEU_InputNode::ClearUICache)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "ClearUICache", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::HandleSelectedObjectsForInputObjects
  // Il2CppName: HandleSelectedObjectsForInputObjects
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(::ArrayW<UnityEngine::GameObject*>)>(&HoudiniEngineUnity::HEU_InputNode::HandleSelectedObjectsForInputObjects)> {
    static const MethodInfo* get() {
      static auto* selectedObjects = &il2cpp_functions::array_class_get(::il2cpp_utils::GetClassFromName("UnityEngine", "GameObject"), 1)->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "HandleSelectedObjectsForInputObjects", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{selectedObjects});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::HandleSelectedObjectsForInputHDAs
  // Il2CppName: HandleSelectedObjectsForInputHDAs
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (HoudiniEngineUnity::HEU_InputNode::*)(::ArrayW<UnityEngine::GameObject*>)>(&HoudiniEngineUnity::HEU_InputNode::HandleSelectedObjectsForInputHDAs)> {
    static const MethodInfo* get() {
      static auto* selectedObjects = &il2cpp_functions::array_class_get(::il2cpp_utils::GetClassFromName("UnityEngine", "GameObject"), 1)->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "HandleSelectedObjectsForInputHDAs", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{selectedObjects});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::IsEquivalentTo
  // Il2CppName: IsEquivalentTo
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (HoudiniEngineUnity::HEU_InputNode::*)(HoudiniEngineUnity::HEU_InputNode*)>(&HoudiniEngineUnity::HEU_InputNode::IsEquivalentTo)> {
    static const MethodInfo* get() {
      static auto* other = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_InputNode")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "IsEquivalentTo", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{other});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::GetInternalObjectType
  // Il2CppName: GetInternalObjectType
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<HoudiniEngineUnity::HEU_InputNode::InternalObjectType (*)(HoudiniEngineUnity::HEU_InputNode::InputObjectType)>(&HoudiniEngineUnity::HEU_InputNode::GetInternalObjectType)> {
    static const MethodInfo* get() {
      static auto* type = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_InputNode/InputObjectType")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_InputNode*), "GetInternalObjectType", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{type});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_InputNode::New_ctor
  // Il2CppName: .ctor
  // Cannot get method pointer of value based method overload from template for constructor!
  // Try using FindMethod instead!
  