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: HoudiniEngineUnity.HEU_HoudiniAsset
  #include "HoudiniEngineUnity/HEU_HoudiniAsset.hpp"
  // Including type: HoudiniEngineUnity.HAPI_ObjectInfo
  #include "HoudiniEngineUnity/HAPI_ObjectInfo.hpp"
  // Including type: HoudiniEngineUnity.HAPI_Transform
  #include "HoudiniEngineUnity/HAPI_Transform.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: UnityEngine
  namespace UnityEngine {
    // Skipping declaration: Object because it is already included!
    // Forward declaring type: GameObject
    class GameObject;
    // Skipping declaration: Vector3 because it is already included!
    // Forward declaring type: Transform
    class Transform;
    // Skipping declaration: Component because it is already included!
    // Skipping declaration: Matrix4x4 because it is already included!
    // Skipping declaration: Quaternion because it is already included!
    // Forward declaring type: AnimationCurve
    class AnimationCurve;
  }
  // Forward declaring namespace: HoudiniEngineUnity
  namespace HoudiniEngineUnity {
    // Forward declaring type: HEU_SessionBase
    class HEU_SessionBase;
    // Forward declaring type: HAPI_CookOptions
    struct HAPI_CookOptions;
    // Forward declaring type: HEU_HoudiniAssetRoot
    class HEU_HoudiniAssetRoot;
    // Forward declaring type: HAPI_TransformEuler
    struct HAPI_TransformEuler;
    // Forward declaring type: HAPI_Viewport
    struct HAPI_Viewport;
    // Forward declaring type: HAPI_SessionSyncInfo
    struct HAPI_SessionSyncInfo;
    // Forward declaring type: HAPI_AttributeOwner
    struct HAPI_AttributeOwner;
    // Forward declaring type: HAPI_AttributeInfo
    struct HAPI_AttributeInfo;
    // Forward declaring type: HAPI_PartType
    struct HAPI_PartType;
    // Skipping declaration: HAPI_NodeInfo because it is already included!
  }
  // Forward declaring namespace: System::Collections::Generic
  namespace System::Collections::Generic {
    // Forward declaring type: List`1<T>
    template<typename T>
    class List_1;
  }
  // Completed forward declares
  // Type namespace: HoudiniEngineUnity
  namespace HoudiniEngineUnity {
    // Forward declaring type: HEU_HAPIUtility
    class HEU_HAPIUtility;
  }
  #include "extern/beatsaber-hook/shared/utils/il2cpp-type-check.hpp"
  NEED_NO_BOX(HoudiniEngineUnity::HEU_HAPIUtility);
  DEFINE_IL2CPP_ARG_TYPE(HoudiniEngineUnity::HEU_HAPIUtility*, "HoudiniEngineUnity", "HEU_HAPIUtility");
  // Type namespace: HoudiniEngineUnity
  namespace HoudiniEngineUnity {
    // Size: 0x10
    #pragma pack(push, 1)
    // Autogenerated type: HoudiniEngineUnity.HEU_HAPIUtility
    // [TokenAttribute] Offset: FFFFFFFF
    class HEU_HAPIUtility : public ::Il2CppObject {
      public:
      // static public System.String GetHoudiniEngineInstallationInfo()
      // Offset: 0x15BCA4C
      static ::Il2CppString* GetHoudiniEngineInstallationInfo();
      // static public System.String GetEnvironmentPath()
      // Offset: 0x15BCA94
      static ::Il2CppString* GetEnvironmentPath();
      // static public System.String GetRealPathFromHFSPath(System.String inPath)
      // Offset: 0x15BCAE4
      static ::Il2CppString* GetRealPathFromHFSPath(::Il2CppString* inPath);
      // static public System.Boolean DoesMappedPathExist(System.String inPath)
      // Offset: 0x15BCC48
      static bool DoesMappedPathExist(::Il2CppString* inPath);
      // static public System.Boolean IsHoudiniAssetFile(System.String filePath)
      // Offset: 0x15BCCDC
      static bool IsHoudiniAssetFile(::Il2CppString* filePath);
      // static public System.String FindHoudiniAssetFileInPathWithExt(System.String filePath)
      // Offset: 0x15BCDEC
      static ::Il2CppString* FindHoudiniAssetFileInPathWithExt(::Il2CppString* filePath);
      // static public System.Void Log(System.String message)
      // Offset: 0x15BD034
      static void Log(::Il2CppString* message);
      // static public System.Void LogWarning(System.String message)
      // Offset: 0x15BD03C
      static void LogWarning(::Il2CppString* message);
      // static public System.Void LogError(System.String message)
      // Offset: 0x15BD044
      static void LogError(::Il2CppString* message);
      // static public System.String LocateValidFilePath(UnityEngine.Object inObject)
      // Offset: 0x15BD04C
      static ::Il2CppString* LocateValidFilePath(UnityEngine::Object* inObject);
      // static public System.String LocateValidFilePath(System.String assetName, System.String inFilePath)
      // Offset: 0x15BD0D8
      static ::Il2CppString* LocateValidFilePath(::Il2CppString* assetName, ::Il2CppString* inFilePath);
      // static public UnityEngine.GameObject InstantiateHDA(System.String filePath, UnityEngine.Vector3 initialPosition, HoudiniEngineUnity.HEU_SessionBase session, System.Boolean bBuildAsync, System.Boolean bLoadFromMemory, System.Boolean bAlwaysOverwriteOnLoad, UnityEngine.GameObject rootGO)
      // Offset: 0x15BD0E0
      static UnityEngine::GameObject* InstantiateHDA(::Il2CppString* filePath, UnityEngine::Vector3 initialPosition, HoudiniEngineUnity::HEU_SessionBase* session, bool bBuildAsync, bool bLoadFromMemory, bool bAlwaysOverwriteOnLoad, UnityEngine::GameObject* rootGO);
      // static public System.Boolean LoadHDAFile(HoudiniEngineUnity.HEU_SessionBase session, System.String assetPath, out System.Int32 assetLibraryID, out System.String[] assetNames)
      // Offset: 0x15BD5C4
      static bool LoadHDAFile(HoudiniEngineUnity::HEU_SessionBase* session, ::Il2CppString* assetPath, ByRef<int> assetLibraryID, ByRef<::ArrayW<::Il2CppString*>> assetNames);
      // static public System.Boolean CreateAndCookAssetNode(HoudiniEngineUnity.HEU_SessionBase session, System.String assetName, System.Boolean bCookTemplatedGeos, out System.Int32 newAssetID)
      // Offset: 0x15BD7EC
      static bool CreateAndCookAssetNode(HoudiniEngineUnity::HEU_SessionBase* session, ::Il2CppString* assetName, bool bCookTemplatedGeos, ByRef<int> newAssetID);
      // static public System.Boolean CreateAndCookCurveAsset(HoudiniEngineUnity.HEU_SessionBase session, System.String assetName, System.Boolean bCookTemplatedGeos, out System.Int32 newAssetID)
      // Offset: 0x15BDBC0
      static bool CreateAndCookCurveAsset(HoudiniEngineUnity::HEU_SessionBase* session, ::Il2CppString* assetName, bool bCookTemplatedGeos, ByRef<int> newAssetID);
      // static public System.Boolean CreateAndCookInputAsset(HoudiniEngineUnity.HEU_SessionBase session, System.String assetName, System.Boolean bCookTemplatedGeos, out System.Int32 newAssetID)
      // Offset: 0x15BDCBC
      static bool CreateAndCookInputAsset(HoudiniEngineUnity::HEU_SessionBase* session, ::Il2CppString* assetName, bool bCookTemplatedGeos, ByRef<int> newAssetID);
      // static public System.Boolean CookNodeInHoudini(HoudiniEngineUnity.HEU_SessionBase session, System.Int32 nodeID, System.Boolean bCookTemplatedGeos, System.String assetName)
      // Offset: 0x15BDB64
      static bool CookNodeInHoudini(HoudiniEngineUnity::HEU_SessionBase* session, int nodeID, bool bCookTemplatedGeos, ::Il2CppString* assetName);
      // static public System.Boolean CookNodeInHoudiniWithOptions(HoudiniEngineUnity.HEU_SessionBase session, System.Int32 nodeID, HoudiniEngineUnity.HAPI_CookOptions options, System.String assetName)
      // Offset: 0x15BDEEC
      static bool CookNodeInHoudiniWithOptions(HoudiniEngineUnity::HEU_SessionBase* session, int nodeID, HoudiniEngineUnity::HAPI_CookOptions options, ::Il2CppString* assetName);
      // static public HoudiniEngineUnity.HAPI_CookOptions GetDefaultCookOptions(HoudiniEngineUnity.HEU_SessionBase session)
      // Offset: 0x15BDF6C
      static HoudiniEngineUnity::HAPI_CookOptions GetDefaultCookOptions(HoudiniEngineUnity::HEU_SessionBase* session);
      // static public System.Boolean ProcessHoudiniCookStatus(HoudiniEngineUnity.HEU_SessionBase session, System.String assetName)
      // Offset: 0x15BD988
      static bool ProcessHoudiniCookStatus(HoudiniEngineUnity::HEU_SessionBase* session, ::Il2CppString* assetName);
      // static public UnityEngine.GameObject CreateNewAsset(HoudiniEngineUnity.HEU_HoudiniAsset/HoudiniEngineUnity.HEU_AssetType assetType, System.String rootName, UnityEngine.Transform parentTransform, HoudiniEngineUnity.HEU_SessionBase session, System.Boolean bBuildAsync, UnityEngine.GameObject rootGO)
      // Offset: 0x15BDFB8
      static UnityEngine::GameObject* CreateNewAsset(HoudiniEngineUnity::HEU_HoudiniAsset::HEU_AssetType assetType, ::Il2CppString* rootName, UnityEngine::Transform* parentTransform, HoudiniEngineUnity::HEU_SessionBase* session, bool bBuildAsync, UnityEngine::GameObject* rootGO);
      // static public UnityEngine.GameObject CreateNewCurveAsset(System.String name, UnityEngine.Transform parentTransform, HoudiniEngineUnity.HEU_SessionBase session, System.Boolean bBuildAsync, UnityEngine.GameObject rootGO)
      // Offset: 0x15BE308
      static UnityEngine::GameObject* CreateNewCurveAsset(::Il2CppString* name, UnityEngine::Transform* parentTransform, HoudiniEngineUnity::HEU_SessionBase* session, bool bBuildAsync, UnityEngine::GameObject* rootGO);
      // static public UnityEngine.GameObject CreateNewInputAsset(System.String name, UnityEngine.Transform parentTransform, HoudiniEngineUnity.HEU_SessionBase session, System.Boolean bBuildAsync, UnityEngine.GameObject rootGO)
      // Offset: 0x15BE32C
      static UnityEngine::GameObject* CreateNewInputAsset(::Il2CppString* name, UnityEngine::Transform* parentTransform, HoudiniEngineUnity::HEU_SessionBase* session, bool bBuildAsync, UnityEngine::GameObject* rootGO);
      // static public UnityEngine.GameObject LoadGeoWithNewGeoSync(HoudiniEngineUnity.HEU_SessionBase session)
      // Offset: 0x15BE350
      static UnityEngine::GameObject* LoadGeoWithNewGeoSync(HoudiniEngineUnity::HEU_SessionBase* session);
      // static public System.Void DestroyChildren(UnityEngine.Transform inTransform)
      // Offset: 0x15BE358
      static void DestroyChildren(UnityEngine::Transform* inTransform);
      // static public System.Void DestroyGameObject(UnityEngine.GameObject gameObect, System.Boolean bRegisterUndo)
      // Offset: 0x15BE6EC
      static void DestroyGameObject(UnityEngine::GameObject* gameObect, bool bRegisterUndo);
      // static public System.Void DestroyChildrenWithComponent(UnityEngine.GameObject gameObject)
      // Offset: 0xFFFFFFFF
      template<class T>
      static void DestroyChildrenWithComponent(UnityEngine::GameObject* gameObject) {
        static_assert(std::is_convertible_v<T, UnityEngine::Component*>);
        static auto ___internal__logger = ::Logger::get().WithContext("HoudiniEngineUnity::HEU_HAPIUtility::DestroyChildrenWithComponent");
        static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("HoudiniEngineUnity", "HEU_HAPIUtility", "DestroyChildrenWithComponent", std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<T>::get()}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(gameObject)})));
        static auto* ___generic__method = THROW_UNLESS(::il2cpp_utils::MakeGenericMethod(___internal__method, std::vector<Il2CppClass*>{::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<T>::get()}));
        ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___generic__method, gameObject);
      }
      // static public System.Boolean IsNodeValidInHoudini(HoudiniEngineUnity.HEU_SessionBase session, System.Int32 nodeID)
      // Offset: 0x15BE6FC
      static bool IsNodeValidInHoudini(HoudiniEngineUnity::HEU_SessionBase* session, int nodeID);
      // static public HoudiniEngineUnity.HEU_HoudiniAssetRoot GetAssetInScene(System.Int32 assetID)
      // Offset: 0x15BE7A8
      static HoudiniEngineUnity::HEU_HoudiniAssetRoot* GetAssetInScene(int assetID);
      // static public System.Void ApplyWorldTransfromFromHoudiniToUnity(ref HoudiniEngineUnity.HAPI_Transform hapiTransform, UnityEngine.Transform unityTransform)
      // Offset: 0x15BE8C0
      static void ApplyWorldTransfromFromHoudiniToUnity(ByRef<HoudiniEngineUnity::HAPI_Transform> hapiTransform, UnityEngine::Transform* unityTransform);
      // static public System.Void ApplyLocalTransfromFromHoudiniToUnity(ref HoudiniEngineUnity.HAPI_Transform hapiTransform, UnityEngine.Transform unityTransform)
      // Offset: 0x15BEB04
      static void ApplyLocalTransfromFromHoudiniToUnity(ByRef<HoudiniEngineUnity::HAPI_Transform> hapiTransform, UnityEngine::Transform* unityTransform);
      // static public System.Void ApplyLocalTransfromFromHoudiniToUnityForInstance(ref HoudiniEngineUnity.HAPI_Transform hapiTransform, UnityEngine.Transform unityTransform)
      // Offset: 0x15BECB8
      static void ApplyLocalTransfromFromHoudiniToUnityForInstance(ByRef<HoudiniEngineUnity::HAPI_Transform> hapiTransform, UnityEngine::Transform* unityTransform);
      // static public System.Void ApplyMatrixToLocalTransform(ref UnityEngine.Matrix4x4 matrix, UnityEngine.Transform transform)
      // Offset: 0x15BEF10
      static void ApplyMatrixToLocalTransform(ByRef<UnityEngine::Matrix4x4> matrix, UnityEngine::Transform* transform);
      // static public UnityEngine.Matrix4x4 GetMatrixFromHAPITransform(ref HoudiniEngineUnity.HAPI_Transform hapiTransform, System.Boolean bConvertToUnity)
      // Offset: 0x15BF47C
      static UnityEngine::Matrix4x4 GetMatrixFromHAPITransform(ByRef<HoudiniEngineUnity::HAPI_Transform> hapiTransform, bool bConvertToUnity);
      // static public UnityEngine.Quaternion GetQuaternion(ref UnityEngine.Matrix4x4 m)
      // Offset: 0x15BF010
      static UnityEngine::Quaternion GetQuaternion(ByRef<UnityEngine::Matrix4x4> m);
      // static public UnityEngine.Vector3 GetPosition(ref UnityEngine.Matrix4x4 m)
      // Offset: 0x15BEF6C
      static UnityEngine::Vector3 GetPosition(ByRef<UnityEngine::Matrix4x4> m);
      // static public System.Void SetMatrixPosition(ref UnityEngine.Matrix4x4 m, ref UnityEngine.Vector3 position)
      // Offset: 0x15BF678
      static void SetMatrixPosition(ByRef<UnityEngine::Matrix4x4> m, ByRef<UnityEngine::Vector3> position);
      // static public UnityEngine.Vector3 GetScale(ref UnityEngine.Matrix4x4 m)
      // Offset: 0x15BF350
      static UnityEngine::Vector3 GetScale(ByRef<UnityEngine::Matrix4x4> m);
      // static public HoudiniEngineUnity.HAPI_TransformEuler GetHAPITransformFromMatrix(ref UnityEngine.Matrix4x4 mat)
      // Offset: 0x15BF71C
      static HoudiniEngineUnity::HAPI_TransformEuler GetHAPITransformFromMatrix(ByRef<UnityEngine::Matrix4x4> mat);
      // static public HoudiniEngineUnity.HAPI_TransformEuler GetHAPITransform(ref UnityEngine.Vector3 p, ref UnityEngine.Vector3 r, ref UnityEngine.Vector3 s)
      // Offset: 0x15BF93C
      static HoudiniEngineUnity::HAPI_TransformEuler GetHAPITransform(ByRef<UnityEngine::Vector3> p, ByRef<UnityEngine::Vector3> r, ByRef<UnityEngine::Vector3> s);
      // static public HoudiniEngineUnity.HAPI_Transform GetHAPITransformQuatFromMatrix(ref UnityEngine.Matrix4x4 mat)
      // Offset: 0x15BFB2C
      static HoudiniEngineUnity::HAPI_Transform GetHAPITransformQuatFromMatrix(ByRef<UnityEngine::Matrix4x4> mat);
      // static public UnityEngine.Matrix4x4 GetMatrix4x4(ref UnityEngine.Vector3 p, ref UnityEngine.Vector3 r, ref UnityEngine.Vector3 s)
      // Offset: 0x15BFDE0
      static UnityEngine::Matrix4x4 GetMatrix4x4(ByRef<UnityEngine::Vector3> p, ByRef<UnityEngine::Vector3> r, ByRef<UnityEngine::Vector3> s);
      // static public System.Boolean IsSameTransform(ref UnityEngine.Matrix4x4 transformMatrix, ref UnityEngine.Vector3 p, ref UnityEngine.Vector3 r, ref UnityEngine.Vector3 s)
      // Offset: 0x15BFF04
      static bool IsSameTransform(ByRef<UnityEngine::Matrix4x4> transformMatrix, ByRef<UnityEngine::Vector3> p, ByRef<UnityEngine::Vector3> r, ByRef<UnityEngine::Vector3> s);
      // static public System.Boolean IsEqualTol(System.Single a, System.Single b, System.Single t)
      // Offset: 0x15BFFE0
      static bool IsEqualTol(float a, float b, float t);
      // static public System.Boolean IsTransformEqual(ref HoudiniEngineUnity.HAPI_Transform transA, ref HoudiniEngineUnity.HAPI_Transform transB)
      // Offset: 0x15C0064
      static bool IsTransformEqual(ByRef<HoudiniEngineUnity::HAPI_Transform> transA, ByRef<HoudiniEngineUnity::HAPI_Transform> transB);
      // static public System.Boolean IsViewportEqual(ref HoudiniEngineUnity.HAPI_Viewport viewA, ref HoudiniEngineUnity.HAPI_Viewport viewB)
      // Offset: 0x15C0298
      static bool IsViewportEqual(ByRef<HoudiniEngineUnity::HAPI_Viewport> viewA, ByRef<HoudiniEngineUnity::HAPI_Viewport> viewB);
      // static public System.Boolean IsSessionSyncEqual(ref HoudiniEngineUnity.HAPI_SessionSyncInfo syncA, ref HoudiniEngineUnity.HAPI_SessionSyncInfo syncB)
      // Offset: 0x15C03DC
      static bool IsSessionSyncEqual(ByRef<HoudiniEngineUnity::HAPI_SessionSyncInfo> syncA, ByRef<HoudiniEngineUnity::HAPI_SessionSyncInfo> syncB);
      // static public System.Boolean DoesGeoPartHaveAttribute(HoudiniEngineUnity.HEU_SessionBase session, System.Int32 geoID, System.Int32 partID, System.String attrName, HoudiniEngineUnity.HAPI_AttributeOwner owner, ref HoudiniEngineUnity.HAPI_AttributeInfo attributeInfo)
      // Offset: 0x15C0424
      static bool DoesGeoPartHaveAttribute(HoudiniEngineUnity::HEU_SessionBase* session, int geoID, int partID, ::Il2CppString* attrName, HoudiniEngineUnity::HAPI_AttributeOwner owner, ByRef<HoudiniEngineUnity::HAPI_AttributeInfo> attributeInfo);
      // static public System.Void SetAnimationCurveTangentModes(UnityEngine.AnimationCurve animCurve, System.Collections.Generic.List`1<System.Int32> tangentValues)
      // Offset: 0x15C0470
      static void SetAnimationCurveTangentModes(UnityEngine::AnimationCurve* animCurve, System::Collections::Generic::List_1<int>* tangentValues);
      // static public System.Boolean IsSupportedPolygonType(HoudiniEngineUnity.HAPI_PartType partType)
      // Offset: 0x15C0474
      static bool IsSupportedPolygonType(HoudiniEngineUnity::HAPI_PartType partType);
      // static public System.Int32 GetParentNodeID(HoudiniEngineUnity.HEU_SessionBase session, System.Int32 nodeID)
      // Offset: 0x15C0490
      static int GetParentNodeID(HoudiniEngineUnity::HEU_SessionBase* session, int nodeID);
      // static public System.Boolean GetObjectInfos(HoudiniEngineUnity.HEU_SessionBase session, System.Int32 assetID, ref HoudiniEngineUnity.HAPI_NodeInfo nodeInfo, out HoudiniEngineUnity.HAPI_ObjectInfo[] objectInfos, out HoudiniEngineUnity.HAPI_Transform[] objectTransforms)
      // Offset: 0x15C0518
      static bool GetObjectInfos(HoudiniEngineUnity::HEU_SessionBase* session, int assetID, ByRef<HoudiniEngineUnity::HAPI_NodeInfo> nodeInfo, ByRef<::ArrayW<HoudiniEngineUnity::HAPI_ObjectInfo>> objectInfos, ByRef<::ArrayW<HoudiniEngineUnity::HAPI_Transform>> objectTransforms);
    }; // HoudiniEngineUnity.HEU_HAPIUtility
    #pragma pack(pop)
  }
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::GetHoudiniEngineInstallationInfo
  // Il2CppName: GetHoudiniEngineInstallationInfo
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::Il2CppString* (*)()>(&HoudiniEngineUnity::HEU_HAPIUtility::GetHoudiniEngineInstallationInfo)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "GetHoudiniEngineInstallationInfo", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::GetEnvironmentPath
  // Il2CppName: GetEnvironmentPath
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::Il2CppString* (*)()>(&HoudiniEngineUnity::HEU_HAPIUtility::GetEnvironmentPath)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "GetEnvironmentPath", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::GetRealPathFromHFSPath
  // Il2CppName: GetRealPathFromHFSPath
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::Il2CppString* (*)(::Il2CppString*)>(&HoudiniEngineUnity::HEU_HAPIUtility::GetRealPathFromHFSPath)> {
    static const MethodInfo* get() {
      static auto* inPath = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "GetRealPathFromHFSPath", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{inPath});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::DoesMappedPathExist
  // Il2CppName: DoesMappedPathExist
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(::Il2CppString*)>(&HoudiniEngineUnity::HEU_HAPIUtility::DoesMappedPathExist)> {
    static const MethodInfo* get() {
      static auto* inPath = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "DoesMappedPathExist", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{inPath});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::IsHoudiniAssetFile
  // Il2CppName: IsHoudiniAssetFile
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(::Il2CppString*)>(&HoudiniEngineUnity::HEU_HAPIUtility::IsHoudiniAssetFile)> {
    static const MethodInfo* get() {
      static auto* filePath = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "IsHoudiniAssetFile", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{filePath});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::FindHoudiniAssetFileInPathWithExt
  // Il2CppName: FindHoudiniAssetFileInPathWithExt
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::Il2CppString* (*)(::Il2CppString*)>(&HoudiniEngineUnity::HEU_HAPIUtility::FindHoudiniAssetFileInPathWithExt)> {
    static const MethodInfo* get() {
      static auto* filePath = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "FindHoudiniAssetFileInPathWithExt", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{filePath});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::Log
  // Il2CppName: Log
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(::Il2CppString*)>(&HoudiniEngineUnity::HEU_HAPIUtility::Log)> {
    static const MethodInfo* get() {
      static auto* message = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "Log", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{message});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::LogWarning
  // Il2CppName: LogWarning
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(::Il2CppString*)>(&HoudiniEngineUnity::HEU_HAPIUtility::LogWarning)> {
    static const MethodInfo* get() {
      static auto* message = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "LogWarning", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{message});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::LogError
  // Il2CppName: LogError
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(::Il2CppString*)>(&HoudiniEngineUnity::HEU_HAPIUtility::LogError)> {
    static const MethodInfo* get() {
      static auto* message = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "LogError", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{message});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::LocateValidFilePath
  // Il2CppName: LocateValidFilePath
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::Il2CppString* (*)(UnityEngine::Object*)>(&HoudiniEngineUnity::HEU_HAPIUtility::LocateValidFilePath)> {
    static const MethodInfo* get() {
      static auto* inObject = &::il2cpp_utils::GetClassFromName("UnityEngine", "Object")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "LocateValidFilePath", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{inObject});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::LocateValidFilePath
  // Il2CppName: LocateValidFilePath
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::Il2CppString* (*)(::Il2CppString*, ::Il2CppString*)>(&HoudiniEngineUnity::HEU_HAPIUtility::LocateValidFilePath)> {
    static const MethodInfo* get() {
      static auto* assetName = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      static auto* inFilePath = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "LocateValidFilePath", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{assetName, inFilePath});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::InstantiateHDA
  // Il2CppName: InstantiateHDA
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<UnityEngine::GameObject* (*)(::Il2CppString*, UnityEngine::Vector3, HoudiniEngineUnity::HEU_SessionBase*, bool, bool, bool, UnityEngine::GameObject*)>(&HoudiniEngineUnity::HEU_HAPIUtility::InstantiateHDA)> {
    static const MethodInfo* get() {
      static auto* filePath = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      static auto* initialPosition = &::il2cpp_utils::GetClassFromName("UnityEngine", "Vector3")->byval_arg;
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      static auto* bBuildAsync = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* bLoadFromMemory = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* bAlwaysOverwriteOnLoad = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* rootGO = &::il2cpp_utils::GetClassFromName("UnityEngine", "GameObject")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "InstantiateHDA", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{filePath, initialPosition, session, bBuildAsync, bLoadFromMemory, bAlwaysOverwriteOnLoad, rootGO});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::LoadHDAFile
  // Il2CppName: LoadHDAFile
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(HoudiniEngineUnity::HEU_SessionBase*, ::Il2CppString*, ByRef<int>, ByRef<::ArrayW<::Il2CppString*>>)>(&HoudiniEngineUnity::HEU_HAPIUtility::LoadHDAFile)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      static auto* assetPath = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      static auto* assetLibraryID = &::il2cpp_utils::GetClassFromName("System", "Int32")->this_arg;
      static auto* assetNames = &il2cpp_functions::array_class_get(::il2cpp_utils::GetClassFromName("System", "String"), 1)->this_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "LoadHDAFile", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session, assetPath, assetLibraryID, assetNames});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::CreateAndCookAssetNode
  // Il2CppName: CreateAndCookAssetNode
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(HoudiniEngineUnity::HEU_SessionBase*, ::Il2CppString*, bool, ByRef<int>)>(&HoudiniEngineUnity::HEU_HAPIUtility::CreateAndCookAssetNode)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      static auto* assetName = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      static auto* bCookTemplatedGeos = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* newAssetID = &::il2cpp_utils::GetClassFromName("System", "Int32")->this_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "CreateAndCookAssetNode", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session, assetName, bCookTemplatedGeos, newAssetID});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::CreateAndCookCurveAsset
  // Il2CppName: CreateAndCookCurveAsset
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(HoudiniEngineUnity::HEU_SessionBase*, ::Il2CppString*, bool, ByRef<int>)>(&HoudiniEngineUnity::HEU_HAPIUtility::CreateAndCookCurveAsset)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      static auto* assetName = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      static auto* bCookTemplatedGeos = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* newAssetID = &::il2cpp_utils::GetClassFromName("System", "Int32")->this_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "CreateAndCookCurveAsset", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session, assetName, bCookTemplatedGeos, newAssetID});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::CreateAndCookInputAsset
  // Il2CppName: CreateAndCookInputAsset
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(HoudiniEngineUnity::HEU_SessionBase*, ::Il2CppString*, bool, ByRef<int>)>(&HoudiniEngineUnity::HEU_HAPIUtility::CreateAndCookInputAsset)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      static auto* assetName = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      static auto* bCookTemplatedGeos = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* newAssetID = &::il2cpp_utils::GetClassFromName("System", "Int32")->this_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "CreateAndCookInputAsset", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session, assetName, bCookTemplatedGeos, newAssetID});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::CookNodeInHoudini
  // Il2CppName: CookNodeInHoudini
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(HoudiniEngineUnity::HEU_SessionBase*, int, bool, ::Il2CppString*)>(&HoudiniEngineUnity::HEU_HAPIUtility::CookNodeInHoudini)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      static auto* nodeID = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      static auto* bCookTemplatedGeos = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* assetName = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "CookNodeInHoudini", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session, nodeID, bCookTemplatedGeos, assetName});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::CookNodeInHoudiniWithOptions
  // Il2CppName: CookNodeInHoudiniWithOptions
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(HoudiniEngineUnity::HEU_SessionBase*, int, HoudiniEngineUnity::HAPI_CookOptions, ::Il2CppString*)>(&HoudiniEngineUnity::HEU_HAPIUtility::CookNodeInHoudiniWithOptions)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      static auto* nodeID = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      static auto* options = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HAPI_CookOptions")->byval_arg;
      static auto* assetName = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "CookNodeInHoudiniWithOptions", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session, nodeID, options, assetName});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::GetDefaultCookOptions
  // Il2CppName: GetDefaultCookOptions
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<HoudiniEngineUnity::HAPI_CookOptions (*)(HoudiniEngineUnity::HEU_SessionBase*)>(&HoudiniEngineUnity::HEU_HAPIUtility::GetDefaultCookOptions)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "GetDefaultCookOptions", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::ProcessHoudiniCookStatus
  // Il2CppName: ProcessHoudiniCookStatus
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(HoudiniEngineUnity::HEU_SessionBase*, ::Il2CppString*)>(&HoudiniEngineUnity::HEU_HAPIUtility::ProcessHoudiniCookStatus)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      static auto* assetName = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "ProcessHoudiniCookStatus", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session, assetName});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::CreateNewAsset
  // Il2CppName: CreateNewAsset
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<UnityEngine::GameObject* (*)(HoudiniEngineUnity::HEU_HoudiniAsset::HEU_AssetType, ::Il2CppString*, UnityEngine::Transform*, HoudiniEngineUnity::HEU_SessionBase*, bool, UnityEngine::GameObject*)>(&HoudiniEngineUnity::HEU_HAPIUtility::CreateNewAsset)> {
    static const MethodInfo* get() {
      static auto* assetType = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_HoudiniAsset/HEU_AssetType")->byval_arg;
      static auto* rootName = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      static auto* parentTransform = &::il2cpp_utils::GetClassFromName("UnityEngine", "Transform")->byval_arg;
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      static auto* bBuildAsync = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* rootGO = &::il2cpp_utils::GetClassFromName("UnityEngine", "GameObject")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "CreateNewAsset", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{assetType, rootName, parentTransform, session, bBuildAsync, rootGO});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::CreateNewCurveAsset
  // Il2CppName: CreateNewCurveAsset
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<UnityEngine::GameObject* (*)(::Il2CppString*, UnityEngine::Transform*, HoudiniEngineUnity::HEU_SessionBase*, bool, UnityEngine::GameObject*)>(&HoudiniEngineUnity::HEU_HAPIUtility::CreateNewCurveAsset)> {
    static const MethodInfo* get() {
      static auto* name = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      static auto* parentTransform = &::il2cpp_utils::GetClassFromName("UnityEngine", "Transform")->byval_arg;
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      static auto* bBuildAsync = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* rootGO = &::il2cpp_utils::GetClassFromName("UnityEngine", "GameObject")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "CreateNewCurveAsset", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{name, parentTransform, session, bBuildAsync, rootGO});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::CreateNewInputAsset
  // Il2CppName: CreateNewInputAsset
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<UnityEngine::GameObject* (*)(::Il2CppString*, UnityEngine::Transform*, HoudiniEngineUnity::HEU_SessionBase*, bool, UnityEngine::GameObject*)>(&HoudiniEngineUnity::HEU_HAPIUtility::CreateNewInputAsset)> {
    static const MethodInfo* get() {
      static auto* name = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      static auto* parentTransform = &::il2cpp_utils::GetClassFromName("UnityEngine", "Transform")->byval_arg;
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      static auto* bBuildAsync = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* rootGO = &::il2cpp_utils::GetClassFromName("UnityEngine", "GameObject")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "CreateNewInputAsset", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{name, parentTransform, session, bBuildAsync, rootGO});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::LoadGeoWithNewGeoSync
  // Il2CppName: LoadGeoWithNewGeoSync
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<UnityEngine::GameObject* (*)(HoudiniEngineUnity::HEU_SessionBase*)>(&HoudiniEngineUnity::HEU_HAPIUtility::LoadGeoWithNewGeoSync)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "LoadGeoWithNewGeoSync", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::DestroyChildren
  // Il2CppName: DestroyChildren
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(UnityEngine::Transform*)>(&HoudiniEngineUnity::HEU_HAPIUtility::DestroyChildren)> {
    static const MethodInfo* get() {
      static auto* inTransform = &::il2cpp_utils::GetClassFromName("UnityEngine", "Transform")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "DestroyChildren", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{inTransform});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::DestroyGameObject
  // Il2CppName: DestroyGameObject
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(UnityEngine::GameObject*, bool)>(&HoudiniEngineUnity::HEU_HAPIUtility::DestroyGameObject)> {
    static const MethodInfo* get() {
      static auto* gameObect = &::il2cpp_utils::GetClassFromName("UnityEngine", "GameObject")->byval_arg;
      static auto* bRegisterUndo = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "DestroyGameObject", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{gameObect, bRegisterUndo});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::DestroyChildrenWithComponent
  // Il2CppName: DestroyChildrenWithComponent
  // Cannot write MetadataGetter for generic methods!
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::IsNodeValidInHoudini
  // Il2CppName: IsNodeValidInHoudini
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(HoudiniEngineUnity::HEU_SessionBase*, int)>(&HoudiniEngineUnity::HEU_HAPIUtility::IsNodeValidInHoudini)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      static auto* nodeID = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "IsNodeValidInHoudini", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session, nodeID});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::GetAssetInScene
  // Il2CppName: GetAssetInScene
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<HoudiniEngineUnity::HEU_HoudiniAssetRoot* (*)(int)>(&HoudiniEngineUnity::HEU_HAPIUtility::GetAssetInScene)> {
    static const MethodInfo* get() {
      static auto* assetID = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "GetAssetInScene", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{assetID});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::ApplyWorldTransfromFromHoudiniToUnity
  // Il2CppName: ApplyWorldTransfromFromHoudiniToUnity
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(ByRef<HoudiniEngineUnity::HAPI_Transform>, UnityEngine::Transform*)>(&HoudiniEngineUnity::HEU_HAPIUtility::ApplyWorldTransfromFromHoudiniToUnity)> {
    static const MethodInfo* get() {
      static auto* hapiTransform = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HAPI_Transform")->this_arg;
      static auto* unityTransform = &::il2cpp_utils::GetClassFromName("UnityEngine", "Transform")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "ApplyWorldTransfromFromHoudiniToUnity", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{hapiTransform, unityTransform});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::ApplyLocalTransfromFromHoudiniToUnity
  // Il2CppName: ApplyLocalTransfromFromHoudiniToUnity
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(ByRef<HoudiniEngineUnity::HAPI_Transform>, UnityEngine::Transform*)>(&HoudiniEngineUnity::HEU_HAPIUtility::ApplyLocalTransfromFromHoudiniToUnity)> {
    static const MethodInfo* get() {
      static auto* hapiTransform = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HAPI_Transform")->this_arg;
      static auto* unityTransform = &::il2cpp_utils::GetClassFromName("UnityEngine", "Transform")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "ApplyLocalTransfromFromHoudiniToUnity", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{hapiTransform, unityTransform});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::ApplyLocalTransfromFromHoudiniToUnityForInstance
  // Il2CppName: ApplyLocalTransfromFromHoudiniToUnityForInstance
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(ByRef<HoudiniEngineUnity::HAPI_Transform>, UnityEngine::Transform*)>(&HoudiniEngineUnity::HEU_HAPIUtility::ApplyLocalTransfromFromHoudiniToUnityForInstance)> {
    static const MethodInfo* get() {
      static auto* hapiTransform = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HAPI_Transform")->this_arg;
      static auto* unityTransform = &::il2cpp_utils::GetClassFromName("UnityEngine", "Transform")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "ApplyLocalTransfromFromHoudiniToUnityForInstance", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{hapiTransform, unityTransform});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::ApplyMatrixToLocalTransform
  // Il2CppName: ApplyMatrixToLocalTransform
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(ByRef<UnityEngine::Matrix4x4>, UnityEngine::Transform*)>(&HoudiniEngineUnity::HEU_HAPIUtility::ApplyMatrixToLocalTransform)> {
    static const MethodInfo* get() {
      static auto* matrix = &::il2cpp_utils::GetClassFromName("UnityEngine", "Matrix4x4")->this_arg;
      static auto* transform = &::il2cpp_utils::GetClassFromName("UnityEngine", "Transform")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "ApplyMatrixToLocalTransform", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{matrix, transform});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::GetMatrixFromHAPITransform
  // Il2CppName: GetMatrixFromHAPITransform
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<UnityEngine::Matrix4x4 (*)(ByRef<HoudiniEngineUnity::HAPI_Transform>, bool)>(&HoudiniEngineUnity::HEU_HAPIUtility::GetMatrixFromHAPITransform)> {
    static const MethodInfo* get() {
      static auto* hapiTransform = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HAPI_Transform")->this_arg;
      static auto* bConvertToUnity = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "GetMatrixFromHAPITransform", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{hapiTransform, bConvertToUnity});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::GetQuaternion
  // Il2CppName: GetQuaternion
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<UnityEngine::Quaternion (*)(ByRef<UnityEngine::Matrix4x4>)>(&HoudiniEngineUnity::HEU_HAPIUtility::GetQuaternion)> {
    static const MethodInfo* get() {
      static auto* m = &::il2cpp_utils::GetClassFromName("UnityEngine", "Matrix4x4")->this_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "GetQuaternion", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{m});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::GetPosition
  // Il2CppName: GetPosition
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<UnityEngine::Vector3 (*)(ByRef<UnityEngine::Matrix4x4>)>(&HoudiniEngineUnity::HEU_HAPIUtility::GetPosition)> {
    static const MethodInfo* get() {
      static auto* m = &::il2cpp_utils::GetClassFromName("UnityEngine", "Matrix4x4")->this_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "GetPosition", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{m});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::SetMatrixPosition
  // Il2CppName: SetMatrixPosition
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(ByRef<UnityEngine::Matrix4x4>, ByRef<UnityEngine::Vector3>)>(&HoudiniEngineUnity::HEU_HAPIUtility::SetMatrixPosition)> {
    static const MethodInfo* get() {
      static auto* m = &::il2cpp_utils::GetClassFromName("UnityEngine", "Matrix4x4")->this_arg;
      static auto* position = &::il2cpp_utils::GetClassFromName("UnityEngine", "Vector3")->this_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "SetMatrixPosition", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{m, position});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::GetScale
  // Il2CppName: GetScale
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<UnityEngine::Vector3 (*)(ByRef<UnityEngine::Matrix4x4>)>(&HoudiniEngineUnity::HEU_HAPIUtility::GetScale)> {
    static const MethodInfo* get() {
      static auto* m = &::il2cpp_utils::GetClassFromName("UnityEngine", "Matrix4x4")->this_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "GetScale", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{m});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::GetHAPITransformFromMatrix
  // Il2CppName: GetHAPITransformFromMatrix
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<HoudiniEngineUnity::HAPI_TransformEuler (*)(ByRef<UnityEngine::Matrix4x4>)>(&HoudiniEngineUnity::HEU_HAPIUtility::GetHAPITransformFromMatrix)> {
    static const MethodInfo* get() {
      static auto* mat = &::il2cpp_utils::GetClassFromName("UnityEngine", "Matrix4x4")->this_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "GetHAPITransformFromMatrix", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{mat});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::GetHAPITransform
  // Il2CppName: GetHAPITransform
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<HoudiniEngineUnity::HAPI_TransformEuler (*)(ByRef<UnityEngine::Vector3>, ByRef<UnityEngine::Vector3>, ByRef<UnityEngine::Vector3>)>(&HoudiniEngineUnity::HEU_HAPIUtility::GetHAPITransform)> {
    static const MethodInfo* get() {
      static auto* p = &::il2cpp_utils::GetClassFromName("UnityEngine", "Vector3")->this_arg;
      static auto* r = &::il2cpp_utils::GetClassFromName("UnityEngine", "Vector3")->this_arg;
      static auto* s = &::il2cpp_utils::GetClassFromName("UnityEngine", "Vector3")->this_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "GetHAPITransform", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{p, r, s});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::GetHAPITransformQuatFromMatrix
  // Il2CppName: GetHAPITransformQuatFromMatrix
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<HoudiniEngineUnity::HAPI_Transform (*)(ByRef<UnityEngine::Matrix4x4>)>(&HoudiniEngineUnity::HEU_HAPIUtility::GetHAPITransformQuatFromMatrix)> {
    static const MethodInfo* get() {
      static auto* mat = &::il2cpp_utils::GetClassFromName("UnityEngine", "Matrix4x4")->this_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "GetHAPITransformQuatFromMatrix", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{mat});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::GetMatrix4x4
  // Il2CppName: GetMatrix4x4
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<UnityEngine::Matrix4x4 (*)(ByRef<UnityEngine::Vector3>, ByRef<UnityEngine::Vector3>, ByRef<UnityEngine::Vector3>)>(&HoudiniEngineUnity::HEU_HAPIUtility::GetMatrix4x4)> {
    static const MethodInfo* get() {
      static auto* p = &::il2cpp_utils::GetClassFromName("UnityEngine", "Vector3")->this_arg;
      static auto* r = &::il2cpp_utils::GetClassFromName("UnityEngine", "Vector3")->this_arg;
      static auto* s = &::il2cpp_utils::GetClassFromName("UnityEngine", "Vector3")->this_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "GetMatrix4x4", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{p, r, s});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::IsSameTransform
  // Il2CppName: IsSameTransform
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(ByRef<UnityEngine::Matrix4x4>, ByRef<UnityEngine::Vector3>, ByRef<UnityEngine::Vector3>, ByRef<UnityEngine::Vector3>)>(&HoudiniEngineUnity::HEU_HAPIUtility::IsSameTransform)> {
    static const MethodInfo* get() {
      static auto* transformMatrix = &::il2cpp_utils::GetClassFromName("UnityEngine", "Matrix4x4")->this_arg;
      static auto* p = &::il2cpp_utils::GetClassFromName("UnityEngine", "Vector3")->this_arg;
      static auto* r = &::il2cpp_utils::GetClassFromName("UnityEngine", "Vector3")->this_arg;
      static auto* s = &::il2cpp_utils::GetClassFromName("UnityEngine", "Vector3")->this_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "IsSameTransform", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{transformMatrix, p, r, s});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::IsEqualTol
  // Il2CppName: IsEqualTol
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(float, float, float)>(&HoudiniEngineUnity::HEU_HAPIUtility::IsEqualTol)> {
    static const MethodInfo* get() {
      static auto* a = &::il2cpp_utils::GetClassFromName("System", "Single")->byval_arg;
      static auto* b = &::il2cpp_utils::GetClassFromName("System", "Single")->byval_arg;
      static auto* t = &::il2cpp_utils::GetClassFromName("System", "Single")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "IsEqualTol", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{a, b, t});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::IsTransformEqual
  // Il2CppName: IsTransformEqual
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(ByRef<HoudiniEngineUnity::HAPI_Transform>, ByRef<HoudiniEngineUnity::HAPI_Transform>)>(&HoudiniEngineUnity::HEU_HAPIUtility::IsTransformEqual)> {
    static const MethodInfo* get() {
      static auto* transA = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HAPI_Transform")->this_arg;
      static auto* transB = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HAPI_Transform")->this_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "IsTransformEqual", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{transA, transB});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::IsViewportEqual
  // Il2CppName: IsViewportEqual
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(ByRef<HoudiniEngineUnity::HAPI_Viewport>, ByRef<HoudiniEngineUnity::HAPI_Viewport>)>(&HoudiniEngineUnity::HEU_HAPIUtility::IsViewportEqual)> {
    static const MethodInfo* get() {
      static auto* viewA = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HAPI_Viewport")->this_arg;
      static auto* viewB = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HAPI_Viewport")->this_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "IsViewportEqual", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{viewA, viewB});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::IsSessionSyncEqual
  // Il2CppName: IsSessionSyncEqual
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(ByRef<HoudiniEngineUnity::HAPI_SessionSyncInfo>, ByRef<HoudiniEngineUnity::HAPI_SessionSyncInfo>)>(&HoudiniEngineUnity::HEU_HAPIUtility::IsSessionSyncEqual)> {
    static const MethodInfo* get() {
      static auto* syncA = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HAPI_SessionSyncInfo")->this_arg;
      static auto* syncB = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HAPI_SessionSyncInfo")->this_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "IsSessionSyncEqual", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{syncA, syncB});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::DoesGeoPartHaveAttribute
  // Il2CppName: DoesGeoPartHaveAttribute
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(HoudiniEngineUnity::HEU_SessionBase*, int, int, ::Il2CppString*, HoudiniEngineUnity::HAPI_AttributeOwner, ByRef<HoudiniEngineUnity::HAPI_AttributeInfo>)>(&HoudiniEngineUnity::HEU_HAPIUtility::DoesGeoPartHaveAttribute)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      static auto* geoID = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      static auto* partID = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      static auto* attrName = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      static auto* owner = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HAPI_AttributeOwner")->byval_arg;
      static auto* attributeInfo = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HAPI_AttributeInfo")->this_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "DoesGeoPartHaveAttribute", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session, geoID, partID, attrName, owner, attributeInfo});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::SetAnimationCurveTangentModes
  // Il2CppName: SetAnimationCurveTangentModes
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(UnityEngine::AnimationCurve*, System::Collections::Generic::List_1<int>*)>(&HoudiniEngineUnity::HEU_HAPIUtility::SetAnimationCurveTangentModes)> {
    static const MethodInfo* get() {
      static auto* animCurve = &::il2cpp_utils::GetClassFromName("UnityEngine", "AnimationCurve")->byval_arg;
      static auto* tangentValues = &::il2cpp_utils::MakeGeneric(::il2cpp_utils::GetClassFromName("System.Collections.Generic", "List`1"), ::std::vector<const Il2CppClass*>{::il2cpp_utils::GetClassFromName("System", "Int32")})->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "SetAnimationCurveTangentModes", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{animCurve, tangentValues});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::IsSupportedPolygonType
  // Il2CppName: IsSupportedPolygonType
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(HoudiniEngineUnity::HAPI_PartType)>(&HoudiniEngineUnity::HEU_HAPIUtility::IsSupportedPolygonType)> {
    static const MethodInfo* get() {
      static auto* partType = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HAPI_PartType")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "IsSupportedPolygonType", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{partType});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::GetParentNodeID
  // Il2CppName: GetParentNodeID
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<int (*)(HoudiniEngineUnity::HEU_SessionBase*, int)>(&HoudiniEngineUnity::HEU_HAPIUtility::GetParentNodeID)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      static auto* nodeID = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "GetParentNodeID", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session, nodeID});
    }
  };
  // Writing MetadataGetter for method: HoudiniEngineUnity::HEU_HAPIUtility::GetObjectInfos
  // Il2CppName: GetObjectInfos
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(HoudiniEngineUnity::HEU_SessionBase*, int, ByRef<HoudiniEngineUnity::HAPI_NodeInfo>, ByRef<::ArrayW<HoudiniEngineUnity::HAPI_ObjectInfo>>, ByRef<::ArrayW<HoudiniEngineUnity::HAPI_Transform>>)>(&HoudiniEngineUnity::HEU_HAPIUtility::GetObjectInfos)> {
    static const MethodInfo* get() {
      static auto* session = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HEU_SessionBase")->byval_arg;
      static auto* assetID = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      static auto* nodeInfo = &::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HAPI_NodeInfo")->this_arg;
      static auto* objectInfos = &il2cpp_functions::array_class_get(::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HAPI_ObjectInfo"), 1)->this_arg;
      static auto* objectTransforms = &il2cpp_functions::array_class_get(::il2cpp_utils::GetClassFromName("HoudiniEngineUnity", "HAPI_Transform"), 1)->this_arg;
      return ::il2cpp_utils::FindMethod(classof(HoudiniEngineUnity::HEU_HAPIUtility*), "GetObjectInfos", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{session, assetID, nodeInfo, objectInfos, objectTransforms});
    }
  };
  