text: // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: KawaseBloomMainEffectSO
  #include "GlobalNamespace/KawaseBloomMainEffectSO.hpp"
  // Including type: KawaseBlurRendererSO
  #include "GlobalNamespace/KawaseBlurRendererSO.hpp"
  // Including type: UnityEngine.Shader
  #include "UnityEngine/Shader.hpp"
  // Including type: UnityEngine.Material
  #include "UnityEngine/Material.hpp"
  // Including type: UnityEngine.RenderTexture
  #include "UnityEngine/RenderTexture.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // [DoesNotRequireDomainReloadInitAttribute] Offset: 0xEEB458
  // Autogenerated static field getter
  // Get static field: static private readonly System.Int32 _bloomTexID
  int GlobalNamespace::KawaseBloomMainEffectSO::_get__bloomTexID() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::_get__bloomTexID");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<int>("", "KawaseBloomMainEffectSO", "_bloomTexID"));
  }
  // Autogenerated static field setter
  // Set static field: static private readonly System.Int32 _bloomTexID
  void GlobalNamespace::KawaseBloomMainEffectSO::_set__bloomTexID(int value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::_set__bloomTexID");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "KawaseBloomMainEffectSO", "_bloomTexID", value));
  }
  // [DoesNotRequireDomainReloadInitAttribute] Offset: 0xEEB468
  // Autogenerated static field getter
  // Get static field: static private readonly System.Int32 _bloomIntensityID
  int GlobalNamespace::KawaseBloomMainEffectSO::_get__bloomIntensityID() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::_get__bloomIntensityID");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<int>("", "KawaseBloomMainEffectSO", "_bloomIntensityID"));
  }
  // Autogenerated static field setter
  // Set static field: static private readonly System.Int32 _bloomIntensityID
  void GlobalNamespace::KawaseBloomMainEffectSO::_set__bloomIntensityID(int value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::_set__bloomIntensityID");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "KawaseBloomMainEffectSO", "_bloomIntensityID", value));
  }
  // Autogenerated instance field getter
  // Get instance field: private KawaseBlurRendererSO _kawaseBlurRenderer
  GlobalNamespace::KawaseBlurRendererSO*& GlobalNamespace::KawaseBloomMainEffectSO::dyn__kawaseBlurRenderer() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::dyn__kawaseBlurRenderer");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_kawaseBlurRenderer"))->offset;
    return *reinterpret_cast<GlobalNamespace::KawaseBlurRendererSO**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Shader _fadeShader
  UnityEngine::Shader*& GlobalNamespace::KawaseBloomMainEffectSO::dyn__fadeShader() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::dyn__fadeShader");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_fadeShader"))->offset;
    return *reinterpret_cast<UnityEngine::Shader**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Shader _mainEffectShader
  UnityEngine::Shader*& GlobalNamespace::KawaseBloomMainEffectSO::dyn__mainEffectShader() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::dyn__mainEffectShader");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_mainEffectShader"))->offset;
    return *reinterpret_cast<UnityEngine::Shader**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _bloomIntensity
  float& GlobalNamespace::KawaseBloomMainEffectSO::dyn__bloomIntensity() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::dyn__bloomIntensity");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloomIntensity"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 _bloomIterations
  int& GlobalNamespace::KawaseBloomMainEffectSO::dyn__bloomIterations() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::dyn__bloomIterations");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloomIterations"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _bloomBoost
  float& GlobalNamespace::KawaseBloomMainEffectSO::dyn__bloomBoost() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::dyn__bloomBoost");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloomBoost"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _bloomAlphaWeights
  float& GlobalNamespace::KawaseBloomMainEffectSO::dyn__bloomAlphaWeights() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::dyn__bloomAlphaWeights");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloomAlphaWeights"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 _bloomTextureWidth
  int& GlobalNamespace::KawaseBloomMainEffectSO::dyn__bloomTextureWidth() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::dyn__bloomTextureWidth");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloomTextureWidth"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _baseColorBoost
  float& GlobalNamespace::KawaseBloomMainEffectSO::dyn__baseColorBoost() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::dyn__baseColorBoost");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_baseColorBoost"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _baseColorBoostThreshold
  float& GlobalNamespace::KawaseBloomMainEffectSO::dyn__baseColorBoostThreshold() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::dyn__baseColorBoostThreshold");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_baseColorBoostThreshold"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Material _fadeMaterial
  UnityEngine::Material*& GlobalNamespace::KawaseBloomMainEffectSO::dyn__fadeMaterial() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::dyn__fadeMaterial");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_fadeMaterial"))->offset;
    return *reinterpret_cast<UnityEngine::Material**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Material _mainEffectMaterial
  UnityEngine::Material*& GlobalNamespace::KawaseBloomMainEffectSO::dyn__mainEffectMaterial() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::dyn__mainEffectMaterial");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_mainEffectMaterial"))->offset;
    return *reinterpret_cast<UnityEngine::Material**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: KawaseBloomMainEffectSO.OnDisable
  void GlobalNamespace::KawaseBloomMainEffectSO::OnDisable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::OnDisable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDisable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: KawaseBloomMainEffectSO.LazyInitializeMaterials
  void GlobalNamespace::KawaseBloomMainEffectSO::LazyInitializeMaterials() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::LazyInitializeMaterials");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "LazyInitializeMaterials", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: KawaseBloomMainEffectSO.get_hasPostProcessEffect
  bool GlobalNamespace::KawaseBloomMainEffectSO::get_hasPostProcessEffect() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::get_hasPostProcessEffect");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_hasPostProcessEffect", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: KawaseBloomMainEffectSO..cctor
  void GlobalNamespace::KawaseBloomMainEffectSO::_cctor() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::.cctor");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "KawaseBloomMainEffectSO", ".cctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: KawaseBloomMainEffectSO.OnEnable
  void GlobalNamespace::KawaseBloomMainEffectSO::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::OnEnable");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: KawaseBloomMainEffectSO.PreRender
  void GlobalNamespace::KawaseBloomMainEffectSO::PreRender() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::PreRender");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "PreRender", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: KawaseBloomMainEffectSO.Render
  void GlobalNamespace::KawaseBloomMainEffectSO::Render(UnityEngine::RenderTexture* src, UnityEngine::RenderTexture* dest, float fade) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::KawaseBloomMainEffectSO::Render");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Render", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(src), ::il2cpp_utils::ExtractType(dest), ::il2cpp_utils::ExtractType(fade)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, src, dest, fade);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: MainEffectContainerSO
  #include "GlobalNamespace/MainEffectContainerSO.hpp"
  // Including type: MainEffectSO
  #include "GlobalNamespace/MainEffectSO.hpp"
  // Including type: BoolSO
  #include "GlobalNamespace/BoolSO.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private MainEffectSO _mainEffect
  GlobalNamespace::MainEffectSO*& GlobalNamespace::MainEffectContainerSO::dyn__mainEffect() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectContainerSO::dyn__mainEffect");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_mainEffect"))->offset;
    return *reinterpret_cast<GlobalNamespace::MainEffectSO**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private BoolSO _postProcessEnabled
  GlobalNamespace::BoolSO*& GlobalNamespace::MainEffectContainerSO::dyn__postProcessEnabled() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectContainerSO::dyn__postProcessEnabled");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_postProcessEnabled"))->offset;
    return *reinterpret_cast<GlobalNamespace::BoolSO**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: MainEffectContainerSO.get_mainEffect
  GlobalNamespace::MainEffectSO* GlobalNamespace::MainEffectContainerSO::get_mainEffect() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectContainerSO::get_mainEffect");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_mainEffect", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::MainEffectSO*, false>(this, ___internal__method);
  }
  // Autogenerated method: MainEffectContainerSO.Init
  void GlobalNamespace::MainEffectContainerSO::Init(GlobalNamespace::MainEffectSO* mainEffect) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectContainerSO::Init");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Init", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(mainEffect)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, mainEffect);
  }
  // Autogenerated method: MainEffectContainerSO.OnEnable
  void GlobalNamespace::MainEffectContainerSO::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectContainerSO::OnEnable");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: MainEffectController
  #include "GlobalNamespace/MainEffectController.hpp"
  // Including type: MainEffectContainerSO
  #include "GlobalNamespace/MainEffectContainerSO.hpp"
  // Including type: FloatSO
  #include "GlobalNamespace/FloatSO.hpp"
  // Including type: System.Action`1
  #include "System/Action_1.hpp"
  // Including type: UnityEngine.RenderTexture
  #include "UnityEngine/RenderTexture.hpp"
  // Including type: ImageEffectController
  #include "GlobalNamespace/ImageEffectController.hpp"
  // Including type: System.String
  #include "System/String.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static private System.String kMainEffectEnabledKeyword
  ::Il2CppString* GlobalNamespace::MainEffectController::_get_kMainEffectEnabledKeyword() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectController::_get_kMainEffectEnabledKeyword");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Il2CppString*>("", "MainEffectController", "kMainEffectEnabledKeyword"));
  }
  // Autogenerated static field setter
  // Set static field: static private System.String kMainEffectEnabledKeyword
  void GlobalNamespace::MainEffectController::_set_kMainEffectEnabledKeyword(::Il2CppString* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectController::_set_kMainEffectEnabledKeyword");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "MainEffectController", "kMainEffectEnabledKeyword", value));
  }
  // Autogenerated instance field getter
  // Get instance field: private MainEffectContainerSO _mainEffectContainer
  GlobalNamespace::MainEffectContainerSO*& GlobalNamespace::MainEffectController::dyn__mainEffectContainer() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectController::dyn__mainEffectContainer");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_mainEffectContainer"))->offset;
    return *reinterpret_cast<GlobalNamespace::MainEffectContainerSO**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private FloatSO _fadeValue
  GlobalNamespace::FloatSO*& GlobalNamespace::MainEffectController::dyn__fadeValue() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectController::dyn__fadeValue");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_fadeValue"))->offset;
    return *reinterpret_cast<GlobalNamespace::FloatSO**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Action`1<UnityEngine.RenderTexture> afterImageEffectEvent
  System::Action_1<UnityEngine::RenderTexture*>*& GlobalNamespace::MainEffectController::dyn_afterImageEffectEvent() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectController::dyn_afterImageEffectEvent");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "afterImageEffectEvent"))->offset;
    return *reinterpret_cast<System::Action_1<UnityEngine::RenderTexture*>**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private ImageEffectController _imageEffectController
  GlobalNamespace::ImageEffectController*& GlobalNamespace::MainEffectController::dyn__imageEffectController() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectController::dyn__imageEffectController");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_imageEffectController"))->offset;
    return *reinterpret_cast<GlobalNamespace::ImageEffectController**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: MainEffectController.add_afterImageEffectEvent
  void GlobalNamespace::MainEffectController::add_afterImageEffectEvent(System::Action_1<UnityEngine::RenderTexture*>* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectController::add_afterImageEffectEvent");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "add_afterImageEffectEvent", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: MainEffectController.remove_afterImageEffectEvent
  void GlobalNamespace::MainEffectController::remove_afterImageEffectEvent(System::Action_1<UnityEngine::RenderTexture*>* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectController::remove_afterImageEffectEvent");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "remove_afterImageEffectEvent", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: MainEffectController.OnEnable
  void GlobalNamespace::MainEffectController::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectController::OnEnable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: MainEffectController.OnDisable
  void GlobalNamespace::MainEffectController::OnDisable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectController::OnDisable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDisable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: MainEffectController.OnValidate
  void GlobalNamespace::MainEffectController::OnValidate() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectController::OnValidate");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnValidate", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: MainEffectController.LazySetupImageEffectController
  void GlobalNamespace::MainEffectController::LazySetupImageEffectController() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectController::LazySetupImageEffectController");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "LazySetupImageEffectController", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: MainEffectController.ImageEffectControllerCallback
  void GlobalNamespace::MainEffectController::ImageEffectControllerCallback(UnityEngine::RenderTexture* src, UnityEngine::RenderTexture* dest) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectController::ImageEffectControllerCallback");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "ImageEffectControllerCallback", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(src), ::il2cpp_utils::ExtractType(dest)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, src, dest);
  }
  // Autogenerated method: MainEffectController.OnPreRender
  void GlobalNamespace::MainEffectController::OnPreRender() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectController::OnPreRender");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnPreRender", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: MainEffectController.OnPostRender
  void GlobalNamespace::MainEffectController::OnPostRender() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectController::OnPostRender");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnPostRender", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: MainEffectCore
  #include "GlobalNamespace/MainEffectCore.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // [DoesNotRequireDomainReloadInitAttribute] Offset: 0xEEB4C8
  // Autogenerated static field getter
  // Get static field: static private readonly System.Int32 _baseColorBoostID
  int GlobalNamespace::MainEffectCore::_get__baseColorBoostID() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectCore::_get__baseColorBoostID");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<int>("", "MainEffectCore", "_baseColorBoostID"));
  }
  // Autogenerated static field setter
  // Set static field: static private readonly System.Int32 _baseColorBoostID
  void GlobalNamespace::MainEffectCore::_set__baseColorBoostID(int value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectCore::_set__baseColorBoostID");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "MainEffectCore", "_baseColorBoostID", value));
  }
  // [DoesNotRequireDomainReloadInitAttribute] Offset: 0xEEB4D8
  // Autogenerated static field getter
  // Get static field: static private readonly System.Int32 _baseColorBoostThresholdID
  int GlobalNamespace::MainEffectCore::_get__baseColorBoostThresholdID() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectCore::_get__baseColorBoostThresholdID");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<int>("", "MainEffectCore", "_baseColorBoostThresholdID"));
  }
  // Autogenerated static field setter
  // Set static field: static private readonly System.Int32 _baseColorBoostThresholdID
  void GlobalNamespace::MainEffectCore::_set__baseColorBoostThresholdID(int value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectCore::_set__baseColorBoostThresholdID");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "MainEffectCore", "_baseColorBoostThresholdID", value));
  }
  // Autogenerated method: MainEffectCore..cctor
  void GlobalNamespace::MainEffectCore::_cctor() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectCore::.cctor");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "MainEffectCore", ".cctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: MainEffectCore.SetGlobalShaderValues
  void GlobalNamespace::MainEffectCore::SetGlobalShaderValues(float baseColorBoost, float baseColorBoostThreshold) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectCore::SetGlobalShaderValues");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "MainEffectCore", "SetGlobalShaderValues", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(baseColorBoost), ::il2cpp_utils::ExtractType(baseColorBoostThreshold)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, baseColorBoost, baseColorBoostThreshold);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: MainEffectSO
  #include "GlobalNamespace/MainEffectSO.hpp"
  // Including type: UnityEngine.RenderTexture
  #include "UnityEngine/RenderTexture.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: MainEffectSO.get_hasPostProcessEffect
  bool GlobalNamespace::MainEffectSO::get_hasPostProcessEffect() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectSO::get_hasPostProcessEffect");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_hasPostProcessEffect", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: MainEffectSO.PreRender
  void GlobalNamespace::MainEffectSO::PreRender() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectSO::PreRender");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "PreRender", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: MainEffectSO.Render
  void GlobalNamespace::MainEffectSO::Render(UnityEngine::RenderTexture* src, UnityEngine::RenderTexture* dest, float fade) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectSO::Render");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Render", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(src), ::il2cpp_utils::ExtractType(dest), ::il2cpp_utils::ExtractType(fade)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, src, dest, fade);
  }
  // Autogenerated method: MainEffectSO.PostRender
  void GlobalNamespace::MainEffectSO::PostRender(float fade) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MainEffectSO::PostRender");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "PostRender", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(fade)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, fade);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: NoPostProcessMainEffectSO
  #include "GlobalNamespace/NoPostProcessMainEffectSO.hpp"
  // Including type: UnityEngine.Shader
  #include "UnityEngine/Shader.hpp"
  // Including type: UnityEngine.Material
  #include "UnityEngine/Material.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Shader _fadeShader
  UnityEngine::Shader*& GlobalNamespace::NoPostProcessMainEffectSO::dyn__fadeShader() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::NoPostProcessMainEffectSO::dyn__fadeShader");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_fadeShader"))->offset;
    return *reinterpret_cast<UnityEngine::Shader**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _baseColorBoost
  float& GlobalNamespace::NoPostProcessMainEffectSO::dyn__baseColorBoost() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::NoPostProcessMainEffectSO::dyn__baseColorBoost");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_baseColorBoost"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _baseColorBoostThreshold
  float& GlobalNamespace::NoPostProcessMainEffectSO::dyn__baseColorBoostThreshold() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::NoPostProcessMainEffectSO::dyn__baseColorBoostThreshold");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_baseColorBoostThreshold"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Material _fadeMaterial
  UnityEngine::Material*& GlobalNamespace::NoPostProcessMainEffectSO::dyn__fadeMaterial() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::NoPostProcessMainEffectSO::dyn__fadeMaterial");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_fadeMaterial"))->offset;
    return *reinterpret_cast<UnityEngine::Material**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: NoPostProcessMainEffectSO.OnDisable
  void GlobalNamespace::NoPostProcessMainEffectSO::OnDisable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::NoPostProcessMainEffectSO::OnDisable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDisable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: NoPostProcessMainEffectSO.DrawFadeQuad
  void GlobalNamespace::NoPostProcessMainEffectSO::DrawFadeQuad(float alpha) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::NoPostProcessMainEffectSO::DrawFadeQuad");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "DrawFadeQuad", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(alpha)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, alpha);
  }
  // Autogenerated method: NoPostProcessMainEffectSO.get_hasPostProcessEffect
  bool GlobalNamespace::NoPostProcessMainEffectSO::get_hasPostProcessEffect() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::NoPostProcessMainEffectSO::get_hasPostProcessEffect");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_hasPostProcessEffect", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: NoPostProcessMainEffectSO.OnEnable
  void GlobalNamespace::NoPostProcessMainEffectSO::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::NoPostProcessMainEffectSO::OnEnable");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: NoPostProcessMainEffectSO.PreRender
  void GlobalNamespace::NoPostProcessMainEffectSO::PreRender() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::NoPostProcessMainEffectSO::PreRender");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "PreRender", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: NoPostProcessMainEffectSO.PostRender
  void GlobalNamespace::NoPostProcessMainEffectSO::PostRender(float fade) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::NoPostProcessMainEffectSO::PostRender");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "PostRender", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(fade)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, fade);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: PyramidBloomMainEffectSO
  #include "GlobalNamespace/PyramidBloomMainEffectSO.hpp"
  // Including type: UnityEngine.Shader
  #include "UnityEngine/Shader.hpp"
  // Including type: UnityEngine.Material
  #include "UnityEngine/Material.hpp"
  // Including type: UnityEngine.RenderTexture
  #include "UnityEngine/RenderTexture.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // [DoesNotRequireDomainReloadInitAttribute] Offset: 0xEEB700
  // Autogenerated static field getter
  // Get static field: static private readonly System.Int32 _bloomTexID
  int GlobalNamespace::PyramidBloomMainEffectSO::_get__bloomTexID() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::_get__bloomTexID");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<int>("", "PyramidBloomMainEffectSO", "_bloomTexID"));
  }
  // Autogenerated static field setter
  // Set static field: static private readonly System.Int32 _bloomTexID
  void GlobalNamespace::PyramidBloomMainEffectSO::_set__bloomTexID(int value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::_set__bloomTexID");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "PyramidBloomMainEffectSO", "_bloomTexID", value));
  }
  // [DoesNotRequireDomainReloadInitAttribute] Offset: 0xEEB710
  // Autogenerated static field getter
  // Get static field: static private readonly System.Int32 _bloomIntensityID
  int GlobalNamespace::PyramidBloomMainEffectSO::_get__bloomIntensityID() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::_get__bloomIntensityID");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<int>("", "PyramidBloomMainEffectSO", "_bloomIntensityID"));
  }
  // Autogenerated static field setter
  // Set static field: static private readonly System.Int32 _bloomIntensityID
  void GlobalNamespace::PyramidBloomMainEffectSO::_set__bloomIntensityID(int value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::_set__bloomIntensityID");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "PyramidBloomMainEffectSO", "_bloomIntensityID", value));
  }
  // Autogenerated instance field getter
  // Get instance field: private PyramidBloomRendererSO _bloomRenderer
  GlobalNamespace::PyramidBloomRendererSO*& GlobalNamespace::PyramidBloomMainEffectSO::dyn__bloomRenderer() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::dyn__bloomRenderer");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloomRenderer"))->offset;
    return *reinterpret_cast<GlobalNamespace::PyramidBloomRendererSO**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Shader _fadeShader
  UnityEngine::Shader*& GlobalNamespace::PyramidBloomMainEffectSO::dyn__fadeShader() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::dyn__fadeShader");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_fadeShader"))->offset;
    return *reinterpret_cast<UnityEngine::Shader**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Shader _mainEffectShader
  UnityEngine::Shader*& GlobalNamespace::PyramidBloomMainEffectSO::dyn__mainEffectShader() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::dyn__mainEffectShader");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_mainEffectShader"))->offset;
    return *reinterpret_cast<UnityEngine::Shader**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _bloomBlendFactor
  float& GlobalNamespace::PyramidBloomMainEffectSO::dyn__bloomBlendFactor() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::dyn__bloomBlendFactor");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloomBlendFactor"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _bloomRadius
  float& GlobalNamespace::PyramidBloomMainEffectSO::dyn__bloomRadius() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::dyn__bloomRadius");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloomRadius"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _bloomIntensity
  float& GlobalNamespace::PyramidBloomMainEffectSO::dyn__bloomIntensity() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::dyn__bloomIntensity");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloomIntensity"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _downBloomIntensityOffset
  float& GlobalNamespace::PyramidBloomMainEffectSO::dyn__downBloomIntensityOffset() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::dyn__downBloomIntensityOffset");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_downBloomIntensityOffset"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _pyramidWeightsParam
  float& GlobalNamespace::PyramidBloomMainEffectSO::dyn__pyramidWeightsParam() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::dyn__pyramidWeightsParam");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_pyramidWeightsParam"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _alphaWeights
  float& GlobalNamespace::PyramidBloomMainEffectSO::dyn__alphaWeights() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::dyn__alphaWeights");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_alphaWeights"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private PyramidBloomRendererSO/Pass _preFilterPass
  GlobalNamespace::PyramidBloomRendererSO::Pass& GlobalNamespace::PyramidBloomMainEffectSO::dyn__preFilterPass() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::dyn__preFilterPass");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_preFilterPass"))->offset;
    return *reinterpret_cast<GlobalNamespace::PyramidBloomRendererSO::Pass*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private PyramidBloomRendererSO/Pass _downsamplePass
  GlobalNamespace::PyramidBloomRendererSO::Pass& GlobalNamespace::PyramidBloomMainEffectSO::dyn__downsamplePass() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::dyn__downsamplePass");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_downsamplePass"))->offset;
    return *reinterpret_cast<GlobalNamespace::PyramidBloomRendererSO::Pass*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private PyramidBloomRendererSO/Pass _upsamplePass
  GlobalNamespace::PyramidBloomRendererSO::Pass& GlobalNamespace::PyramidBloomMainEffectSO::dyn__upsamplePass() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::dyn__upsamplePass");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_upsamplePass"))->offset;
    return *reinterpret_cast<GlobalNamespace::PyramidBloomRendererSO::Pass*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private PyramidBloomRendererSO/Pass _finalUpsamplePass
  GlobalNamespace::PyramidBloomRendererSO::Pass& GlobalNamespace::PyramidBloomMainEffectSO::dyn__finalUpsamplePass() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::dyn__finalUpsamplePass");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_finalUpsamplePass"))->offset;
    return *reinterpret_cast<GlobalNamespace::PyramidBloomRendererSO::Pass*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 _bloomTextureWidth
  int& GlobalNamespace::PyramidBloomMainEffectSO::dyn__bloomTextureWidth() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::dyn__bloomTextureWidth");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloomTextureWidth"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _baseColorBoost
  float& GlobalNamespace::PyramidBloomMainEffectSO::dyn__baseColorBoost() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::dyn__baseColorBoost");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_baseColorBoost"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _baseColorBoostThreshold
  float& GlobalNamespace::PyramidBloomMainEffectSO::dyn__baseColorBoostThreshold() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::dyn__baseColorBoostThreshold");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_baseColorBoostThreshold"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Material _fadeMaterial
  UnityEngine::Material*& GlobalNamespace::PyramidBloomMainEffectSO::dyn__fadeMaterial() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::dyn__fadeMaterial");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_fadeMaterial"))->offset;
    return *reinterpret_cast<UnityEngine::Material**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Material _mainEffectMaterial
  UnityEngine::Material*& GlobalNamespace::PyramidBloomMainEffectSO::dyn__mainEffectMaterial() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::dyn__mainEffectMaterial");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_mainEffectMaterial"))->offset;
    return *reinterpret_cast<UnityEngine::Material**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: PyramidBloomMainEffectSO.OnDisable
  void GlobalNamespace::PyramidBloomMainEffectSO::OnDisable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::OnDisable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDisable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: PyramidBloomMainEffectSO.LazyInitializeMaterials
  void GlobalNamespace::PyramidBloomMainEffectSO::LazyInitializeMaterials() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::LazyInitializeMaterials");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "LazyInitializeMaterials", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: PyramidBloomMainEffectSO.get_hasPostProcessEffect
  bool GlobalNamespace::PyramidBloomMainEffectSO::get_hasPostProcessEffect() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::get_hasPostProcessEffect");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_hasPostProcessEffect", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: PyramidBloomMainEffectSO..cctor
  void GlobalNamespace::PyramidBloomMainEffectSO::_cctor() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::.cctor");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "PyramidBloomMainEffectSO", ".cctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: PyramidBloomMainEffectSO.OnEnable
  void GlobalNamespace::PyramidBloomMainEffectSO::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::OnEnable");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: PyramidBloomMainEffectSO.PreRender
  void GlobalNamespace::PyramidBloomMainEffectSO::PreRender() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::PreRender");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "PreRender", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: PyramidBloomMainEffectSO.Render
  void GlobalNamespace::PyramidBloomMainEffectSO::Render(UnityEngine::RenderTexture* src, UnityEngine::RenderTexture* dest, float fade) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::PyramidBloomMainEffectSO::Render");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Render", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(src), ::il2cpp_utils::ExtractType(dest), ::il2cpp_utils::ExtractType(fade)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, src, dest, fade);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: Mirror
  #include "GlobalNamespace/Mirror.hpp"
  // Including type: MirrorRendererSO
  #include "GlobalNamespace/MirrorRendererSO.hpp"
  // Including type: UnityEngine.MeshRenderer
  #include "UnityEngine/MeshRenderer.hpp"
  // Including type: UnityEngine.Material
  #include "UnityEngine/Material.hpp"
  // Including type: System.Action`1
  #include "System/Action_1.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // [DoesNotRequireDomainReloadInitAttribute] Offset: 0xEEB760
  // Autogenerated static field getter
  // Get static field: static private readonly System.Int32 _texturePropertyID
  int GlobalNamespace::Mirror::_get__texturePropertyID() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Mirror::_get__texturePropertyID");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<int>("", "Mirror", "_texturePropertyID"));
  }
  // Autogenerated static field setter
  // Set static field: static private readonly System.Int32 _texturePropertyID
  void GlobalNamespace::Mirror::_set__texturePropertyID(int value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Mirror::_set__texturePropertyID");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "Mirror", "_texturePropertyID", value));
  }
  // Autogenerated instance field getter
  // Get instance field: private MirrorRendererSO _mirrorRenderer
  GlobalNamespace::MirrorRendererSO*& GlobalNamespace::Mirror::dyn__mirrorRenderer() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Mirror::dyn__mirrorRenderer");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_mirrorRenderer"))->offset;
    return *reinterpret_cast<GlobalNamespace::MirrorRendererSO**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.MeshRenderer _renderer
  UnityEngine::MeshRenderer*& GlobalNamespace::Mirror::dyn__renderer() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Mirror::dyn__renderer");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_renderer"))->offset;
    return *reinterpret_cast<UnityEngine::MeshRenderer**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Material _mirrorMaterial
  UnityEngine::Material*& GlobalNamespace::Mirror::dyn__mirrorMaterial() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Mirror::dyn__mirrorMaterial");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_mirrorMaterial"))->offset;
    return *reinterpret_cast<UnityEngine::Material**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Material _noMirrorMaterial
  UnityEngine::Material*& GlobalNamespace::Mirror::dyn__noMirrorMaterial() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Mirror::dyn__noMirrorMaterial");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_noMirrorMaterial"))->offset;
    return *reinterpret_cast<UnityEngine::Material**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Boolean <isEnabled>k__BackingField
  bool& GlobalNamespace::Mirror::dyn_$isEnabled$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Mirror::dyn_$isEnabled$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<isEnabled>k__BackingField"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Action`1<System.Boolean> mirrorDidChangeEnabledStateEvent
  System::Action_1<bool>*& GlobalNamespace::Mirror::dyn_mirrorDidChangeEnabledStateEvent() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Mirror::dyn_mirrorDidChangeEnabledStateEvent");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "mirrorDidChangeEnabledStateEvent"))->offset;
    return *reinterpret_cast<System::Action_1<bool>**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: Mirror.get_noMirrorMaterial
  UnityEngine::Material* GlobalNamespace::Mirror::get_noMirrorMaterial() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Mirror::get_noMirrorMaterial");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_noMirrorMaterial", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Material*, false>(this, ___internal__method);
  }
  // Autogenerated method: Mirror.get_isEnabled
  bool GlobalNamespace::Mirror::get_isEnabled() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Mirror::get_isEnabled");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_isEnabled", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: Mirror.set_isEnabled
  void GlobalNamespace::Mirror::set_isEnabled(bool value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Mirror::set_isEnabled");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_isEnabled", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: Mirror.add_mirrorDidChangeEnabledStateEvent
  void GlobalNamespace::Mirror::add_mirrorDidChangeEnabledStateEvent(System::Action_1<bool>* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Mirror::add_mirrorDidChangeEnabledStateEvent");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "add_mirrorDidChangeEnabledStateEvent", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: Mirror.remove_mirrorDidChangeEnabledStateEvent
  void GlobalNamespace::Mirror::remove_mirrorDidChangeEnabledStateEvent(System::Action_1<bool>* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Mirror::remove_mirrorDidChangeEnabledStateEvent");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "remove_mirrorDidChangeEnabledStateEvent", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: Mirror.Update
  void GlobalNamespace::Mirror::Update() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Mirror::Update");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Update", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: Mirror.OnWillRenderObject
  void GlobalNamespace::Mirror::OnWillRenderObject() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Mirror::OnWillRenderObject");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnWillRenderObject", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: Mirror.ChangeMirrorEnabledState
  void GlobalNamespace::Mirror::ChangeMirrorEnabledState(bool newIsEnabled) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Mirror::ChangeMirrorEnabledState");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "ChangeMirrorEnabledState", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(newIsEnabled)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, newIsEnabled);
  }
  // Autogenerated method: Mirror..cctor
  void GlobalNamespace::Mirror::_cctor() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Mirror::.cctor");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "Mirror", ".cctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: MirrorRendererSO
  #include "GlobalNamespace/MirrorRendererSO.hpp"
  // Including type: UnityEngine.Texture
  #include "UnityEngine/Texture.hpp"
  // Including type: BloomPrePassRendererSO
  #include "GlobalNamespace/BloomPrePassRendererSO.hpp"
  // Including type: BloomPrePassEffectSO
  #include "GlobalNamespace/BloomPrePassEffectSO.hpp"
  // Including type: UnityEngine.Shader
  #include "UnityEngine/Shader.hpp"
  // Including type: UnityEngine.RenderTexture
  #include "UnityEngine/RenderTexture.hpp"
  // Including type: UnityEngine.Camera
  #include "UnityEngine/Camera.hpp"
  // Including type: System.Collections.Generic.Dictionary`2
  #include "System/Collections/Generic/Dictionary_2.hpp"
  // Including type: UnityEngine.Vector3
  #include "UnityEngine/Vector3.hpp"
  // Including type: UnityEngine.Quaternion
  #include "UnityEngine/Quaternion.hpp"
  // Including type: UnityEngine.Matrix4x4
  #include "UnityEngine/Matrix4x4.hpp"
  // Including type: UnityEngine.Vector4
  #include "UnityEngine/Vector4.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static private System.Int32 kWaterLayer
  int GlobalNamespace::MirrorRendererSO::_get_kWaterLayer() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::_get_kWaterLayer");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<int>("", "MirrorRendererSO", "kWaterLayer"));
  }
  // Autogenerated static field setter
  // Set static field: static private System.Int32 kWaterLayer
  void GlobalNamespace::MirrorRendererSO::_set_kWaterLayer(int value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::_set_kWaterLayer");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "MirrorRendererSO", "kWaterLayer", value));
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.LayerMask _reflectLayers
  UnityEngine::LayerMask& GlobalNamespace::MirrorRendererSO::dyn__reflectLayers() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::dyn__reflectLayers");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_reflectLayers"))->offset;
    return *reinterpret_cast<UnityEngine::LayerMask*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 _stereoTextureWidth
  int& GlobalNamespace::MirrorRendererSO::dyn__stereoTextureWidth() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::dyn__stereoTextureWidth");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_stereoTextureWidth"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 _stereoTextureHeight
  int& GlobalNamespace::MirrorRendererSO::dyn__stereoTextureHeight() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::dyn__stereoTextureHeight");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_stereoTextureHeight"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 _monoTextureWidth
  int& GlobalNamespace::MirrorRendererSO::dyn__monoTextureWidth() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::dyn__monoTextureWidth");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_monoTextureWidth"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 _monoTextureHeight
  int& GlobalNamespace::MirrorRendererSO::dyn__monoTextureHeight() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::dyn__monoTextureHeight");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_monoTextureHeight"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 _maxAntiAliasing
  int& GlobalNamespace::MirrorRendererSO::dyn__maxAntiAliasing() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::dyn__maxAntiAliasing");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_maxAntiAliasing"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Boolean _disableDepthTexture
  bool& GlobalNamespace::MirrorRendererSO::dyn__disableDepthTexture() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::dyn__disableDepthTexture");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_disableDepthTexture"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Boolean _enableBloomPrePass
  bool& GlobalNamespace::MirrorRendererSO::dyn__enableBloomPrePass() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::dyn__enableBloomPrePass");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_enableBloomPrePass"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private BloomPrePassRendererSO _bloomPrePassRenderer
  GlobalNamespace::BloomPrePassRendererSO*& GlobalNamespace::MirrorRendererSO::dyn__bloomPrePassRenderer() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::dyn__bloomPrePassRenderer");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloomPrePassRenderer"))->offset;
    return *reinterpret_cast<GlobalNamespace::BloomPrePassRendererSO**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private BloomPrePassEffectSO _bloomPrePassEffect
  GlobalNamespace::BloomPrePassEffectSO*& GlobalNamespace::MirrorRendererSO::dyn__bloomPrePassEffect() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::dyn__bloomPrePassEffect");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloomPrePassEffect"))->offset;
    return *reinterpret_cast<GlobalNamespace::BloomPrePassEffectSO**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Shader _clearDepthShader
  UnityEngine::Shader*& GlobalNamespace::MirrorRendererSO::dyn__clearDepthShader() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::dyn__clearDepthShader");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_clearDepthShader"))->offset;
    return *reinterpret_cast<UnityEngine::Shader**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.RenderTexture _bloomPrePassRenderTexture
  UnityEngine::RenderTexture*& GlobalNamespace::MirrorRendererSO::dyn__bloomPrePassRenderTexture() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::dyn__bloomPrePassRenderTexture");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloomPrePassRenderTexture"))->offset;
    return *reinterpret_cast<UnityEngine::RenderTexture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Camera _mirrorCamera
  UnityEngine::Camera*& GlobalNamespace::MirrorRendererSO::dyn__mirrorCamera() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::dyn__mirrorCamera");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_mirrorCamera"))->offset;
    return *reinterpret_cast<UnityEngine::Camera**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 _antialiasing
  int& GlobalNamespace::MirrorRendererSO::dyn__antialiasing() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::dyn__antialiasing");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_antialiasing"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Collections.Generic.Dictionary`2<MirrorRendererSO/CameraTransformData,UnityEngine.RenderTexture> _renderTextures
  System::Collections::Generic::Dictionary_2<GlobalNamespace::MirrorRendererSO::CameraTransformData, UnityEngine::RenderTexture*>*& GlobalNamespace::MirrorRendererSO::dyn__renderTextures() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::dyn__renderTextures");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_renderTextures"))->offset;
    return *reinterpret_cast<System::Collections::Generic::Dictionary_2<GlobalNamespace::MirrorRendererSO::CameraTransformData, UnityEngine::RenderTexture*>**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private readonly UnityEngine.Rect kLeftRect
  UnityEngine::Rect& GlobalNamespace::MirrorRendererSO::dyn_kLeftRect() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::dyn_kLeftRect");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "kLeftRect"))->offset;
    return *reinterpret_cast<UnityEngine::Rect*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private readonly UnityEngine.Rect kRightRect
  UnityEngine::Rect& GlobalNamespace::MirrorRendererSO::dyn_kRightRect() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::dyn_kRightRect");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "kRightRect"))->offset;
    return *reinterpret_cast<UnityEngine::Rect*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private readonly UnityEngine.Rect kFullRect
  UnityEngine::Rect& GlobalNamespace::MirrorRendererSO::dyn_kFullRect() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::dyn_kFullRect");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "kFullRect"))->offset;
    return *reinterpret_cast<UnityEngine::Rect*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: MirrorRendererSO.OnValidate
  void GlobalNamespace::MirrorRendererSO::OnValidate() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::OnValidate");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnValidate", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: MirrorRendererSO.Awake
  void GlobalNamespace::MirrorRendererSO::Awake() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::Awake");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Awake", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: MirrorRendererSO.ValidateParams
  void GlobalNamespace::MirrorRendererSO::ValidateParams() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::ValidateParams");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "ValidateParams", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: MirrorRendererSO.Init
  void GlobalNamespace::MirrorRendererSO::Init(UnityEngine::LayerMask reflectLayers, int stereoTextureWidth, int stereoTextureHeight, int monoTextureWidth, int monoTextureHeight, int maxAntiAliasing, bool enableBloomPrePass) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::Init");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Init", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(reflectLayers), ::il2cpp_utils::ExtractType(stereoTextureWidth), ::il2cpp_utils::ExtractType(stereoTextureHeight), ::il2cpp_utils::ExtractType(monoTextureWidth), ::il2cpp_utils::ExtractType(monoTextureHeight), ::il2cpp_utils::ExtractType(maxAntiAliasing), ::il2cpp_utils::ExtractType(enableBloomPrePass)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, reflectLayers, stereoTextureWidth, stereoTextureHeight, monoTextureWidth, monoTextureHeight, maxAntiAliasing, enableBloomPrePass);
  }
  // Autogenerated method: MirrorRendererSO.PrepareForNextFrame
  void GlobalNamespace::MirrorRendererSO::PrepareForNextFrame() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::PrepareForNextFrame");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "PrepareForNextFrame", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: MirrorRendererSO.GetMirrorTexture
  UnityEngine::Texture* GlobalNamespace::MirrorRendererSO::GetMirrorTexture(UnityEngine::Vector3 reflectionPlanePos, UnityEngine::Vector3 reflectionPlaneNormal) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::GetMirrorTexture");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetMirrorTexture", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(reflectionPlanePos), ::il2cpp_utils::ExtractType(reflectionPlaneNormal)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Texture*, false>(this, ___internal__method, reflectionPlanePos, reflectionPlaneNormal);
  }
  // Autogenerated method: MirrorRendererSO.RenderMirror
  void GlobalNamespace::MirrorRendererSO::RenderMirror(UnityEngine::Vector3 camPosition, UnityEngine::Quaternion camRotation, UnityEngine::Matrix4x4 camProjectionMatrix, UnityEngine::Rect screenRect, UnityEngine::Vector3 reclectionPlanePos, UnityEngine::Vector3 reflectionPlaneNormal) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::RenderMirror");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "RenderMirror", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(camPosition), ::il2cpp_utils::ExtractType(camRotation), ::il2cpp_utils::ExtractType(camProjectionMatrix), ::il2cpp_utils::ExtractType(screenRect), ::il2cpp_utils::ExtractType(reclectionPlanePos), ::il2cpp_utils::ExtractType(reflectionPlaneNormal)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, camPosition, camRotation, camProjectionMatrix, screenRect, reclectionPlanePos, reflectionPlaneNormal);
  }
  // Autogenerated method: MirrorRendererSO.OnDisable
  void GlobalNamespace::MirrorRendererSO::OnDisable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::OnDisable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDisable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: MirrorRendererSO.CreateOrUpdateMirrorCamera
  void GlobalNamespace::MirrorRendererSO::CreateOrUpdateMirrorCamera(UnityEngine::Camera* currentCamera, UnityEngine::RenderTexture* renderTexture) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::CreateOrUpdateMirrorCamera");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "CreateOrUpdateMirrorCamera", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(currentCamera), ::il2cpp_utils::ExtractType(renderTexture)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, currentCamera, renderTexture);
  }
  // Autogenerated method: MirrorRendererSO.Plane
  UnityEngine::Vector4 GlobalNamespace::MirrorRendererSO::Plane(UnityEngine::Vector3 pos, UnityEngine::Vector3 normal) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::Plane");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "MirrorRendererSO", "Plane", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pos), ::il2cpp_utils::ExtractType(normal)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Vector4, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, pos, normal);
  }
  // Autogenerated method: MirrorRendererSO.CameraSpacePlane
  UnityEngine::Vector4 GlobalNamespace::MirrorRendererSO::CameraSpacePlane(UnityEngine::Matrix4x4 worldToCameraMatrix, UnityEngine::Vector3 pos, UnityEngine::Vector3 normal) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::CameraSpacePlane");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "MirrorRendererSO", "CameraSpacePlane", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(worldToCameraMatrix), ::il2cpp_utils::ExtractType(pos), ::il2cpp_utils::ExtractType(normal)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Vector4, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, worldToCameraMatrix, pos, normal);
  }
  // Autogenerated method: MirrorRendererSO.CalculateReflectionMatrix
  UnityEngine::Matrix4x4 GlobalNamespace::MirrorRendererSO::CalculateReflectionMatrix(UnityEngine::Vector4 plane) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::CalculateReflectionMatrix");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "MirrorRendererSO", "CalculateReflectionMatrix", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(plane)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Matrix4x4, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, plane);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: MirrorRendererSO/CameraTransformData
  #include "GlobalNamespace/MirrorRendererSO.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: public readonly UnityEngine.Vector3 position
  UnityEngine::Vector3& GlobalNamespace::MirrorRendererSO::CameraTransformData::dyn_position() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::CameraTransformData::dyn_position");
    auto ___internal__instance = *this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "position"))->offset;
    return *reinterpret_cast<UnityEngine::Vector3*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public readonly UnityEngine.Quaternion rotation
  UnityEngine::Quaternion& GlobalNamespace::MirrorRendererSO::CameraTransformData::dyn_rotation() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::CameraTransformData::dyn_rotation");
    auto ___internal__instance = *this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "rotation"))->offset;
    return *reinterpret_cast<UnityEngine::Quaternion*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public readonly System.Single fov
  float& GlobalNamespace::MirrorRendererSO::CameraTransformData::dyn_fov() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::CameraTransformData::dyn_fov");
    auto ___internal__instance = *this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "fov"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public readonly System.Boolean stereoEnabled
  bool& GlobalNamespace::MirrorRendererSO::CameraTransformData::dyn_stereoEnabled() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::CameraTransformData::dyn_stereoEnabled");
    auto ___internal__instance = *this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "stereoEnabled"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: MirrorRendererSO/CameraTransformData..ctor
  // ABORTED elsewhere.  GlobalNamespace::MirrorRendererSO::CameraTransformData::CameraTransformData(UnityEngine::Vector3 position, UnityEngine::Quaternion rotation, float fov, bool stereoEnabled)
  // Autogenerated method: MirrorRendererSO/CameraTransformData.Equals
  bool GlobalNamespace::MirrorRendererSO::CameraTransformData::Equals(::Il2CppObject* obj) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::CameraTransformData::Equals");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(*this, "Equals", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(obj)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, obj);
  }
  // Autogenerated method: MirrorRendererSO/CameraTransformData.GetHashCode
  int GlobalNamespace::MirrorRendererSO::CameraTransformData::GetHashCode() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::MirrorRendererSO::CameraTransformData::GetHashCode");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(*this, "GetHashCode", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<int, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: RenderTextureFromPostEffect
  #include "GlobalNamespace/RenderTextureFromPostEffect.hpp"
  // Including type: UnityEngine.RenderTexture
  #include "UnityEngine/RenderTexture.hpp"
  // Including type: UnityEngine.Camera
  #include "UnityEngine/Camera.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.RenderTexture _targetTexture
  UnityEngine::RenderTexture*& GlobalNamespace::RenderTextureFromPostEffect::dyn__targetTexture() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::RenderTextureFromPostEffect::dyn__targetTexture");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_targetTexture"))->offset;
    return *reinterpret_cast<UnityEngine::RenderTexture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Camera _camera
  UnityEngine::Camera*& GlobalNamespace::RenderTextureFromPostEffect::dyn__camera() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::RenderTextureFromPostEffect::dyn__camera");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_camera"))->offset;
    return *reinterpret_cast<UnityEngine::Camera**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: RenderTextureFromPostEffect.get_targetTexture
  UnityEngine::RenderTexture* GlobalNamespace::RenderTextureFromPostEffect::get_targetTexture() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::RenderTextureFromPostEffect::get_targetTexture");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_targetTexture", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::RenderTexture*, false>(this, ___internal__method);
  }
  // Autogenerated method: RenderTextureFromPostEffect.Awake
  void GlobalNamespace::RenderTextureFromPostEffect::Awake() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::RenderTextureFromPostEffect::Awake");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Awake", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: RenderTextureFromPostEffect.OnRenderImage
  void GlobalNamespace::RenderTextureFromPostEffect::OnRenderImage(UnityEngine::RenderTexture* src, UnityEngine::RenderTexture* dst) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::RenderTextureFromPostEffect::OnRenderImage");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnRenderImage", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(src), ::il2cpp_utils::ExtractType(dst)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, src, dst);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: Noise3DTexturesGenerator
  #include "GlobalNamespace/Noise3DTexturesGenerator.hpp"
  // Including type: UnityEngine.Texture3D
  #include "UnityEngine/Texture3D.hpp"
  // Including type: UnityEngine.Material
  #include "UnityEngine/Material.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static private UnityEngine.Texture3D _texture
  UnityEngine::Texture3D* GlobalNamespace::Noise3DTexturesGenerator::_get__texture() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Noise3DTexturesGenerator::_get__texture");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<UnityEngine::Texture3D*>("", "Noise3DTexturesGenerator", "_texture"));
  }
  // Autogenerated static field setter
  // Set static field: static private UnityEngine.Texture3D _texture
  void GlobalNamespace::Noise3DTexturesGenerator::_set__texture(UnityEngine::Texture3D* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Noise3DTexturesGenerator::_set__texture");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "Noise3DTexturesGenerator", "_texture", value));
  }
  // Autogenerated instance field getter
  // Get instance field: private Noise3DTexturesGenerator/MaterialTextureParamsCouple[] _data
  ::ArrayW<GlobalNamespace::Noise3DTexturesGenerator::MaterialTextureParamsCouple>& GlobalNamespace::Noise3DTexturesGenerator::dyn__data() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Noise3DTexturesGenerator::dyn__data");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_data"))->offset;
    return *reinterpret_cast<::ArrayW<GlobalNamespace::Noise3DTexturesGenerator::MaterialTextureParamsCouple>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: Noise3DTexturesGenerator.Awake
  void GlobalNamespace::Noise3DTexturesGenerator::Awake() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Noise3DTexturesGenerator::Awake");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Awake", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: Noise3DTexturesGenerator.CreateNoisePixels
  ::ArrayW<UnityEngine::Color32> GlobalNamespace::Noise3DTexturesGenerator::CreateNoisePixels(int width, int height, int depth, float scale, int repeat, float contrast) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Noise3DTexturesGenerator::CreateNoisePixels");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "Noise3DTexturesGenerator", "CreateNoisePixels", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(width), ::il2cpp_utils::ExtractType(height), ::il2cpp_utils::ExtractType(depth), ::il2cpp_utils::ExtractType(scale), ::il2cpp_utils::ExtractType(repeat), ::il2cpp_utils::ExtractType(contrast)})));
    return ::il2cpp_utils::RunMethodThrow<::ArrayW<UnityEngine::Color32>, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, width, height, depth, scale, repeat, contrast);
  }
  // Autogenerated method: Noise3DTexturesGenerator..cctor
  void GlobalNamespace::Noise3DTexturesGenerator::_cctor() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::Noise3DTexturesGenerator::.cctor");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "Noise3DTexturesGenerator", ".cctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: ScreenCaptureAfterDelay
  #include "GlobalNamespace/ScreenCaptureAfterDelay.hpp"
  // Including type: ScreenCaptureAfterDelay/InitData
  #include "GlobalNamespace/ScreenCaptureAfterDelay_InitData.hpp"
  // Including type: ScreenCaptureAfterDelay/<Start>d__6
  #include "GlobalNamespace/ScreenCaptureAfterDelay_-Start-d__6.hpp"
  // Including type: MainEffectController
  #include "GlobalNamespace/MainEffectController.hpp"
  // Including type: ScreenCaptureCache
  #include "GlobalNamespace/ScreenCaptureCache.hpp"
  // Including type: UnityEngine.Texture2D
  #include "UnityEngine/Texture2D.hpp"
  // Including type: UnityEngine.RenderTexture
  #include "UnityEngine/RenderTexture.hpp"
  // Including type: System.Collections.IEnumerator
  #include "System/Collections/IEnumerator.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private MainEffectController _mainEffectController
  GlobalNamespace::MainEffectController*& GlobalNamespace::ScreenCaptureAfterDelay::dyn__mainEffectController() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::dyn__mainEffectController");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_mainEffectController"))->offset;
    return *reinterpret_cast<GlobalNamespace::MainEffectController**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private ScreenCaptureCache _screenCaptureCache
  GlobalNamespace::ScreenCaptureCache*& GlobalNamespace::ScreenCaptureAfterDelay::dyn__screenCaptureCache() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::dyn__screenCaptureCache");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_screenCaptureCache"))->offset;
    return *reinterpret_cast<GlobalNamespace::ScreenCaptureCache**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private ScreenCaptureAfterDelay/InitData _initData
  GlobalNamespace::ScreenCaptureAfterDelay::InitData*& GlobalNamespace::ScreenCaptureAfterDelay::dyn__initData() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::dyn__initData");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_initData"))->offset;
    return *reinterpret_cast<GlobalNamespace::ScreenCaptureAfterDelay::InitData**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Texture2D _captureTexture
  UnityEngine::Texture2D*& GlobalNamespace::ScreenCaptureAfterDelay::dyn__captureTexture() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::dyn__captureTexture");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_captureTexture"))->offset;
    return *reinterpret_cast<UnityEngine::Texture2D**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.RenderTexture _captureRenderTexture
  UnityEngine::RenderTexture*& GlobalNamespace::ScreenCaptureAfterDelay::dyn__captureRenderTexture() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::dyn__captureRenderTexture");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_captureRenderTexture"))->offset;
    return *reinterpret_cast<UnityEngine::RenderTexture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: ScreenCaptureAfterDelay.Start
  System::Collections::IEnumerator* GlobalNamespace::ScreenCaptureAfterDelay::Start() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::Start");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Start", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<System::Collections::IEnumerator*, false>(this, ___internal__method);
  }
  // Autogenerated method: ScreenCaptureAfterDelay.OnDestroy
  void GlobalNamespace::ScreenCaptureAfterDelay::OnDestroy() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::OnDestroy");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDestroy", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: ScreenCaptureAfterDelay.HandleMainEffectControllerAfterImageEffectEvent
  void GlobalNamespace::ScreenCaptureAfterDelay::HandleMainEffectControllerAfterImageEffectEvent(UnityEngine::RenderTexture* renderTexture) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::HandleMainEffectControllerAfterImageEffectEvent");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "HandleMainEffectControllerAfterImageEffectEvent", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(renderTexture)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, renderTexture);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: ScreenCaptureAfterDelay/InitData
  #include "GlobalNamespace/ScreenCaptureAfterDelay_InitData.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: public readonly ScreenCaptureCache/ScreenshotType screenshotType
  GlobalNamespace::ScreenCaptureCache::ScreenshotType& GlobalNamespace::ScreenCaptureAfterDelay::InitData::dyn_screenshotType() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::InitData::dyn_screenshotType");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "screenshotType"))->offset;
    return *reinterpret_cast<GlobalNamespace::ScreenCaptureCache::ScreenshotType*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public readonly System.Single screenCaptureTime
  float& GlobalNamespace::ScreenCaptureAfterDelay::InitData::dyn_screenCaptureTime() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::InitData::dyn_screenCaptureTime");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "screenCaptureTime"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public readonly System.Int32 pixelsWidth
  int& GlobalNamespace::ScreenCaptureAfterDelay::InitData::dyn_pixelsWidth() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::InitData::dyn_pixelsWidth");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "pixelsWidth"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public readonly System.Int32 pixelsHeight
  int& GlobalNamespace::ScreenCaptureAfterDelay::InitData::dyn_pixelsHeight() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::InitData::dyn_pixelsHeight");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "pixelsHeight"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: ScreenCaptureAfterDelay/<Start>d__6
  #include "GlobalNamespace/ScreenCaptureAfterDelay_-Start-d__6.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 <>1__state
  int& GlobalNamespace::ScreenCaptureAfterDelay::$Start$d__6::dyn_$$1__state() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::$Start$d__6::dyn_$$1__state");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>1__state"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Object <>2__current
  ::Il2CppObject*& GlobalNamespace::ScreenCaptureAfterDelay::$Start$d__6::dyn_$$2__current() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::$Start$d__6::dyn_$$2__current");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>2__current"))->offset;
    return *reinterpret_cast<::Il2CppObject**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public ScreenCaptureAfterDelay <>4__this
  GlobalNamespace::ScreenCaptureAfterDelay*& GlobalNamespace::ScreenCaptureAfterDelay::$Start$d__6::dyn_$$4__this() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::$Start$d__6::dyn_$$4__this");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>4__this"))->offset;
    return *reinterpret_cast<GlobalNamespace::ScreenCaptureAfterDelay**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: ScreenCaptureAfterDelay/<Start>d__6.System.Collections.Generic.IEnumerator<System.Object>.get_Current
  ::Il2CppObject* GlobalNamespace::ScreenCaptureAfterDelay::$Start$d__6::System_Collections_Generic_IEnumerator$System_Object$_get_Current() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::$Start$d__6::System.Collections.Generic.IEnumerator<System.Object>.get_Current");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.Generic.IEnumerator<System.Object>.get_Current", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppObject*, false>(this, ___internal__method);
  }
  // Autogenerated method: ScreenCaptureAfterDelay/<Start>d__6.System.Collections.IEnumerator.get_Current
  ::Il2CppObject* GlobalNamespace::ScreenCaptureAfterDelay::$Start$d__6::System_Collections_IEnumerator_get_Current() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::$Start$d__6::System.Collections.IEnumerator.get_Current");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.IEnumerator.get_Current", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppObject*, false>(this, ___internal__method);
  }
  // Autogenerated method: ScreenCaptureAfterDelay/<Start>d__6.System.IDisposable.Dispose
  void GlobalNamespace::ScreenCaptureAfterDelay::$Start$d__6::System_IDisposable_Dispose() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::$Start$d__6::System.IDisposable.Dispose");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.IDisposable.Dispose", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: ScreenCaptureAfterDelay/<Start>d__6.MoveNext
  bool GlobalNamespace::ScreenCaptureAfterDelay::$Start$d__6::MoveNext() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::$Start$d__6::MoveNext");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "MoveNext", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: ScreenCaptureAfterDelay/<Start>d__6.System.Collections.IEnumerator.Reset
  void GlobalNamespace::ScreenCaptureAfterDelay::$Start$d__6::System_Collections_IEnumerator_Reset() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureAfterDelay::$Start$d__6::System.Collections.IEnumerator.Reset");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.IEnumerator.Reset", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: ScreenCaptureCache
  #include "GlobalNamespace/ScreenCaptureCache.hpp"
  // Including type: UnityEngine.Texture2D
  #include "UnityEngine/Texture2D.hpp"
  // Including type: System.Collections.Generic.Dictionary`2
  #include "System/Collections/Generic/Dictionary_2.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private System.Collections.Generic.Dictionary`2<ScreenCaptureCache/ScreenshotType,UnityEngine.Texture2D> _cache
  System::Collections::Generic::Dictionary_2<GlobalNamespace::ScreenCaptureCache::ScreenshotType, UnityEngine::Texture2D*>*& GlobalNamespace::ScreenCaptureCache::dyn__cache() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureCache::dyn__cache");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_cache"))->offset;
    return *reinterpret_cast<System::Collections::Generic::Dictionary_2<GlobalNamespace::ScreenCaptureCache::ScreenshotType, UnityEngine::Texture2D*>**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: ScreenCaptureCache.GetLastScreenshot
  UnityEngine::Texture2D* GlobalNamespace::ScreenCaptureCache::GetLastScreenshot(GlobalNamespace::ScreenCaptureCache::ScreenshotType screenshotType) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureCache::GetLastScreenshot");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetLastScreenshot", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(screenshotType)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Texture2D*, false>(this, ___internal__method, screenshotType);
  }
  // Autogenerated method: ScreenCaptureCache.StoreScreenshot
  void GlobalNamespace::ScreenCaptureCache::StoreScreenshot(GlobalNamespace::ScreenCaptureCache::ScreenshotType screenshotType, UnityEngine::Texture2D* texture) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureCache::StoreScreenshot");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "StoreScreenshot", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(screenshotType), ::il2cpp_utils::ExtractType(texture)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, screenshotType, texture);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: ScreenCaptureCache/ScreenshotType
  #include "GlobalNamespace/ScreenCaptureCache.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static public ScreenCaptureCache/ScreenshotType Game
  GlobalNamespace::ScreenCaptureCache::ScreenshotType GlobalNamespace::ScreenCaptureCache::ScreenshotType::_get_Game() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureCache::ScreenshotType::_get_Game");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::ScreenCaptureCache::ScreenshotType>("", "ScreenCaptureCache/ScreenshotType", "Game"));
  }
  // Autogenerated static field setter
  // Set static field: static public ScreenCaptureCache/ScreenshotType Game
  void GlobalNamespace::ScreenCaptureCache::ScreenshotType::_set_Game(GlobalNamespace::ScreenCaptureCache::ScreenshotType value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureCache::ScreenshotType::_set_Game");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "ScreenCaptureCache/ScreenshotType", "Game", value));
  }
  // Autogenerated static field getter
  // Get static field: static public ScreenCaptureCache/ScreenshotType Menu
  GlobalNamespace::ScreenCaptureCache::ScreenshotType GlobalNamespace::ScreenCaptureCache::ScreenshotType::_get_Menu() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureCache::ScreenshotType::_get_Menu");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::ScreenCaptureCache::ScreenshotType>("", "ScreenCaptureCache/ScreenshotType", "Menu"));
  }
  // Autogenerated static field setter
  // Set static field: static public ScreenCaptureCache/ScreenshotType Menu
  void GlobalNamespace::ScreenCaptureCache::ScreenshotType::_set_Menu(GlobalNamespace::ScreenCaptureCache::ScreenshotType value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureCache::ScreenshotType::_set_Menu");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "ScreenCaptureCache/ScreenshotType", "Menu", value));
  }
  // Autogenerated static field getter
  // Get static field: static public ScreenCaptureCache/ScreenshotType Other
  GlobalNamespace::ScreenCaptureCache::ScreenshotType GlobalNamespace::ScreenCaptureCache::ScreenshotType::_get_Other() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureCache::ScreenshotType::_get_Other");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::ScreenCaptureCache::ScreenshotType>("", "ScreenCaptureCache/ScreenshotType", "Other"));
  }
  // Autogenerated static field setter
  // Set static field: static public ScreenCaptureCache/ScreenshotType Other
  void GlobalNamespace::ScreenCaptureCache::ScreenshotType::_set_Other(GlobalNamespace::ScreenCaptureCache::ScreenshotType value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureCache::ScreenshotType::_set_Other");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "ScreenCaptureCache/ScreenshotType", "Other", value));
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Int32 value__
  int& GlobalNamespace::ScreenCaptureCache::ScreenshotType::dyn_value__() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ScreenCaptureCache::ScreenshotType::dyn_value__");
    auto ___internal__instance = *this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "value__"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: ShaderVariantsSO
  #include "GlobalNamespace/ShaderVariantsSO.hpp"
  // Including type: ShaderVariantsSO/ShaderVariant
  #include "GlobalNamespace/ShaderVariantsSO_ShaderVariant.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private ShaderVariantsSO/ShaderVariant[] _shaderVariants
  ::ArrayW<GlobalNamespace::ShaderVariantsSO::ShaderVariant*>& GlobalNamespace::ShaderVariantsSO::dyn__shaderVariants() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ShaderVariantsSO::dyn__shaderVariants");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_shaderVariants"))->offset;
    return *reinterpret_cast<::ArrayW<GlobalNamespace::ShaderVariantsSO::ShaderVariant*>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: ShaderVariantsSO.get_shaderVariants
  ::ArrayW<GlobalNamespace::ShaderVariantsSO::ShaderVariant*> GlobalNamespace::ShaderVariantsSO::get_shaderVariants() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ShaderVariantsSO::get_shaderVariants");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_shaderVariants", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::ArrayW<GlobalNamespace::ShaderVariantsSO::ShaderVariant*>, false>(this, ___internal__method);
  }
  // Autogenerated method: ShaderVariantsSO.Init
  void GlobalNamespace::ShaderVariantsSO::Init(::ArrayW<GlobalNamespace::ShaderVariantsSO::ShaderVariant*> shaderVariants) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ShaderVariantsSO::Init");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Init", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(shaderVariants)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, shaderVariants);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: ShaderVariantsSO/ShaderVariant
  #include "GlobalNamespace/ShaderVariantsSO_ShaderVariant.hpp"
  // Including type: ShaderVariantsSO/ShaderVariant/Variant
  #include "GlobalNamespace/ShaderVariantsSO_ShaderVariant_Variant.hpp"
  // Including type: UnityEngine.Shader
  #include "UnityEngine/Shader.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private ShaderVariantsSO/ShaderVariant/Variant[] _variants
  ::ArrayW<GlobalNamespace::ShaderVariantsSO::ShaderVariant::Variant*>& GlobalNamespace::ShaderVariantsSO::ShaderVariant::dyn__variants() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ShaderVariantsSO::ShaderVariant::dyn__variants");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_variants"))->offset;
    return *reinterpret_cast<::ArrayW<GlobalNamespace::ShaderVariantsSO::ShaderVariant::Variant*>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Shader _shader
  UnityEngine::Shader*& GlobalNamespace::ShaderVariantsSO::ShaderVariant::dyn__shader() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ShaderVariantsSO::ShaderVariant::dyn__shader");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_shader"))->offset;
    return *reinterpret_cast<UnityEngine::Shader**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: ShaderVariantsSO/ShaderVariant.get_variants
  ::ArrayW<GlobalNamespace::ShaderVariantsSO::ShaderVariant::Variant*> GlobalNamespace::ShaderVariantsSO::ShaderVariant::get_variants() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ShaderVariantsSO::ShaderVariant::get_variants");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_variants", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::ArrayW<GlobalNamespace::ShaderVariantsSO::ShaderVariant::Variant*>, false>(this, ___internal__method);
  }
  // Autogenerated method: ShaderVariantsSO/ShaderVariant.get_shader
  UnityEngine::Shader* GlobalNamespace::ShaderVariantsSO::ShaderVariant::get_shader() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ShaderVariantsSO::ShaderVariant::get_shader");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_shader", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Shader*, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: ShaderVariantsSO/ShaderVariant/Variant
  #include "GlobalNamespace/ShaderVariantsSO_ShaderVariant_Variant.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Rendering.PassType _passType
  UnityEngine::Rendering::PassType& GlobalNamespace::ShaderVariantsSO::ShaderVariant::Variant::dyn__passType() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ShaderVariantsSO::ShaderVariant::Variant::dyn__passType");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_passType"))->offset;
    return *reinterpret_cast<UnityEngine::Rendering::PassType*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.String _keywords
  ::Il2CppString*& GlobalNamespace::ShaderVariantsSO::ShaderVariant::Variant::dyn__keywords() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ShaderVariantsSO::ShaderVariant::Variant::dyn__keywords");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_keywords"))->offset;
    return *reinterpret_cast<::Il2CppString**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: ShaderVariantsSO/ShaderVariant/Variant.get_passType
  UnityEngine::Rendering::PassType GlobalNamespace::ShaderVariantsSO::ShaderVariant::Variant::get_passType() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ShaderVariantsSO::ShaderVariant::Variant::get_passType");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_passType", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Rendering::PassType, false>(this, ___internal__method);
  }
  // Autogenerated method: ShaderVariantsSO/ShaderVariant/Variant.get_keywords
  ::Il2CppString* GlobalNamespace::ShaderVariantsSO::ShaderVariant::Variant::get_keywords() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::ShaderVariantsSO::ShaderVariant::Variant::get_keywords");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_keywords", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppString*, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SimpleTemporalFiltering
  #include "GlobalNamespace/SimpleTemporalFiltering.hpp"
  // Including type: UnityEngine.RenderTexture
  #include "UnityEngine/RenderTexture.hpp"
  // Including type: UnityEngine.Material
  #include "UnityEngine/Material.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.RenderTexture[] _temporalFilteringTextures
  ::ArrayW<UnityEngine::RenderTexture*>& GlobalNamespace::SimpleTemporalFiltering::dyn__temporalFilteringTextures() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SimpleTemporalFiltering::dyn__temporalFilteringTextures");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_temporalFilteringTextures"))->offset;
    return *reinterpret_cast<::ArrayW<UnityEngine::RenderTexture*>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 _prevTemporalFilteringTextureIdx
  int& GlobalNamespace::SimpleTemporalFiltering::dyn__prevTemporalFilteringTextureIdx() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SimpleTemporalFiltering::dyn__prevTemporalFilteringTextureIdx");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_prevTemporalFilteringTextureIdx"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Material _temporalFilteringMaterial
  UnityEngine::Material*& GlobalNamespace::SimpleTemporalFiltering::dyn__temporalFilteringMaterial() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SimpleTemporalFiltering::dyn__temporalFilteringMaterial");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_temporalFilteringMaterial"))->offset;
    return *reinterpret_cast<UnityEngine::Material**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 _bufferTexID
  int& GlobalNamespace::SimpleTemporalFiltering::dyn__bufferTexID() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SimpleTemporalFiltering::dyn__bufferTexID");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bufferTexID"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SimpleTemporalFiltering.FilterTexture
  UnityEngine::RenderTexture* GlobalNamespace::SimpleTemporalFiltering::FilterTexture(UnityEngine::RenderTexture* src) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SimpleTemporalFiltering::FilterTexture");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "FilterTexture", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(src)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::RenderTexture*, false>(this, ___internal__method, src);
  }
  // Autogenerated method: SimpleTemporalFiltering.CreateRenderTexturesIfNeeded
  void GlobalNamespace::SimpleTemporalFiltering::CreateRenderTexturesIfNeeded(int width, int height) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SimpleTemporalFiltering::CreateRenderTexturesIfNeeded");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "CreateRenderTexturesIfNeeded", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(width), ::il2cpp_utils::ExtractType(height)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, width, height);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: BloomPrePassBloomTextureEffectSO
  #include "GlobalNamespace/BloomPrePassBloomTextureEffectSO.hpp"
  // Including type: ToneMapping
  #include "GlobalNamespace/ToneMapping.hpp"
  // Including type: UnityEngine.RenderTexture
  #include "UnityEngine/RenderTexture.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private System.Single _radius
  float& GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__radius() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__radius");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_radius"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _intensity
  float& GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__intensity() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__intensity");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_intensity"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _downBloomIntensityOffset
  float& GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__downBloomIntensityOffset() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__downBloomIntensityOffset");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_downBloomIntensityOffset"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Boolean _uniformPyramidWeights
  bool& GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__uniformPyramidWeights() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__uniformPyramidWeights");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_uniformPyramidWeights"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _pyramidWeightsParam
  float& GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__pyramidWeightsParam() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__pyramidWeightsParam");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_pyramidWeightsParam"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _firstUpsampleBrightness
  float& GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__firstUpsampleBrightness() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__firstUpsampleBrightness");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_firstUpsampleBrightness"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _finalUpsampleBrightness
  float& GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__finalUpsampleBrightness() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__finalUpsampleBrightness");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_finalUpsampleBrightness"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private PyramidBloomRendererSO/Pass _prefilterPass
  GlobalNamespace::PyramidBloomRendererSO::Pass& GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__prefilterPass() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__prefilterPass");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_prefilterPass"))->offset;
    return *reinterpret_cast<GlobalNamespace::PyramidBloomRendererSO::Pass*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private PyramidBloomRendererSO/Pass _downsamplePass
  GlobalNamespace::PyramidBloomRendererSO::Pass& GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__downsamplePass() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__downsamplePass");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_downsamplePass"))->offset;
    return *reinterpret_cast<GlobalNamespace::PyramidBloomRendererSO::Pass*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private PyramidBloomRendererSO/Pass _upsamplePass
  GlobalNamespace::PyramidBloomRendererSO::Pass& GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__upsamplePass() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__upsamplePass");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_upsamplePass"))->offset;
    return *reinterpret_cast<GlobalNamespace::PyramidBloomRendererSO::Pass*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private PyramidBloomRendererSO/Pass _finalUpsamplePass
  GlobalNamespace::PyramidBloomRendererSO::Pass& GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__finalUpsamplePass() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__finalUpsamplePass");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_finalUpsamplePass"))->offset;
    return *reinterpret_cast<GlobalNamespace::PyramidBloomRendererSO::Pass*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private PyramidBloomRendererSO _bloomRenderer
  GlobalNamespace::PyramidBloomRendererSO*& GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__bloomRenderer() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassBloomTextureEffectSO::dyn__bloomRenderer");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloomRenderer"))->offset;
    return *reinterpret_cast<GlobalNamespace::PyramidBloomRendererSO**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: BloomPrePassBloomTextureEffectSO.get_toneMapping
  GlobalNamespace::ToneMapping GlobalNamespace::BloomPrePassBloomTextureEffectSO::get_toneMapping() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassBloomTextureEffectSO::get_toneMapping");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_toneMapping", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::ToneMapping, false>(this, ___internal__method);
  }
  // Autogenerated method: BloomPrePassBloomTextureEffectSO.Render
  void GlobalNamespace::BloomPrePassBloomTextureEffectSO::Render(UnityEngine::RenderTexture* src, UnityEngine::RenderTexture* dest) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassBloomTextureEffectSO::Render");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Render", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(src), ::il2cpp_utils::ExtractType(dest)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, src, dest);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: BloomPrePassDoubleKawaseBlurTextureEffectSO
  #include "GlobalNamespace/BloomPrePassDoubleKawaseBlurTextureEffectSO.hpp"
  // Including type: UnityEngine.RenderTexture
  #include "UnityEngine/RenderTexture.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private KawaseBlurRendererSO/KernelSize _bloom1KernelSize
  GlobalNamespace::KawaseBlurRendererSO::KernelSize& GlobalNamespace::BloomPrePassDoubleKawaseBlurTextureEffectSO::dyn__bloom1KernelSize() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassDoubleKawaseBlurTextureEffectSO::dyn__bloom1KernelSize");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloom1KernelSize"))->offset;
    return *reinterpret_cast<GlobalNamespace::KawaseBlurRendererSO::KernelSize*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _bloom1Boost
  float& GlobalNamespace::BloomPrePassDoubleKawaseBlurTextureEffectSO::dyn__bloom1Boost() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassDoubleKawaseBlurTextureEffectSO::dyn__bloom1Boost");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloom1Boost"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private KawaseBlurRendererSO/KernelSize _bloom2KernelSize
  GlobalNamespace::KawaseBlurRendererSO::KernelSize& GlobalNamespace::BloomPrePassDoubleKawaseBlurTextureEffectSO::dyn__bloom2KernelSize() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassDoubleKawaseBlurTextureEffectSO::dyn__bloom2KernelSize");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloom2KernelSize"))->offset;
    return *reinterpret_cast<GlobalNamespace::KawaseBlurRendererSO::KernelSize*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _bloom2Boost
  float& GlobalNamespace::BloomPrePassDoubleKawaseBlurTextureEffectSO::dyn__bloom2Boost() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassDoubleKawaseBlurTextureEffectSO::dyn__bloom2Boost");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloom2Boost"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single _bloom2Alpha
  float& GlobalNamespace::BloomPrePassDoubleKawaseBlurTextureEffectSO::dyn__bloom2Alpha() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassDoubleKawaseBlurTextureEffectSO::dyn__bloom2Alpha");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_bloom2Alpha"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 _downsample
  int& GlobalNamespace::BloomPrePassDoubleKawaseBlurTextureEffectSO::dyn__downsample() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassDoubleKawaseBlurTextureEffectSO::dyn__downsample");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_downsample"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Boolean _gammaCorrection
  bool& GlobalNamespace::BloomPrePassDoubleKawaseBlurTextureEffectSO::dyn__gammaCorrection() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassDoubleKawaseBlurTextureEffectSO::dyn__gammaCorrection");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_gammaCorrection"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private KawaseBlurRendererSO _kawaseBlurRenderer
  GlobalNamespace::KawaseBlurRendererSO*& GlobalNamespace::BloomPrePassDoubleKawaseBlurTextureEffectSO::dyn__kawaseBlurRenderer() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassDoubleKawaseBlurTextureEffectSO::dyn__kawaseBlurRenderer");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_kawaseBlurRenderer"))->offset;
    return *reinterpret_cast<GlobalNamespace::KawaseBlurRendererSO**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: BloomPrePassDoubleKawaseBlurTextureEffectSO.Render
  void GlobalNamespace::BloomPrePassDoubleKawaseBlurTextureEffectSO::Render(UnityEngine::RenderTexture* src, UnityEngine::RenderTexture* dest) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::BloomPrePassDoubleKawaseBlurTextureEffectSO::Render");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Render", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(src), ::il2cpp_utils::ExtractType(dest)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, src, dest);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: VRRenderingParamsSetup
  #include "GlobalNamespace/VRRenderingParamsSetup.hpp"
  // Including type: IVRPlatformHelper
  #include "GlobalNamespace/IVRPlatformHelper.hpp"
  // Including type: FloatSO
  #include "GlobalNamespace/FloatSO.hpp"
  // Including type: BoolSO
  #include "GlobalNamespace/BoolSO.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private FloatSO _vrResolutionScale
  GlobalNamespace::FloatSO*& GlobalNamespace::VRRenderingParamsSetup::dyn__vrResolutionScale() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VRRenderingParamsSetup::dyn__vrResolutionScale");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_vrResolutionScale"))->offset;
    return *reinterpret_cast<GlobalNamespace::FloatSO**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private FloatSO _menuVRResolutionScaleMultiplier
  GlobalNamespace::FloatSO*& GlobalNamespace::VRRenderingParamsSetup::dyn__menuVRResolutionScaleMultiplier() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VRRenderingParamsSetup::dyn__menuVRResolutionScaleMultiplier");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_menuVRResolutionScaleMultiplier"))->offset;
    return *reinterpret_cast<GlobalNamespace::FloatSO**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private BoolSO _useFixedFoveatedRenderingDuringGameplay
  GlobalNamespace::BoolSO*& GlobalNamespace::VRRenderingParamsSetup::dyn__useFixedFoveatedRenderingDuringGameplay() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VRRenderingParamsSetup::dyn__useFixedFoveatedRenderingDuringGameplay");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_useFixedFoveatedRenderingDuringGameplay"))->offset;
    return *reinterpret_cast<GlobalNamespace::BoolSO**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private VRRenderingParamsSetup/SceneType _sceneType
  GlobalNamespace::VRRenderingParamsSetup::SceneType& GlobalNamespace::VRRenderingParamsSetup::dyn__sceneType() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VRRenderingParamsSetup::dyn__sceneType");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_sceneType"))->offset;
    return *reinterpret_cast<GlobalNamespace::VRRenderingParamsSetup::SceneType*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private IVRPlatformHelper _vrPlatformHelper
  GlobalNamespace::IVRPlatformHelper*& GlobalNamespace::VRRenderingParamsSetup::dyn__vrPlatformHelper() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VRRenderingParamsSetup::dyn__vrPlatformHelper");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_vrPlatformHelper"))->offset;
    return *reinterpret_cast<GlobalNamespace::IVRPlatformHelper**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: VRRenderingParamsSetup.OnEnable
  void GlobalNamespace::VRRenderingParamsSetup::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VRRenderingParamsSetup::OnEnable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: VRRenderingParamsSetup/SceneType
  #include "GlobalNamespace/VRRenderingParamsSetup.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static public VRRenderingParamsSetup/SceneType Undefined
  GlobalNamespace::VRRenderingParamsSetup::SceneType GlobalNamespace::VRRenderingParamsSetup::SceneType::_get_Undefined() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VRRenderingParamsSetup::SceneType::_get_Undefined");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::VRRenderingParamsSetup::SceneType>("", "VRRenderingParamsSetup/SceneType", "Undefined"));
  }
  // Autogenerated static field setter
  // Set static field: static public VRRenderingParamsSetup/SceneType Undefined
  void GlobalNamespace::VRRenderingParamsSetup::SceneType::_set_Undefined(GlobalNamespace::VRRenderingParamsSetup::SceneType value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VRRenderingParamsSetup::SceneType::_set_Undefined");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "VRRenderingParamsSetup/SceneType", "Undefined", value));
  }
  // Autogenerated static field getter
  // Get static field: static public VRRenderingParamsSetup/SceneType Menu
  GlobalNamespace::VRRenderingParamsSetup::SceneType GlobalNamespace::VRRenderingParamsSetup::SceneType::_get_Menu() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VRRenderingParamsSetup::SceneType::_get_Menu");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::VRRenderingParamsSetup::SceneType>("", "VRRenderingParamsSetup/SceneType", "Menu"));
  }
  // Autogenerated static field setter
  // Set static field: static public VRRenderingParamsSetup/SceneType Menu
  void GlobalNamespace::VRRenderingParamsSetup::SceneType::_set_Menu(GlobalNamespace::VRRenderingParamsSetup::SceneType value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VRRenderingParamsSetup::SceneType::_set_Menu");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "VRRenderingParamsSetup/SceneType", "Menu", value));
  }
  // Autogenerated static field getter
  // Get static field: static public VRRenderingParamsSetup/SceneType Game
  GlobalNamespace::VRRenderingParamsSetup::SceneType GlobalNamespace::VRRenderingParamsSetup::SceneType::_get_Game() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VRRenderingParamsSetup::SceneType::_get_Game");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::VRRenderingParamsSetup::SceneType>("", "VRRenderingParamsSetup/SceneType", "Game"));
  }
  // Autogenerated static field setter
  // Set static field: static public VRRenderingParamsSetup/SceneType Game
  void GlobalNamespace::VRRenderingParamsSetup::SceneType::_set_Game(GlobalNamespace::VRRenderingParamsSetup::SceneType value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VRRenderingParamsSetup::SceneType::_set_Game");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "VRRenderingParamsSetup/SceneType", "Game", value));
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Int32 value__
  int& GlobalNamespace::VRRenderingParamsSetup::SceneType::dyn_value__() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VRRenderingParamsSetup::SceneType::dyn_value__");
    auto ___internal__instance = *this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "value__"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: VisualEffectsController
  #include "GlobalNamespace/VisualEffectsController.hpp"
  // Including type: BoolSO
  #include "GlobalNamespace/BoolSO.hpp"
  // Including type: System.String
  #include "System/String.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static private System.String kDepthTextureEnabledKeyword
  ::Il2CppString* GlobalNamespace::VisualEffectsController::_get_kDepthTextureEnabledKeyword() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VisualEffectsController::_get_kDepthTextureEnabledKeyword");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Il2CppString*>("", "VisualEffectsController", "kDepthTextureEnabledKeyword"));
  }
  // Autogenerated static field setter
  // Set static field: static private System.String kDepthTextureEnabledKeyword
  void GlobalNamespace::VisualEffectsController::_set_kDepthTextureEnabledKeyword(::Il2CppString* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VisualEffectsController::_set_kDepthTextureEnabledKeyword");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "VisualEffectsController", "kDepthTextureEnabledKeyword", value));
  }
  // Autogenerated instance field getter
  // Get instance field: private BoolSO _depthTextureEnabled
  GlobalNamespace::BoolSO*& GlobalNamespace::VisualEffectsController::dyn__depthTextureEnabled() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VisualEffectsController::dyn__depthTextureEnabled");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_depthTextureEnabled"))->offset;
    return *reinterpret_cast<GlobalNamespace::BoolSO**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: VisualEffectsController.Awake
  void GlobalNamespace::VisualEffectsController::Awake() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VisualEffectsController::Awake");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Awake", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: VisualEffectsController.OnPreRender
  void GlobalNamespace::VisualEffectsController::OnPreRender() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VisualEffectsController::OnPreRender");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnPreRender", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: VisualEffectsController.SetShaderKeyword
  void GlobalNamespace::VisualEffectsController::SetShaderKeyword(::Il2CppString* keyword, bool value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::VisualEffectsController::SetShaderKeyword");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "SetShaderKeyword", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(keyword), ::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, keyword, value);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: SteamVR
  #include "GlobalNamespace/SteamVR.hpp"
  // Including type: Valve.VR.CVRSystem
  #include "Valve/VR/CVRSystem.hpp"
  // Including type: Valve.VR.CVRCompositor
  #include "Valve/VR/CVRCompositor.hpp"
  // Including type: Valve.VR.CVROverlay
  #include "Valve/VR/CVROverlay.hpp"
  // Including type: Valve.VR.EVRInitError
  #include "Valve/VR/EVRInitError.hpp"
  // Including type: Valve.VR.ETrackedDeviceProperty
  #include "Valve/VR/ETrackedDeviceProperty.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static private System.Boolean _enabled
  bool GlobalNamespace::SteamVR::_get__enabled() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::_get__enabled");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<bool>("", "SteamVR", "_enabled"));
  }
  // Autogenerated static field setter
  // Set static field: static private System.Boolean _enabled
  void GlobalNamespace::SteamVR::_set__enabled(bool value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::_set__enabled");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR", "_enabled", value));
  }
  // Autogenerated static field getter
  // Get static field: static private SteamVR _instance
  GlobalNamespace::SteamVR* GlobalNamespace::SteamVR::_get__instance() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::_get__instance");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR*>("", "SteamVR", "_instance"));
  }
  // Autogenerated static field setter
  // Set static field: static private SteamVR _instance
  void GlobalNamespace::SteamVR::_set__instance(GlobalNamespace::SteamVR* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::_set__instance");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR", "_instance", value));
  }
  // Autogenerated static field getter
  // Get static field: static private System.Boolean <initializing>k__BackingField
  bool GlobalNamespace::SteamVR::_get_$initializing$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::_get_$initializing$k__BackingField");
    return THROW_UNLESS((il2cpp_utils::GetFieldValue<bool>("", "SteamVR", "<initializing>k__BackingField")));
  }
  // Autogenerated static field setter
  // Set static field: static private System.Boolean <initializing>k__BackingField
  void GlobalNamespace::SteamVR::_set_$initializing$k__BackingField(bool value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::_set_$initializing$k__BackingField");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR", "<initializing>k__BackingField", value));
  }
  // Autogenerated static field getter
  // Get static field: static private System.Boolean <calibrating>k__BackingField
  bool GlobalNamespace::SteamVR::_get_$calibrating$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::_get_$calibrating$k__BackingField");
    return THROW_UNLESS((il2cpp_utils::GetFieldValue<bool>("", "SteamVR", "<calibrating>k__BackingField")));
  }
  // Autogenerated static field setter
  // Set static field: static private System.Boolean <calibrating>k__BackingField
  void GlobalNamespace::SteamVR::_set_$calibrating$k__BackingField(bool value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::_set_$calibrating$k__BackingField");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR", "<calibrating>k__BackingField", value));
  }
  // Autogenerated static field getter
  // Get static field: static private System.Boolean <outOfRange>k__BackingField
  bool GlobalNamespace::SteamVR::_get_$outOfRange$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::_get_$outOfRange$k__BackingField");
    return THROW_UNLESS((il2cpp_utils::GetFieldValue<bool>("", "SteamVR", "<outOfRange>k__BackingField")));
  }
  // Autogenerated static field setter
  // Set static field: static private System.Boolean <outOfRange>k__BackingField
  void GlobalNamespace::SteamVR::_set_$outOfRange$k__BackingField(bool value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::_set_$outOfRange$k__BackingField");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR", "<outOfRange>k__BackingField", value));
  }
  // Autogenerated static field getter
  // Get static field: static public System.Boolean[] connected
  ::ArrayW<bool> GlobalNamespace::SteamVR::_get_connected() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::_get_connected");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<::ArrayW<bool>>("", "SteamVR", "connected"));
  }
  // Autogenerated static field setter
  // Set static field: static public System.Boolean[] connected
  void GlobalNamespace::SteamVR::_set_connected(::ArrayW<bool> value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::_set_connected");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR", "connected", value));
  }
  // Autogenerated instance field getter
  // Get instance field: private Valve.VR.CVRSystem <hmd>k__BackingField
  Valve::VR::CVRSystem*& GlobalNamespace::SteamVR::dyn_$hmd$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::dyn_$hmd$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<hmd>k__BackingField"))->offset;
    return *reinterpret_cast<Valve::VR::CVRSystem**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private Valve.VR.CVRCompositor <compositor>k__BackingField
  Valve::VR::CVRCompositor*& GlobalNamespace::SteamVR::dyn_$compositor$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::dyn_$compositor$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<compositor>k__BackingField"))->offset;
    return *reinterpret_cast<Valve::VR::CVRCompositor**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private Valve.VR.CVROverlay <overlay>k__BackingField
  Valve::VR::CVROverlay*& GlobalNamespace::SteamVR::dyn_$overlay$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::dyn_$overlay$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<overlay>k__BackingField"))->offset;
    return *reinterpret_cast<Valve::VR::CVROverlay**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single <sceneWidth>k__BackingField
  float& GlobalNamespace::SteamVR::dyn_$sceneWidth$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::dyn_$sceneWidth$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<sceneWidth>k__BackingField"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single <sceneHeight>k__BackingField
  float& GlobalNamespace::SteamVR::dyn_$sceneHeight$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::dyn_$sceneHeight$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<sceneHeight>k__BackingField"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single <aspect>k__BackingField
  float& GlobalNamespace::SteamVR::dyn_$aspect$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::dyn_$aspect$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<aspect>k__BackingField"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single <fieldOfView>k__BackingField
  float& GlobalNamespace::SteamVR::dyn_$fieldOfView$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::dyn_$fieldOfView$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<fieldOfView>k__BackingField"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Vector2 <tanHalfFov>k__BackingField
  UnityEngine::Vector2& GlobalNamespace::SteamVR::dyn_$tanHalfFov$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::dyn_$tanHalfFov$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<tanHalfFov>k__BackingField"))->offset;
    return *reinterpret_cast<UnityEngine::Vector2*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private Valve.VR.VRTextureBounds_t[] <textureBounds>k__BackingField
  ::ArrayW<Valve::VR::VRTextureBounds_t>& GlobalNamespace::SteamVR::dyn_$textureBounds$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::dyn_$textureBounds$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<textureBounds>k__BackingField"))->offset;
    return *reinterpret_cast<::ArrayW<Valve::VR::VRTextureBounds_t>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private SteamVR_Utils/RigidTransform[] <eyes>k__BackingField
  ::ArrayW<GlobalNamespace::SteamVR_Utils::RigidTransform>& GlobalNamespace::SteamVR::dyn_$eyes$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::dyn_$eyes$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<eyes>k__BackingField"))->offset;
    return *reinterpret_cast<::ArrayW<GlobalNamespace::SteamVR_Utils::RigidTransform>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public Valve.VR.ETextureType textureType
  Valve::VR::ETextureType& GlobalNamespace::SteamVR::dyn_textureType() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::dyn_textureType");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "textureType"))->offset;
    return *reinterpret_cast<Valve::VR::ETextureType*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR.get_active
  bool GlobalNamespace::SteamVR::get_active() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_active");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR", "get_active", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR.get_enabled
  bool GlobalNamespace::SteamVR::get_enabled() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_enabled");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR", "get_enabled", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR.set_enabled
  void GlobalNamespace::SteamVR::set_enabled(bool value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::set_enabled");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR", "set_enabled", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, value);
  }
  // Autogenerated method: SteamVR.get_instance
  GlobalNamespace::SteamVR* GlobalNamespace::SteamVR::get_instance() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_instance");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR", "get_instance", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR.get_usingNativeSupport
  bool GlobalNamespace::SteamVR::get_usingNativeSupport() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_usingNativeSupport");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR", "get_usingNativeSupport", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR.get_hmd
  Valve::VR::CVRSystem* GlobalNamespace::SteamVR::get_hmd() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_hmd");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_hmd", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::CVRSystem*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR.set_hmd
  void GlobalNamespace::SteamVR::set_hmd(Valve::VR::CVRSystem* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::set_hmd");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_hmd", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR.get_compositor
  Valve::VR::CVRCompositor* GlobalNamespace::SteamVR::get_compositor() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_compositor");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_compositor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::CVRCompositor*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR.set_compositor
  void GlobalNamespace::SteamVR::set_compositor(Valve::VR::CVRCompositor* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::set_compositor");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_compositor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR.get_overlay
  Valve::VR::CVROverlay* GlobalNamespace::SteamVR::get_overlay() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_overlay");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_overlay", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::CVROverlay*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR.set_overlay
  void GlobalNamespace::SteamVR::set_overlay(Valve::VR::CVROverlay* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::set_overlay");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_overlay", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR.get_initializing
  bool GlobalNamespace::SteamVR::get_initializing() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_initializing");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR", "get_initializing", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR.set_initializing
  void GlobalNamespace::SteamVR::set_initializing(bool value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::set_initializing");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR", "set_initializing", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, value);
  }
  // Autogenerated method: SteamVR.get_calibrating
  bool GlobalNamespace::SteamVR::get_calibrating() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_calibrating");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR", "get_calibrating", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR.set_calibrating
  void GlobalNamespace::SteamVR::set_calibrating(bool value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::set_calibrating");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR", "set_calibrating", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, value);
  }
  // Autogenerated method: SteamVR.get_outOfRange
  bool GlobalNamespace::SteamVR::get_outOfRange() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_outOfRange");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR", "get_outOfRange", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR.set_outOfRange
  void GlobalNamespace::SteamVR::set_outOfRange(bool value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::set_outOfRange");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR", "set_outOfRange", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, value);
  }
  // Autogenerated method: SteamVR.get_sceneWidth
  float GlobalNamespace::SteamVR::get_sceneWidth() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_sceneWidth");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_sceneWidth", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<float, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR.set_sceneWidth
  void GlobalNamespace::SteamVR::set_sceneWidth(float value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::set_sceneWidth");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_sceneWidth", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR.get_sceneHeight
  float GlobalNamespace::SteamVR::get_sceneHeight() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_sceneHeight");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_sceneHeight", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<float, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR.set_sceneHeight
  void GlobalNamespace::SteamVR::set_sceneHeight(float value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::set_sceneHeight");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_sceneHeight", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR.get_aspect
  float GlobalNamespace::SteamVR::get_aspect() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_aspect");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_aspect", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<float, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR.set_aspect
  void GlobalNamespace::SteamVR::set_aspect(float value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::set_aspect");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_aspect", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR.get_fieldOfView
  float GlobalNamespace::SteamVR::get_fieldOfView() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_fieldOfView");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_fieldOfView", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<float, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR.set_fieldOfView
  void GlobalNamespace::SteamVR::set_fieldOfView(float value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::set_fieldOfView");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_fieldOfView", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR.get_tanHalfFov
  UnityEngine::Vector2 GlobalNamespace::SteamVR::get_tanHalfFov() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_tanHalfFov");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_tanHalfFov", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Vector2, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR.set_tanHalfFov
  void GlobalNamespace::SteamVR::set_tanHalfFov(UnityEngine::Vector2 value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::set_tanHalfFov");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_tanHalfFov", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR.get_textureBounds
  ::ArrayW<Valve::VR::VRTextureBounds_t> GlobalNamespace::SteamVR::get_textureBounds() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_textureBounds");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_textureBounds", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::ArrayW<Valve::VR::VRTextureBounds_t>, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR.set_textureBounds
  void GlobalNamespace::SteamVR::set_textureBounds(::ArrayW<Valve::VR::VRTextureBounds_t> value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::set_textureBounds");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_textureBounds", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR.get_eyes
  ::ArrayW<GlobalNamespace::SteamVR_Utils::RigidTransform> GlobalNamespace::SteamVR::get_eyes() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_eyes");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_eyes", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::ArrayW<GlobalNamespace::SteamVR_Utils::RigidTransform>, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR.set_eyes
  void GlobalNamespace::SteamVR::set_eyes(::ArrayW<GlobalNamespace::SteamVR_Utils::RigidTransform> value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::set_eyes");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_eyes", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR.get_hmd_TrackingSystemName
  ::Il2CppString* GlobalNamespace::SteamVR::get_hmd_TrackingSystemName() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_hmd_TrackingSystemName");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_hmd_TrackingSystemName", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppString*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR.get_hmd_ModelNumber
  ::Il2CppString* GlobalNamespace::SteamVR::get_hmd_ModelNumber() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_hmd_ModelNumber");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_hmd_ModelNumber", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppString*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR.get_hmd_SerialNumber
  ::Il2CppString* GlobalNamespace::SteamVR::get_hmd_SerialNumber() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_hmd_SerialNumber");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_hmd_SerialNumber", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppString*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR.get_hmd_SecondsFromVsyncToPhotons
  float GlobalNamespace::SteamVR::get_hmd_SecondsFromVsyncToPhotons() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_hmd_SecondsFromVsyncToPhotons");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_hmd_SecondsFromVsyncToPhotons", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<float, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR.get_hmd_DisplayFrequency
  float GlobalNamespace::SteamVR::get_hmd_DisplayFrequency() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::get_hmd_DisplayFrequency");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_hmd_DisplayFrequency", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<float, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR..cctor
  void GlobalNamespace::SteamVR::_cctor() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::.cctor");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR", ".cctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR.CreateInstance
  GlobalNamespace::SteamVR* GlobalNamespace::SteamVR::CreateInstance() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::CreateInstance");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR", "CreateInstance", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR.ReportError
  void GlobalNamespace::SteamVR::ReportError(Valve::VR::EVRInitError error) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::ReportError");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR", "ReportError", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(error)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, error);
  }
  // Autogenerated method: SteamVR.GetTrackedDeviceString
  ::Il2CppString* GlobalNamespace::SteamVR::GetTrackedDeviceString(uint deviceId) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::GetTrackedDeviceString");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetTrackedDeviceString", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(deviceId)})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppString*, false>(this, ___internal__method, deviceId);
  }
  // Autogenerated method: SteamVR.GetStringProperty
  ::Il2CppString* GlobalNamespace::SteamVR::GetStringProperty(Valve::VR::ETrackedDeviceProperty prop, uint deviceId) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::GetStringProperty");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetStringProperty", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(prop), ::il2cpp_utils::ExtractType(deviceId)})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppString*, false>(this, ___internal__method, prop, deviceId);
  }
  // Autogenerated method: SteamVR.GetFloatProperty
  float GlobalNamespace::SteamVR::GetFloatProperty(Valve::VR::ETrackedDeviceProperty prop, uint deviceId) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::GetFloatProperty");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetFloatProperty", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(prop), ::il2cpp_utils::ExtractType(deviceId)})));
    return ::il2cpp_utils::RunMethodThrow<float, false>(this, ___internal__method, prop, deviceId);
  }
  // Autogenerated method: SteamVR.OnInitializing
  void GlobalNamespace::SteamVR::OnInitializing(bool initializing) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::OnInitializing");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnInitializing", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(initializing)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, initializing);
  }
  // Autogenerated method: SteamVR.OnCalibrating
  void GlobalNamespace::SteamVR::OnCalibrating(bool calibrating) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::OnCalibrating");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnCalibrating", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(calibrating)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, calibrating);
  }
  // Autogenerated method: SteamVR.OnOutOfRange
  void GlobalNamespace::SteamVR::OnOutOfRange(bool outOfRange) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::OnOutOfRange");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnOutOfRange", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(outOfRange)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, outOfRange);
  }
  // Autogenerated method: SteamVR.OnDeviceConnected
  void GlobalNamespace::SteamVR::OnDeviceConnected(int i, bool connected) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::OnDeviceConnected");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDeviceConnected", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(i), ::il2cpp_utils::ExtractType(connected)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, i, connected);
  }
  // Autogenerated method: SteamVR.OnNewPoses
  void GlobalNamespace::SteamVR::OnNewPoses(::ArrayW<Valve::VR::TrackedDevicePose_t> poses) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::OnNewPoses");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnNewPoses", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(poses)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, poses);
  }
  // Autogenerated method: SteamVR.Dispose
  void GlobalNamespace::SteamVR::Dispose() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::Dispose");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Dispose", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR.Dispose
  void GlobalNamespace::SteamVR::Dispose(bool disposing) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::Dispose");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Dispose", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(disposing)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, disposing);
  }
  // Autogenerated method: SteamVR.SafeDispose
  void GlobalNamespace::SteamVR::SafeDispose() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::SafeDispose");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR", "SafeDispose", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR.Finalize
  void GlobalNamespace::SteamVR::Finalize() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR::Finalize");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Finalize", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: SteamVR_Camera
  #include "GlobalNamespace/SteamVR_Camera.hpp"
  // Including type: UnityEngine.Transform
  #include "UnityEngine/Transform.hpp"
  // Including type: UnityEngine.Camera
  #include "UnityEngine/Camera.hpp"
  // Including type: System.Collections.Hashtable
  #include "System/Collections/Hashtable.hpp"
  // Including type: System.String
  #include "System/String.hpp"
  // Including type: UnityEngine.Ray
  #include "UnityEngine/Ray.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static private System.Collections.Hashtable values
  System::Collections::Hashtable* GlobalNamespace::SteamVR_Camera::_get_values() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::_get_values");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<System::Collections::Hashtable*>("", "SteamVR_Camera", "values"));
  }
  // Autogenerated static field setter
  // Set static field: static private System.Collections.Hashtable values
  void GlobalNamespace::SteamVR_Camera::_set_values(System::Collections::Hashtable* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::_set_values");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Camera", "values", value));
  }
  // Autogenerated static field getter
  // Get static field: static private System.String eyeSuffix
  ::Il2CppString* GlobalNamespace::SteamVR_Camera::_get_eyeSuffix() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::_get_eyeSuffix");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Il2CppString*>("", "SteamVR_Camera", "eyeSuffix"));
  }
  // Autogenerated static field setter
  // Set static field: static private System.String eyeSuffix
  void GlobalNamespace::SteamVR_Camera::_set_eyeSuffix(::Il2CppString* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::_set_eyeSuffix");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Camera", "eyeSuffix", value));
  }
  // Autogenerated static field getter
  // Get static field: static private System.String earsSuffix
  ::Il2CppString* GlobalNamespace::SteamVR_Camera::_get_earsSuffix() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::_get_earsSuffix");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Il2CppString*>("", "SteamVR_Camera", "earsSuffix"));
  }
  // Autogenerated static field setter
  // Set static field: static private System.String earsSuffix
  void GlobalNamespace::SteamVR_Camera::_set_earsSuffix(::Il2CppString* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::_set_earsSuffix");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Camera", "earsSuffix", value));
  }
  // Autogenerated static field getter
  // Get static field: static private System.String headSuffix
  ::Il2CppString* GlobalNamespace::SteamVR_Camera::_get_headSuffix() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::_get_headSuffix");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Il2CppString*>("", "SteamVR_Camera", "headSuffix"));
  }
  // Autogenerated static field setter
  // Set static field: static private System.String headSuffix
  void GlobalNamespace::SteamVR_Camera::_set_headSuffix(::Il2CppString* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::_set_headSuffix");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Camera", "headSuffix", value));
  }
  // Autogenerated static field getter
  // Get static field: static private System.String originSuffix
  ::Il2CppString* GlobalNamespace::SteamVR_Camera::_get_originSuffix() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::_get_originSuffix");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Il2CppString*>("", "SteamVR_Camera", "originSuffix"));
  }
  // Autogenerated static field setter
  // Set static field: static private System.String originSuffix
  void GlobalNamespace::SteamVR_Camera::_set_originSuffix(::Il2CppString* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::_set_originSuffix");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Camera", "originSuffix", value));
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Transform _head
  UnityEngine::Transform*& GlobalNamespace::SteamVR_Camera::dyn__head() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::dyn__head");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_head"))->offset;
    return *reinterpret_cast<UnityEngine::Transform**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Camera <camera>k__BackingField
  UnityEngine::Camera*& GlobalNamespace::SteamVR_Camera::dyn_$camera$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::dyn_$camera$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<camera>k__BackingField"))->offset;
    return *reinterpret_cast<UnityEngine::Camera**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Transform _ears
  UnityEngine::Transform*& GlobalNamespace::SteamVR_Camera::dyn__ears() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::dyn__ears");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_ears"))->offset;
    return *reinterpret_cast<UnityEngine::Transform**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Boolean wireframe
  bool& GlobalNamespace::SteamVR_Camera::dyn_wireframe() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::dyn_wireframe");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "wireframe"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_Camera.get_head
  UnityEngine::Transform* GlobalNamespace::SteamVR_Camera::get_head() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::get_head");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_head", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Transform*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Camera.get_offset
  UnityEngine::Transform* GlobalNamespace::SteamVR_Camera::get_offset() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::get_offset");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_offset", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Transform*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Camera.get_origin
  UnityEngine::Transform* GlobalNamespace::SteamVR_Camera::get_origin() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::get_origin");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_origin", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Transform*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Camera.get_camera
  UnityEngine::Camera* GlobalNamespace::SteamVR_Camera::get_camera() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::get_camera");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_camera", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Camera*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Camera.set_camera
  void GlobalNamespace::SteamVR_Camera::set_camera(UnityEngine::Camera* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::set_camera");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_camera", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR_Camera.get_ears
  UnityEngine::Transform* GlobalNamespace::SteamVR_Camera::get_ears() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::get_ears");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_ears", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Transform*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Camera.get_sceneResolutionScale
  float GlobalNamespace::SteamVR_Camera::get_sceneResolutionScale() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::get_sceneResolutionScale");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Camera", "get_sceneResolutionScale", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<float, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR_Camera.set_sceneResolutionScale
  void GlobalNamespace::SteamVR_Camera::set_sceneResolutionScale(float value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::set_sceneResolutionScale");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Camera", "set_sceneResolutionScale", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, value);
  }
  // Autogenerated method: SteamVR_Camera.get_baseName
  ::Il2CppString* GlobalNamespace::SteamVR_Camera::get_baseName() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::get_baseName");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_baseName", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppString*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Camera.GetRay
  UnityEngine::Ray GlobalNamespace::SteamVR_Camera::GetRay() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::GetRay");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetRay", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Ray, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Camera.OnDisable
  void GlobalNamespace::SteamVR_Camera::OnDisable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::OnDisable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDisable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Camera.OnEnable
  void GlobalNamespace::SteamVR_Camera::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::OnEnable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Camera.Awake
  void GlobalNamespace::SteamVR_Camera::Awake() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::Awake");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Awake", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Camera.ForceLast
  void GlobalNamespace::SteamVR_Camera::ForceLast() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::ForceLast");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "ForceLast", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Camera.Expand
  void GlobalNamespace::SteamVR_Camera::Expand() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::Expand");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Expand", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Camera.Collapse
  void GlobalNamespace::SteamVR_Camera::Collapse() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Camera::Collapse");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Collapse", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_CameraFlip
  #include "GlobalNamespace/SteamVR_CameraFlip.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: SteamVR_CameraFlip.Awake
  void GlobalNamespace::SteamVR_CameraFlip::Awake() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_CameraFlip::Awake");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Awake", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_CameraMask
  #include "GlobalNamespace/SteamVR_CameraMask.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: SteamVR_CameraMask.Awake
  void GlobalNamespace::SteamVR_CameraMask::Awake() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_CameraMask::Awake");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Awake", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_Controller
  #include "GlobalNamespace/SteamVR_Controller.hpp"
  // Including type: SteamVR_Controller/ButtonMask
  #include "GlobalNamespace/SteamVR_Controller_ButtonMask.hpp"
  // Including type: SteamVR_Controller/Device
  #include "GlobalNamespace/SteamVR_Controller_Device.hpp"
  // Including type: SteamVR_Controller/DeviceRelation
  #include "GlobalNamespace/SteamVR_Controller_DeviceRelation.hpp"
  // Including type: Valve.VR.ETrackedDeviceClass
  #include "Valve/VR/ETrackedDeviceClass.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static private SteamVR_Controller/Device[] devices
  ::ArrayW<GlobalNamespace::SteamVR_Controller::Device*> GlobalNamespace::SteamVR_Controller::_get_devices() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::_get_devices");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<::ArrayW<GlobalNamespace::SteamVR_Controller::Device*>>("", "SteamVR_Controller", "devices"));
  }
  // Autogenerated static field setter
  // Set static field: static private SteamVR_Controller/Device[] devices
  void GlobalNamespace::SteamVR_Controller::_set_devices(::ArrayW<GlobalNamespace::SteamVR_Controller::Device*> value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::_set_devices");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Controller", "devices", value));
  }
  // Autogenerated method: SteamVR_Controller.Input
  GlobalNamespace::SteamVR_Controller::Device* GlobalNamespace::SteamVR_Controller::Input(int deviceIndex) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Input");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Controller", "Input", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(deviceIndex)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Controller::Device*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, deviceIndex);
  }
  // Autogenerated method: SteamVR_Controller.Update
  void GlobalNamespace::SteamVR_Controller::Update() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Update");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Controller", "Update", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR_Controller.GetDeviceIndex
  int GlobalNamespace::SteamVR_Controller::GetDeviceIndex(GlobalNamespace::SteamVR_Controller::DeviceRelation relation, Valve::VR::ETrackedDeviceClass deviceClass, int relativeTo) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::GetDeviceIndex");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Controller", "GetDeviceIndex", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(relation), ::il2cpp_utils::ExtractType(deviceClass), ::il2cpp_utils::ExtractType(relativeTo)})));
    return ::il2cpp_utils::RunMethodThrow<int, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, relation, deviceClass, relativeTo);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_Controller/ButtonMask
  #include "GlobalNamespace/SteamVR_Controller_ButtonMask.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static public System.UInt64 System
  uint64_t GlobalNamespace::SteamVR_Controller::ButtonMask::_get_System() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_get_System");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<uint64_t>("", "SteamVR_Controller/ButtonMask", "System"));
  }
  // Autogenerated static field setter
  // Set static field: static public System.UInt64 System
  void GlobalNamespace::SteamVR_Controller::ButtonMask::_set_System(uint64_t value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_set_System");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Controller/ButtonMask", "System", value));
  }
  // Autogenerated static field getter
  // Get static field: static public System.UInt64 ApplicationMenu
  uint64_t GlobalNamespace::SteamVR_Controller::ButtonMask::_get_ApplicationMenu() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_get_ApplicationMenu");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<uint64_t>("", "SteamVR_Controller/ButtonMask", "ApplicationMenu"));
  }
  // Autogenerated static field setter
  // Set static field: static public System.UInt64 ApplicationMenu
  void GlobalNamespace::SteamVR_Controller::ButtonMask::_set_ApplicationMenu(uint64_t value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_set_ApplicationMenu");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Controller/ButtonMask", "ApplicationMenu", value));
  }
  // Autogenerated static field getter
  // Get static field: static public System.UInt64 Grip
  uint64_t GlobalNamespace::SteamVR_Controller::ButtonMask::_get_Grip() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_get_Grip");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<uint64_t>("", "SteamVR_Controller/ButtonMask", "Grip"));
  }
  // Autogenerated static field setter
  // Set static field: static public System.UInt64 Grip
  void GlobalNamespace::SteamVR_Controller::ButtonMask::_set_Grip(uint64_t value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_set_Grip");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Controller/ButtonMask", "Grip", value));
  }
  // Autogenerated static field getter
  // Get static field: static public System.UInt64 Axis0
  uint64_t GlobalNamespace::SteamVR_Controller::ButtonMask::_get_Axis0() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_get_Axis0");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<uint64_t>("", "SteamVR_Controller/ButtonMask", "Axis0"));
  }
  // Autogenerated static field setter
  // Set static field: static public System.UInt64 Axis0
  void GlobalNamespace::SteamVR_Controller::ButtonMask::_set_Axis0(uint64_t value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_set_Axis0");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Controller/ButtonMask", "Axis0", value));
  }
  // Autogenerated static field getter
  // Get static field: static public System.UInt64 Axis1
  uint64_t GlobalNamespace::SteamVR_Controller::ButtonMask::_get_Axis1() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_get_Axis1");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<uint64_t>("", "SteamVR_Controller/ButtonMask", "Axis1"));
  }
  // Autogenerated static field setter
  // Set static field: static public System.UInt64 Axis1
  void GlobalNamespace::SteamVR_Controller::ButtonMask::_set_Axis1(uint64_t value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_set_Axis1");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Controller/ButtonMask", "Axis1", value));
  }
  // Autogenerated static field getter
  // Get static field: static public System.UInt64 Axis2
  uint64_t GlobalNamespace::SteamVR_Controller::ButtonMask::_get_Axis2() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_get_Axis2");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<uint64_t>("", "SteamVR_Controller/ButtonMask", "Axis2"));
  }
  // Autogenerated static field setter
  // Set static field: static public System.UInt64 Axis2
  void GlobalNamespace::SteamVR_Controller::ButtonMask::_set_Axis2(uint64_t value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_set_Axis2");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Controller/ButtonMask", "Axis2", value));
  }
  // Autogenerated static field getter
  // Get static field: static public System.UInt64 Axis3
  uint64_t GlobalNamespace::SteamVR_Controller::ButtonMask::_get_Axis3() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_get_Axis3");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<uint64_t>("", "SteamVR_Controller/ButtonMask", "Axis3"));
  }
  // Autogenerated static field setter
  // Set static field: static public System.UInt64 Axis3
  void GlobalNamespace::SteamVR_Controller::ButtonMask::_set_Axis3(uint64_t value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_set_Axis3");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Controller/ButtonMask", "Axis3", value));
  }
  // Autogenerated static field getter
  // Get static field: static public System.UInt64 Axis4
  uint64_t GlobalNamespace::SteamVR_Controller::ButtonMask::_get_Axis4() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_get_Axis4");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<uint64_t>("", "SteamVR_Controller/ButtonMask", "Axis4"));
  }
  // Autogenerated static field setter
  // Set static field: static public System.UInt64 Axis4
  void GlobalNamespace::SteamVR_Controller::ButtonMask::_set_Axis4(uint64_t value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_set_Axis4");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Controller/ButtonMask", "Axis4", value));
  }
  // Autogenerated static field getter
  // Get static field: static public System.UInt64 Touchpad
  uint64_t GlobalNamespace::SteamVR_Controller::ButtonMask::_get_Touchpad() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_get_Touchpad");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<uint64_t>("", "SteamVR_Controller/ButtonMask", "Touchpad"));
  }
  // Autogenerated static field setter
  // Set static field: static public System.UInt64 Touchpad
  void GlobalNamespace::SteamVR_Controller::ButtonMask::_set_Touchpad(uint64_t value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_set_Touchpad");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Controller/ButtonMask", "Touchpad", value));
  }
  // Autogenerated static field getter
  // Get static field: static public System.UInt64 Trigger
  uint64_t GlobalNamespace::SteamVR_Controller::ButtonMask::_get_Trigger() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_get_Trigger");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<uint64_t>("", "SteamVR_Controller/ButtonMask", "Trigger"));
  }
  // Autogenerated static field setter
  // Set static field: static public System.UInt64 Trigger
  void GlobalNamespace::SteamVR_Controller::ButtonMask::_set_Trigger(uint64_t value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::ButtonMask::_set_Trigger");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Controller/ButtonMask", "Trigger", value));
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_Controller/Device
  #include "GlobalNamespace/SteamVR_Controller_Device.hpp"
  // Including type: UnityEngine.Vector3
  #include "UnityEngine/Vector3.hpp"
  // Including type: Valve.VR.EVRButtonId
  #include "Valve/VR/EVRButtonId.hpp"
  // Including type: UnityEngine.Vector2
  #include "UnityEngine/Vector2.hpp"
  // Including type: SteamVR_Utils/RigidTransform
  #include "GlobalNamespace/SteamVR_Utils_RigidTransform.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private System.UInt32 <index>k__BackingField
  uint& GlobalNamespace::SteamVR_Controller::Device::dyn_$index$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::dyn_$index$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<index>k__BackingField"))->offset;
    return *reinterpret_cast<uint*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Boolean <valid>k__BackingField
  bool& GlobalNamespace::SteamVR_Controller::Device::dyn_$valid$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::dyn_$valid$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<valid>k__BackingField"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private Valve.VR.VRControllerState_t state
  Valve::VR::VRControllerState_t& GlobalNamespace::SteamVR_Controller::Device::dyn_state() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::dyn_state");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "state"))->offset;
    return *reinterpret_cast<Valve::VR::VRControllerState_t*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private Valve.VR.VRControllerState_t prevState
  Valve::VR::VRControllerState_t& GlobalNamespace::SteamVR_Controller::Device::dyn_prevState() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::dyn_prevState");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "prevState"))->offset;
    return *reinterpret_cast<Valve::VR::VRControllerState_t*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private Valve.VR.TrackedDevicePose_t pose
  Valve::VR::TrackedDevicePose_t& GlobalNamespace::SteamVR_Controller::Device::dyn_pose() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::dyn_pose");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "pose"))->offset;
    return *reinterpret_cast<Valve::VR::TrackedDevicePose_t*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 prevFrameCount
  int& GlobalNamespace::SteamVR_Controller::Device::dyn_prevFrameCount() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::dyn_prevFrameCount");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "prevFrameCount"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single hairTriggerDelta
  float& GlobalNamespace::SteamVR_Controller::Device::dyn_hairTriggerDelta() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::dyn_hairTriggerDelta");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "hairTriggerDelta"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single hairTriggerLimit
  float& GlobalNamespace::SteamVR_Controller::Device::dyn_hairTriggerLimit() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::dyn_hairTriggerLimit");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "hairTriggerLimit"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Boolean hairTriggerState
  bool& GlobalNamespace::SteamVR_Controller::Device::dyn_hairTriggerState() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::dyn_hairTriggerState");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "hairTriggerState"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Boolean hairTriggerPrevState
  bool& GlobalNamespace::SteamVR_Controller::Device::dyn_hairTriggerPrevState() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::dyn_hairTriggerPrevState");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "hairTriggerPrevState"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_Controller/Device.get_index
  uint GlobalNamespace::SteamVR_Controller::Device::get_index() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::get_index");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_index", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<uint, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Controller/Device.set_index
  void GlobalNamespace::SteamVR_Controller::Device::set_index(uint value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::set_index");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_index", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR_Controller/Device.get_valid
  bool GlobalNamespace::SteamVR_Controller::Device::get_valid() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::get_valid");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_valid", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Controller/Device.set_valid
  void GlobalNamespace::SteamVR_Controller::Device::set_valid(bool value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::set_valid");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_valid", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR_Controller/Device.get_connected
  bool GlobalNamespace::SteamVR_Controller::Device::get_connected() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::get_connected");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_connected", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Controller/Device.get_hasTracking
  bool GlobalNamespace::SteamVR_Controller::Device::get_hasTracking() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::get_hasTracking");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_hasTracking", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Controller/Device.get_outOfRange
  bool GlobalNamespace::SteamVR_Controller::Device::get_outOfRange() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::get_outOfRange");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_outOfRange", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Controller/Device.get_calibrating
  bool GlobalNamespace::SteamVR_Controller::Device::get_calibrating() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::get_calibrating");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_calibrating", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Controller/Device.get_uninitialized
  bool GlobalNamespace::SteamVR_Controller::Device::get_uninitialized() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::get_uninitialized");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_uninitialized", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Controller/Device.get_transform
  GlobalNamespace::SteamVR_Utils::RigidTransform GlobalNamespace::SteamVR_Controller::Device::get_transform() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::get_transform");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_transform", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Utils::RigidTransform, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Controller/Device.get_velocity
  UnityEngine::Vector3 GlobalNamespace::SteamVR_Controller::Device::get_velocity() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::get_velocity");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_velocity", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Vector3, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Controller/Device.get_angularVelocity
  UnityEngine::Vector3 GlobalNamespace::SteamVR_Controller::Device::get_angularVelocity() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::get_angularVelocity");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_angularVelocity", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Vector3, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetState
  Valve::VR::VRControllerState_t GlobalNamespace::SteamVR_Controller::Device::GetState() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetState");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetState", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::VRControllerState_t, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetPrevState
  Valve::VR::VRControllerState_t GlobalNamespace::SteamVR_Controller::Device::GetPrevState() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetPrevState");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetPrevState", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::VRControllerState_t, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetPose
  Valve::VR::TrackedDevicePose_t GlobalNamespace::SteamVR_Controller::Device::GetPose() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetPose");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetPose", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::TrackedDevicePose_t, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Controller/Device.Update
  void GlobalNamespace::SteamVR_Controller::Device::Update() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::Update");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Update", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetPress
  bool GlobalNamespace::SteamVR_Controller::Device::GetPress(uint64_t buttonMask) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetPress");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetPress", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buttonMask)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, buttonMask);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetPressDown
  bool GlobalNamespace::SteamVR_Controller::Device::GetPressDown(uint64_t buttonMask) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetPressDown");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetPressDown", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buttonMask)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, buttonMask);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetPressUp
  bool GlobalNamespace::SteamVR_Controller::Device::GetPressUp(uint64_t buttonMask) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetPressUp");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetPressUp", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buttonMask)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, buttonMask);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetPress
  bool GlobalNamespace::SteamVR_Controller::Device::GetPress(Valve::VR::EVRButtonId buttonId) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetPress");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetPress", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buttonId)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, buttonId);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetPressDown
  bool GlobalNamespace::SteamVR_Controller::Device::GetPressDown(Valve::VR::EVRButtonId buttonId) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetPressDown");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetPressDown", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buttonId)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, buttonId);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetPressUp
  bool GlobalNamespace::SteamVR_Controller::Device::GetPressUp(Valve::VR::EVRButtonId buttonId) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetPressUp");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetPressUp", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buttonId)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, buttonId);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetTouch
  bool GlobalNamespace::SteamVR_Controller::Device::GetTouch(uint64_t buttonMask) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetTouch");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetTouch", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buttonMask)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, buttonMask);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetTouchDown
  bool GlobalNamespace::SteamVR_Controller::Device::GetTouchDown(uint64_t buttonMask) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetTouchDown");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetTouchDown", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buttonMask)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, buttonMask);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetTouchUp
  bool GlobalNamespace::SteamVR_Controller::Device::GetTouchUp(uint64_t buttonMask) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetTouchUp");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetTouchUp", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buttonMask)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, buttonMask);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetTouch
  bool GlobalNamespace::SteamVR_Controller::Device::GetTouch(Valve::VR::EVRButtonId buttonId) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetTouch");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetTouch", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buttonId)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, buttonId);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetTouchDown
  bool GlobalNamespace::SteamVR_Controller::Device::GetTouchDown(Valve::VR::EVRButtonId buttonId) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetTouchDown");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetTouchDown", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buttonId)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, buttonId);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetTouchUp
  bool GlobalNamespace::SteamVR_Controller::Device::GetTouchUp(Valve::VR::EVRButtonId buttonId) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetTouchUp");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetTouchUp", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buttonId)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, buttonId);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetAxis
  UnityEngine::Vector2 GlobalNamespace::SteamVR_Controller::Device::GetAxis(Valve::VR::EVRButtonId buttonId) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetAxis");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetAxis", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buttonId)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Vector2, false>(this, ___internal__method, buttonId);
  }
  // Autogenerated method: SteamVR_Controller/Device.TriggerHapticPulse
  void GlobalNamespace::SteamVR_Controller::Device::TriggerHapticPulse(uint16_t durationMicroSec, Valve::VR::EVRButtonId buttonId) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::TriggerHapticPulse");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "TriggerHapticPulse", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(durationMicroSec), ::il2cpp_utils::ExtractType(buttonId)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, durationMicroSec, buttonId);
  }
  // Autogenerated method: SteamVR_Controller/Device.UpdateHairTrigger
  void GlobalNamespace::SteamVR_Controller::Device::UpdateHairTrigger() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::UpdateHairTrigger");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "UpdateHairTrigger", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetHairTrigger
  bool GlobalNamespace::SteamVR_Controller::Device::GetHairTrigger() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetHairTrigger");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetHairTrigger", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetHairTriggerDown
  bool GlobalNamespace::SteamVR_Controller::Device::GetHairTriggerDown() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetHairTriggerDown");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetHairTriggerDown", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Controller/Device.GetHairTriggerUp
  bool GlobalNamespace::SteamVR_Controller::Device::GetHairTriggerUp() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::Device::GetHairTriggerUp");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetHairTriggerUp", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_Controller/DeviceRelation
  #include "GlobalNamespace/SteamVR_Controller_DeviceRelation.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Controller/DeviceRelation First
  GlobalNamespace::SteamVR_Controller::DeviceRelation GlobalNamespace::SteamVR_Controller::DeviceRelation::_get_First() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::DeviceRelation::_get_First");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Controller::DeviceRelation>("", "SteamVR_Controller/DeviceRelation", "First"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Controller/DeviceRelation First
  void GlobalNamespace::SteamVR_Controller::DeviceRelation::_set_First(GlobalNamespace::SteamVR_Controller::DeviceRelation value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::DeviceRelation::_set_First");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Controller/DeviceRelation", "First", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Controller/DeviceRelation Leftmost
  GlobalNamespace::SteamVR_Controller::DeviceRelation GlobalNamespace::SteamVR_Controller::DeviceRelation::_get_Leftmost() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::DeviceRelation::_get_Leftmost");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Controller::DeviceRelation>("", "SteamVR_Controller/DeviceRelation", "Leftmost"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Controller/DeviceRelation Leftmost
  void GlobalNamespace::SteamVR_Controller::DeviceRelation::_set_Leftmost(GlobalNamespace::SteamVR_Controller::DeviceRelation value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::DeviceRelation::_set_Leftmost");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Controller/DeviceRelation", "Leftmost", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Controller/DeviceRelation Rightmost
  GlobalNamespace::SteamVR_Controller::DeviceRelation GlobalNamespace::SteamVR_Controller::DeviceRelation::_get_Rightmost() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::DeviceRelation::_get_Rightmost");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Controller::DeviceRelation>("", "SteamVR_Controller/DeviceRelation", "Rightmost"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Controller/DeviceRelation Rightmost
  void GlobalNamespace::SteamVR_Controller::DeviceRelation::_set_Rightmost(GlobalNamespace::SteamVR_Controller::DeviceRelation value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::DeviceRelation::_set_Rightmost");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Controller/DeviceRelation", "Rightmost", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Controller/DeviceRelation FarthestLeft
  GlobalNamespace::SteamVR_Controller::DeviceRelation GlobalNamespace::SteamVR_Controller::DeviceRelation::_get_FarthestLeft() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::DeviceRelation::_get_FarthestLeft");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Controller::DeviceRelation>("", "SteamVR_Controller/DeviceRelation", "FarthestLeft"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Controller/DeviceRelation FarthestLeft
  void GlobalNamespace::SteamVR_Controller::DeviceRelation::_set_FarthestLeft(GlobalNamespace::SteamVR_Controller::DeviceRelation value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::DeviceRelation::_set_FarthestLeft");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Controller/DeviceRelation", "FarthestLeft", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Controller/DeviceRelation FarthestRight
  GlobalNamespace::SteamVR_Controller::DeviceRelation GlobalNamespace::SteamVR_Controller::DeviceRelation::_get_FarthestRight() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::DeviceRelation::_get_FarthestRight");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Controller::DeviceRelation>("", "SteamVR_Controller/DeviceRelation", "FarthestRight"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Controller/DeviceRelation FarthestRight
  void GlobalNamespace::SteamVR_Controller::DeviceRelation::_set_FarthestRight(GlobalNamespace::SteamVR_Controller::DeviceRelation value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::DeviceRelation::_set_FarthestRight");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Controller/DeviceRelation", "FarthestRight", value));
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Int32 value__
  int& GlobalNamespace::SteamVR_Controller::DeviceRelation::dyn_value__() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Controller::DeviceRelation::dyn_value__");
    auto ___internal__instance = *this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "value__"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: SteamVR_ControllerManager
  #include "GlobalNamespace/SteamVR_ControllerManager.hpp"
  // Including type: UnityEngine.GameObject
  #include "UnityEngine/GameObject.hpp"
  // Including type: UnityEngine.Transform
  #include "UnityEngine/Transform.hpp"
  // Including type: SteamVR_Events/Action
  #include "GlobalNamespace/SteamVR_Events_Action.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static private System.String hiddenPrefix
  ::Il2CppString* GlobalNamespace::SteamVR_ControllerManager::_get_hiddenPrefix() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::_get_hiddenPrefix");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Il2CppString*>("", "SteamVR_ControllerManager", "hiddenPrefix"));
  }
  // Autogenerated static field setter
  // Set static field: static private System.String hiddenPrefix
  void GlobalNamespace::SteamVR_ControllerManager::_set_hiddenPrefix(::Il2CppString* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::_set_hiddenPrefix");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_ControllerManager", "hiddenPrefix", value));
  }
  // Autogenerated static field getter
  // Get static field: static private System.String hiddenPostfix
  ::Il2CppString* GlobalNamespace::SteamVR_ControllerManager::_get_hiddenPostfix() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::_get_hiddenPostfix");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Il2CppString*>("", "SteamVR_ControllerManager", "hiddenPostfix"));
  }
  // Autogenerated static field setter
  // Set static field: static private System.String hiddenPostfix
  void GlobalNamespace::SteamVR_ControllerManager::_set_hiddenPostfix(::Il2CppString* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::_set_hiddenPostfix");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_ControllerManager", "hiddenPostfix", value));
  }
  // Autogenerated static field getter
  // Get static field: static private System.String[] labels
  ::ArrayW<::Il2CppString*> GlobalNamespace::SteamVR_ControllerManager::_get_labels() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::_get_labels");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<::ArrayW<::Il2CppString*>>("", "SteamVR_ControllerManager", "labels"));
  }
  // Autogenerated static field setter
  // Set static field: static private System.String[] labels
  void GlobalNamespace::SteamVR_ControllerManager::_set_labels(::ArrayW<::Il2CppString*> value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::_set_labels");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_ControllerManager", "labels", value));
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.GameObject left
  UnityEngine::GameObject*& GlobalNamespace::SteamVR_ControllerManager::dyn_left() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::dyn_left");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "left"))->offset;
    return *reinterpret_cast<UnityEngine::GameObject**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.GameObject right
  UnityEngine::GameObject*& GlobalNamespace::SteamVR_ControllerManager::dyn_right() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::dyn_right");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "right"))->offset;
    return *reinterpret_cast<UnityEngine::GameObject**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.GameObject[] objects
  ::ArrayW<UnityEngine::GameObject*>& GlobalNamespace::SteamVR_ControllerManager::dyn_objects() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::dyn_objects");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "objects"))->offset;
    return *reinterpret_cast<::ArrayW<UnityEngine::GameObject*>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Boolean assignAllBeforeIdentified
  bool& GlobalNamespace::SteamVR_ControllerManager::dyn_assignAllBeforeIdentified() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::dyn_assignAllBeforeIdentified");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "assignAllBeforeIdentified"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.UInt32[] indices
  ::ArrayW<uint>& GlobalNamespace::SteamVR_ControllerManager::dyn_indices() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::dyn_indices");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "indices"))->offset;
    return *reinterpret_cast<::ArrayW<uint>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Boolean[] connected
  ::ArrayW<bool>& GlobalNamespace::SteamVR_ControllerManager::dyn_connected() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::dyn_connected");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "connected"))->offset;
    return *reinterpret_cast<::ArrayW<bool>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.UInt32 leftIndex
  uint& GlobalNamespace::SteamVR_ControllerManager::dyn_leftIndex() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::dyn_leftIndex");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "leftIndex"))->offset;
    return *reinterpret_cast<uint*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.UInt32 rightIndex
  uint& GlobalNamespace::SteamVR_ControllerManager::dyn_rightIndex() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::dyn_rightIndex");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "rightIndex"))->offset;
    return *reinterpret_cast<uint*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private SteamVR_Events/Action inputFocusAction
  GlobalNamespace::SteamVR_Events::Action*& GlobalNamespace::SteamVR_ControllerManager::dyn_inputFocusAction() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::dyn_inputFocusAction");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "inputFocusAction"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_Events::Action**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private SteamVR_Events/Action deviceConnectedAction
  GlobalNamespace::SteamVR_Events::Action*& GlobalNamespace::SteamVR_ControllerManager::dyn_deviceConnectedAction() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::dyn_deviceConnectedAction");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "deviceConnectedAction"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_Events::Action**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private SteamVR_Events/Action trackedDeviceRoleChangedAction
  GlobalNamespace::SteamVR_Events::Action*& GlobalNamespace::SteamVR_ControllerManager::dyn_trackedDeviceRoleChangedAction() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::dyn_trackedDeviceRoleChangedAction");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "trackedDeviceRoleChangedAction"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_Events::Action**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_ControllerManager.SetUniqueObject
  void GlobalNamespace::SteamVR_ControllerManager::SetUniqueObject(UnityEngine::GameObject* o, int index) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::SetUniqueObject");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "SetUniqueObject", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(o), ::il2cpp_utils::ExtractType(index)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, o, index);
  }
  // Autogenerated method: SteamVR_ControllerManager.UpdateTargets
  void GlobalNamespace::SteamVR_ControllerManager::UpdateTargets() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::UpdateTargets");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "UpdateTargets", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_ControllerManager.Awake
  void GlobalNamespace::SteamVR_ControllerManager::Awake() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::Awake");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Awake", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_ControllerManager.OnEnable
  void GlobalNamespace::SteamVR_ControllerManager::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::OnEnable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_ControllerManager.OnDisable
  void GlobalNamespace::SteamVR_ControllerManager::OnDisable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::OnDisable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDisable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_ControllerManager.OnInputFocus
  void GlobalNamespace::SteamVR_ControllerManager::OnInputFocus(bool hasFocus) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::OnInputFocus");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnInputFocus", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(hasFocus)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, hasFocus);
  }
  // Autogenerated method: SteamVR_ControllerManager.HideObject
  void GlobalNamespace::SteamVR_ControllerManager::HideObject(UnityEngine::Transform* t, ::Il2CppString* name) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::HideObject");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "HideObject", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(t), ::il2cpp_utils::ExtractType(name)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, t, name);
  }
  // Autogenerated method: SteamVR_ControllerManager.ShowObject
  void GlobalNamespace::SteamVR_ControllerManager::ShowObject(UnityEngine::Transform* t, ::Il2CppString* name) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::ShowObject");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "ShowObject", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(t), ::il2cpp_utils::ExtractType(name)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, t, name);
  }
  // Autogenerated method: SteamVR_ControllerManager.SetTrackedDeviceIndex
  void GlobalNamespace::SteamVR_ControllerManager::SetTrackedDeviceIndex(int objectIndex, uint trackedDeviceIndex) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::SetTrackedDeviceIndex");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "SetTrackedDeviceIndex", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(objectIndex), ::il2cpp_utils::ExtractType(trackedDeviceIndex)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, objectIndex, trackedDeviceIndex);
  }
  // Autogenerated method: SteamVR_ControllerManager.OnTrackedDeviceRoleChanged
  void GlobalNamespace::SteamVR_ControllerManager::OnTrackedDeviceRoleChanged(Valve::VR::VREvent_t vrEvent) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::OnTrackedDeviceRoleChanged");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnTrackedDeviceRoleChanged", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(vrEvent)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, vrEvent);
  }
  // Autogenerated method: SteamVR_ControllerManager.OnDeviceConnected
  void GlobalNamespace::SteamVR_ControllerManager::OnDeviceConnected(int index, bool connected) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::OnDeviceConnected");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDeviceConnected", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(index), ::il2cpp_utils::ExtractType(connected)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, index, connected);
  }
  // Autogenerated method: SteamVR_ControllerManager.Refresh
  void GlobalNamespace::SteamVR_ControllerManager::Refresh() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::Refresh");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Refresh", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_ControllerManager..cctor
  void GlobalNamespace::SteamVR_ControllerManager::_cctor() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ControllerManager::.cctor");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_ControllerManager", ".cctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_Ears
  #include "GlobalNamespace/SteamVR_Ears.hpp"
  // Including type: SteamVR_Camera
  #include "GlobalNamespace/SteamVR_Camera.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: public SteamVR_Camera vrcam
  GlobalNamespace::SteamVR_Camera*& GlobalNamespace::SteamVR_Ears::dyn_vrcam() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Ears::dyn_vrcam");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "vrcam"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_Camera**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Boolean usingSpeakers
  bool& GlobalNamespace::SteamVR_Ears::dyn_usingSpeakers() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Ears::dyn_usingSpeakers");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "usingSpeakers"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Quaternion offset
  UnityEngine::Quaternion& GlobalNamespace::SteamVR_Ears::dyn_offset() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Ears::dyn_offset");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "offset"))->offset;
    return *reinterpret_cast<UnityEngine::Quaternion*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_Ears.OnNewPosesApplied
  void GlobalNamespace::SteamVR_Ears::OnNewPosesApplied() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Ears::OnNewPosesApplied");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnNewPosesApplied", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Ears.OnEnable
  void GlobalNamespace::SteamVR_Ears::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Ears::OnEnable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Ears.OnDisable
  void GlobalNamespace::SteamVR_Ears::OnDisable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Ears::OnDisable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDisable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_Events
  #include "GlobalNamespace/SteamVR_Events.hpp"
  // Including type: SteamVR_Events/Action
  #include "GlobalNamespace/SteamVR_Events_Action.hpp"
  // Including type: SteamVR_Events/ActionNoArgs
  #include "GlobalNamespace/SteamVR_Events_ActionNoArgs.hpp"
  // Including type: SteamVR_Events/Action`1
  #include "GlobalNamespace/SteamVR_Events_Action_1.hpp"
  // Including type: SteamVR_Events/Action`2
  #include "GlobalNamespace/SteamVR_Events_Action_2.hpp"
  // Including type: SteamVR_Events/Action`3
  #include "GlobalNamespace/SteamVR_Events_Action_3.hpp"
  // Including type: SteamVR_Events/Event
  #include "GlobalNamespace/SteamVR_Events_Event.hpp"
  // Including type: SteamVR_Events/Event`1
  #include "GlobalNamespace/SteamVR_Events_Event_1.hpp"
  // Including type: SteamVR_Events/Event`2
  #include "GlobalNamespace/SteamVR_Events_Event_2.hpp"
  // Including type: SteamVR_Events/Event`3
  #include "GlobalNamespace/SteamVR_Events_Event_3.hpp"
  // Including type: SteamVR_RenderModel
  #include "GlobalNamespace/SteamVR_RenderModel.hpp"
  // Including type: System.Collections.Generic.Dictionary`2
  #include "System/Collections/Generic/Dictionary_2.hpp"
  // Including type: UnityEngine.Events.UnityAction`1
  #include "UnityEngine/Events/UnityAction_1.hpp"
  // Including type: UnityEngine.Events.UnityAction`2
  #include "UnityEngine/Events/UnityAction_2.hpp"
  // Including type: UnityEngine.Events.UnityAction`3
  #include "UnityEngine/Events/UnityAction_3.hpp"
  // Including type: UnityEngine.Events.UnityAction
  #include "UnityEngine/Events/UnityAction.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Events/Event`1<System.Boolean> Calibrating
  GlobalNamespace::SteamVR_Events::Event_1<bool>* GlobalNamespace::SteamVR_Events::_get_Calibrating() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_get_Calibrating");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Events::Event_1<bool>*>("", "SteamVR_Events", "Calibrating"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Events/Event`1<System.Boolean> Calibrating
  void GlobalNamespace::SteamVR_Events::_set_Calibrating(GlobalNamespace::SteamVR_Events::Event_1<bool>* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_set_Calibrating");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Events", "Calibrating", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Events/Event`2<System.Int32,System.Boolean> DeviceConnected
  GlobalNamespace::SteamVR_Events::Event_2<int, bool>* GlobalNamespace::SteamVR_Events::_get_DeviceConnected() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_get_DeviceConnected");
    return THROW_UNLESS((il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Events::Event_2<int, bool>*>("", "SteamVR_Events", "DeviceConnected")));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Events/Event`2<System.Int32,System.Boolean> DeviceConnected
  void GlobalNamespace::SteamVR_Events::_set_DeviceConnected(GlobalNamespace::SteamVR_Events::Event_2<int, bool>* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_set_DeviceConnected");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Events", "DeviceConnected", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Events/Event`3<UnityEngine.Color,System.Single,System.Boolean> Fade
  GlobalNamespace::SteamVR_Events::Event_3<UnityEngine::Color, float, bool>* GlobalNamespace::SteamVR_Events::_get_Fade() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_get_Fade");
    return THROW_UNLESS((il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Events::Event_3<UnityEngine::Color, float, bool>*>("", "SteamVR_Events", "Fade")));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Events/Event`3<UnityEngine.Color,System.Single,System.Boolean> Fade
  void GlobalNamespace::SteamVR_Events::_set_Fade(GlobalNamespace::SteamVR_Events::Event_3<UnityEngine::Color, float, bool>* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_set_Fade");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Events", "Fade", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Events/Event FadeReady
  GlobalNamespace::SteamVR_Events::Event* GlobalNamespace::SteamVR_Events::_get_FadeReady() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_get_FadeReady");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Events::Event*>("", "SteamVR_Events", "FadeReady"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Events/Event FadeReady
  void GlobalNamespace::SteamVR_Events::_set_FadeReady(GlobalNamespace::SteamVR_Events::Event* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_set_FadeReady");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Events", "FadeReady", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Events/Event`1<System.Boolean> HideRenderModels
  GlobalNamespace::SteamVR_Events::Event_1<bool>* GlobalNamespace::SteamVR_Events::_get_HideRenderModels() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_get_HideRenderModels");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Events::Event_1<bool>*>("", "SteamVR_Events", "HideRenderModels"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Events/Event`1<System.Boolean> HideRenderModels
  void GlobalNamespace::SteamVR_Events::_set_HideRenderModels(GlobalNamespace::SteamVR_Events::Event_1<bool>* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_set_HideRenderModels");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Events", "HideRenderModels", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Events/Event`1<System.Boolean> Initializing
  GlobalNamespace::SteamVR_Events::Event_1<bool>* GlobalNamespace::SteamVR_Events::_get_Initializing() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_get_Initializing");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Events::Event_1<bool>*>("", "SteamVR_Events", "Initializing"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Events/Event`1<System.Boolean> Initializing
  void GlobalNamespace::SteamVR_Events::_set_Initializing(GlobalNamespace::SteamVR_Events::Event_1<bool>* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_set_Initializing");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Events", "Initializing", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Events/Event`1<System.Boolean> InputFocus
  GlobalNamespace::SteamVR_Events::Event_1<bool>* GlobalNamespace::SteamVR_Events::_get_InputFocus() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_get_InputFocus");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Events::Event_1<bool>*>("", "SteamVR_Events", "InputFocus"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Events/Event`1<System.Boolean> InputFocus
  void GlobalNamespace::SteamVR_Events::_set_InputFocus(GlobalNamespace::SteamVR_Events::Event_1<bool>* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_set_InputFocus");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Events", "InputFocus", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Events/Event`1<System.Boolean> Loading
  GlobalNamespace::SteamVR_Events::Event_1<bool>* GlobalNamespace::SteamVR_Events::_get_Loading() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_get_Loading");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Events::Event_1<bool>*>("", "SteamVR_Events", "Loading"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Events/Event`1<System.Boolean> Loading
  void GlobalNamespace::SteamVR_Events::_set_Loading(GlobalNamespace::SteamVR_Events::Event_1<bool>* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_set_Loading");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Events", "Loading", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Events/Event`1<System.Single> LoadingFadeIn
  GlobalNamespace::SteamVR_Events::Event_1<float>* GlobalNamespace::SteamVR_Events::_get_LoadingFadeIn() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_get_LoadingFadeIn");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Events::Event_1<float>*>("", "SteamVR_Events", "LoadingFadeIn"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Events/Event`1<System.Single> LoadingFadeIn
  void GlobalNamespace::SteamVR_Events::_set_LoadingFadeIn(GlobalNamespace::SteamVR_Events::Event_1<float>* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_set_LoadingFadeIn");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Events", "LoadingFadeIn", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Events/Event`1<System.Single> LoadingFadeOut
  GlobalNamespace::SteamVR_Events::Event_1<float>* GlobalNamespace::SteamVR_Events::_get_LoadingFadeOut() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_get_LoadingFadeOut");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Events::Event_1<float>*>("", "SteamVR_Events", "LoadingFadeOut"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Events/Event`1<System.Single> LoadingFadeOut
  void GlobalNamespace::SteamVR_Events::_set_LoadingFadeOut(GlobalNamespace::SteamVR_Events::Event_1<float>* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_set_LoadingFadeOut");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Events", "LoadingFadeOut", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Events/Event`1<Valve.VR.TrackedDevicePose_t[]> NewPoses
  GlobalNamespace::SteamVR_Events::Event_1<::ArrayW<Valve::VR::TrackedDevicePose_t>>* GlobalNamespace::SteamVR_Events::_get_NewPoses() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_get_NewPoses");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Events::Event_1<::ArrayW<Valve::VR::TrackedDevicePose_t>>*>("", "SteamVR_Events", "NewPoses"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Events/Event`1<Valve.VR.TrackedDevicePose_t[]> NewPoses
  void GlobalNamespace::SteamVR_Events::_set_NewPoses(GlobalNamespace::SteamVR_Events::Event_1<::ArrayW<Valve::VR::TrackedDevicePose_t>>* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_set_NewPoses");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Events", "NewPoses", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Events/Event NewPosesApplied
  GlobalNamespace::SteamVR_Events::Event* GlobalNamespace::SteamVR_Events::_get_NewPosesApplied() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_get_NewPosesApplied");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Events::Event*>("", "SteamVR_Events", "NewPosesApplied"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Events/Event NewPosesApplied
  void GlobalNamespace::SteamVR_Events::_set_NewPosesApplied(GlobalNamespace::SteamVR_Events::Event* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_set_NewPosesApplied");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Events", "NewPosesApplied", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Events/Event`1<System.Boolean> OutOfRange
  GlobalNamespace::SteamVR_Events::Event_1<bool>* GlobalNamespace::SteamVR_Events::_get_OutOfRange() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_get_OutOfRange");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Events::Event_1<bool>*>("", "SteamVR_Events", "OutOfRange"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Events/Event`1<System.Boolean> OutOfRange
  void GlobalNamespace::SteamVR_Events::_set_OutOfRange(GlobalNamespace::SteamVR_Events::Event_1<bool>* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_set_OutOfRange");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Events", "OutOfRange", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Events/Event`2<SteamVR_RenderModel,System.Boolean> RenderModelLoaded
  GlobalNamespace::SteamVR_Events::Event_2<GlobalNamespace::SteamVR_RenderModel*, bool>* GlobalNamespace::SteamVR_Events::_get_RenderModelLoaded() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_get_RenderModelLoaded");
    return THROW_UNLESS((il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Events::Event_2<GlobalNamespace::SteamVR_RenderModel*, bool>*>("", "SteamVR_Events", "RenderModelLoaded")));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Events/Event`2<SteamVR_RenderModel,System.Boolean> RenderModelLoaded
  void GlobalNamespace::SteamVR_Events::_set_RenderModelLoaded(GlobalNamespace::SteamVR_Events::Event_2<GlobalNamespace::SteamVR_RenderModel*, bool>* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_set_RenderModelLoaded");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Events", "RenderModelLoaded", value));
  }
  // Autogenerated static field getter
  // Get static field: static private System.Collections.Generic.Dictionary`2<Valve.VR.EVREventType,SteamVR_Events/Event`1<Valve.VR.VREvent_t>> systemEvents
  System::Collections::Generic::Dictionary_2<Valve::VR::EVREventType, GlobalNamespace::SteamVR_Events::Event_1<Valve::VR::VREvent_t>*>* GlobalNamespace::SteamVR_Events::_get_systemEvents() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_get_systemEvents");
    return THROW_UNLESS((il2cpp_utils::GetFieldValue<System::Collections::Generic::Dictionary_2<Valve::VR::EVREventType, GlobalNamespace::SteamVR_Events::Event_1<Valve::VR::VREvent_t>*>*>("", "SteamVR_Events", "systemEvents")));
  }
  // Autogenerated static field setter
  // Set static field: static private System.Collections.Generic.Dictionary`2<Valve.VR.EVREventType,SteamVR_Events/Event`1<Valve.VR.VREvent_t>> systemEvents
  void GlobalNamespace::SteamVR_Events::_set_systemEvents(System::Collections::Generic::Dictionary_2<Valve::VR::EVREventType, GlobalNamespace::SteamVR_Events::Event_1<Valve::VR::VREvent_t>*>* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::_set_systemEvents");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Events", "systemEvents", value));
  }
  // Autogenerated method: SteamVR_Events..cctor
  void GlobalNamespace::SteamVR_Events::_cctor() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::.cctor");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Events", ".cctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR_Events.CalibratingAction
  GlobalNamespace::SteamVR_Events::Action* GlobalNamespace::SteamVR_Events::CalibratingAction(UnityEngine::Events::UnityAction_1<bool>* action) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::CalibratingAction");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Events", "CalibratingAction", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(action)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Events::Action*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, action);
  }
  // Autogenerated method: SteamVR_Events.DeviceConnectedAction
  GlobalNamespace::SteamVR_Events::Action* GlobalNamespace::SteamVR_Events::DeviceConnectedAction(UnityEngine::Events::UnityAction_2<int, bool>* action) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::DeviceConnectedAction");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Events", "DeviceConnectedAction", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(action)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Events::Action*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, action);
  }
  // Autogenerated method: SteamVR_Events.FadeAction
  GlobalNamespace::SteamVR_Events::Action* GlobalNamespace::SteamVR_Events::FadeAction(UnityEngine::Events::UnityAction_3<UnityEngine::Color, float, bool>* action) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::FadeAction");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Events", "FadeAction", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(action)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Events::Action*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, action);
  }
  // Autogenerated method: SteamVR_Events.FadeReadyAction
  GlobalNamespace::SteamVR_Events::Action* GlobalNamespace::SteamVR_Events::FadeReadyAction(UnityEngine::Events::UnityAction* action) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::FadeReadyAction");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Events", "FadeReadyAction", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(action)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Events::Action*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, action);
  }
  // Autogenerated method: SteamVR_Events.HideRenderModelsAction
  GlobalNamespace::SteamVR_Events::Action* GlobalNamespace::SteamVR_Events::HideRenderModelsAction(UnityEngine::Events::UnityAction_1<bool>* action) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::HideRenderModelsAction");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Events", "HideRenderModelsAction", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(action)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Events::Action*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, action);
  }
  // Autogenerated method: SteamVR_Events.InitializingAction
  GlobalNamespace::SteamVR_Events::Action* GlobalNamespace::SteamVR_Events::InitializingAction(UnityEngine::Events::UnityAction_1<bool>* action) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::InitializingAction");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Events", "InitializingAction", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(action)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Events::Action*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, action);
  }
  // Autogenerated method: SteamVR_Events.InputFocusAction
  GlobalNamespace::SteamVR_Events::Action* GlobalNamespace::SteamVR_Events::InputFocusAction(UnityEngine::Events::UnityAction_1<bool>* action) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::InputFocusAction");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Events", "InputFocusAction", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(action)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Events::Action*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, action);
  }
  // Autogenerated method: SteamVR_Events.LoadingAction
  GlobalNamespace::SteamVR_Events::Action* GlobalNamespace::SteamVR_Events::LoadingAction(UnityEngine::Events::UnityAction_1<bool>* action) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::LoadingAction");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Events", "LoadingAction", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(action)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Events::Action*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, action);
  }
  // Autogenerated method: SteamVR_Events.LoadingFadeInAction
  GlobalNamespace::SteamVR_Events::Action* GlobalNamespace::SteamVR_Events::LoadingFadeInAction(UnityEngine::Events::UnityAction_1<float>* action) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::LoadingFadeInAction");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Events", "LoadingFadeInAction", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(action)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Events::Action*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, action);
  }
  // Autogenerated method: SteamVR_Events.LoadingFadeOutAction
  GlobalNamespace::SteamVR_Events::Action* GlobalNamespace::SteamVR_Events::LoadingFadeOutAction(UnityEngine::Events::UnityAction_1<float>* action) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::LoadingFadeOutAction");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Events", "LoadingFadeOutAction", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(action)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Events::Action*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, action);
  }
  // Autogenerated method: SteamVR_Events.NewPosesAction
  GlobalNamespace::SteamVR_Events::Action* GlobalNamespace::SteamVR_Events::NewPosesAction(UnityEngine::Events::UnityAction_1<::ArrayW<Valve::VR::TrackedDevicePose_t>>* action) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::NewPosesAction");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Events", "NewPosesAction", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(action)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Events::Action*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, action);
  }
  // Autogenerated method: SteamVR_Events.NewPosesAppliedAction
  GlobalNamespace::SteamVR_Events::Action* GlobalNamespace::SteamVR_Events::NewPosesAppliedAction(UnityEngine::Events::UnityAction* action) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::NewPosesAppliedAction");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Events", "NewPosesAppliedAction", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(action)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Events::Action*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, action);
  }
  // Autogenerated method: SteamVR_Events.OutOfRangeAction
  GlobalNamespace::SteamVR_Events::Action* GlobalNamespace::SteamVR_Events::OutOfRangeAction(UnityEngine::Events::UnityAction_1<bool>* action) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::OutOfRangeAction");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Events", "OutOfRangeAction", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(action)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Events::Action*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, action);
  }
  // Autogenerated method: SteamVR_Events.RenderModelLoadedAction
  GlobalNamespace::SteamVR_Events::Action* GlobalNamespace::SteamVR_Events::RenderModelLoadedAction(UnityEngine::Events::UnityAction_2<GlobalNamespace::SteamVR_RenderModel*, bool>* action) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::RenderModelLoadedAction");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Events", "RenderModelLoadedAction", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(action)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Events::Action*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, action);
  }
  // Autogenerated method: SteamVR_Events.System
  GlobalNamespace::SteamVR_Events::Event_1<Valve::VR::VREvent_t>* GlobalNamespace::SteamVR_Events::System(Valve::VR::EVREventType eventType) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::System");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Events", "System", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(eventType)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Events::Event_1<Valve::VR::VREvent_t>*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, eventType);
  }
  // Autogenerated method: SteamVR_Events.SystemAction
  GlobalNamespace::SteamVR_Events::Action* GlobalNamespace::SteamVR_Events::SystemAction(Valve::VR::EVREventType eventType, UnityEngine::Events::UnityAction_1<Valve::VR::VREvent_t>* action) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::SystemAction");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Events", "SystemAction", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(eventType), ::il2cpp_utils::ExtractType(action)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Events::Action*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, eventType, action);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_Events/Action
  #include "GlobalNamespace/SteamVR_Events_Action.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: SteamVR_Events/Action.set_enabled
  void GlobalNamespace::SteamVR_Events::Action::set_enabled(bool value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::Action::set_enabled");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_enabled", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR_Events/Action.Enable
  void GlobalNamespace::SteamVR_Events::Action::Enable(bool enabled) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::Action::Enable");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Enable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(enabled)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, enabled);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_Events/ActionNoArgs
  #include "GlobalNamespace/SteamVR_Events_ActionNoArgs.hpp"
  // Including type: UnityEngine.Events.UnityAction
  #include "UnityEngine/Events/UnityAction.hpp"
  // Including type: SteamVR_Events/Event
  #include "GlobalNamespace/SteamVR_Events_Event.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private SteamVR_Events/Event _event
  GlobalNamespace::SteamVR_Events::Event*& GlobalNamespace::SteamVR_Events::ActionNoArgs::dyn__event() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::ActionNoArgs::dyn__event");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_event"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_Events::Event**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Events.UnityAction action
  UnityEngine::Events::UnityAction*& GlobalNamespace::SteamVR_Events::ActionNoArgs::dyn_action() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::ActionNoArgs::dyn_action");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "action"))->offset;
    return *reinterpret_cast<UnityEngine::Events::UnityAction**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_Events/ActionNoArgs.Enable
  void GlobalNamespace::SteamVR_Events::ActionNoArgs::Enable(bool enabled) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::ActionNoArgs::Enable");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Enable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(enabled)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, enabled);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_Events/Event
  #include "GlobalNamespace/SteamVR_Events_Event.hpp"
  // Including type: UnityEngine.Events.UnityAction
  #include "UnityEngine/Events/UnityAction.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: SteamVR_Events/Event.Listen
  void GlobalNamespace::SteamVR_Events::Event::Listen(UnityEngine::Events::UnityAction* action) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::Event::Listen");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Listen", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(action)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, action);
  }
  // Autogenerated method: SteamVR_Events/Event.Remove
  void GlobalNamespace::SteamVR_Events::Event::Remove(UnityEngine::Events::UnityAction* action) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::Event::Remove");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Remove", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(action)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, action);
  }
  // Autogenerated method: SteamVR_Events/Event.Send
  void GlobalNamespace::SteamVR_Events::Event::Send() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Events::Event::Send");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Send", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: SteamVR_ExternalCamera
  #include "GlobalNamespace/SteamVR_ExternalCamera.hpp"
  // Including type: System.IO.FileSystemWatcher
  #include "System/IO/FileSystemWatcher.hpp"
  // Including type: UnityEngine.Camera
  #include "UnityEngine/Camera.hpp"
  // Including type: UnityEngine.Transform
  #include "UnityEngine/Transform.hpp"
  // Including type: UnityEngine.GameObject
  #include "UnityEngine/GameObject.hpp"
  // Including type: UnityEngine.Material
  #include "UnityEngine/Material.hpp"
  // Including type: System.IO.FileSystemEventArgs
  #include "System/IO/FileSystemEventArgs.hpp"
  // Including type: SteamVR_Camera
  #include "GlobalNamespace/SteamVR_Camera.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: public SteamVR_ExternalCamera/Config config
  GlobalNamespace::SteamVR_ExternalCamera::Config& GlobalNamespace::SteamVR_ExternalCamera::dyn_config() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::dyn_config");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "config"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_ExternalCamera::Config*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.String configPath
  ::Il2CppString*& GlobalNamespace::SteamVR_ExternalCamera::dyn_configPath() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::dyn_configPath");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "configPath"))->offset;
    return *reinterpret_cast<::Il2CppString**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.IO.FileSystemWatcher watcher
  System::IO::FileSystemWatcher*& GlobalNamespace::SteamVR_ExternalCamera::dyn_watcher() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::dyn_watcher");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "watcher"))->offset;
    return *reinterpret_cast<System::IO::FileSystemWatcher**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Camera cam
  UnityEngine::Camera*& GlobalNamespace::SteamVR_ExternalCamera::dyn_cam() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::dyn_cam");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "cam"))->offset;
    return *reinterpret_cast<UnityEngine::Camera**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Transform target
  UnityEngine::Transform*& GlobalNamespace::SteamVR_ExternalCamera::dyn_target() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::dyn_target");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "target"))->offset;
    return *reinterpret_cast<UnityEngine::Transform**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.GameObject clipQuad
  UnityEngine::GameObject*& GlobalNamespace::SteamVR_ExternalCamera::dyn_clipQuad() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::dyn_clipQuad");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "clipQuad"))->offset;
    return *reinterpret_cast<UnityEngine::GameObject**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Material clipMaterial
  UnityEngine::Material*& GlobalNamespace::SteamVR_ExternalCamera::dyn_clipMaterial() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::dyn_clipMaterial");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "clipMaterial"))->offset;
    return *reinterpret_cast<UnityEngine::Material**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Material colorMat
  UnityEngine::Material*& GlobalNamespace::SteamVR_ExternalCamera::dyn_colorMat() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::dyn_colorMat");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "colorMat"))->offset;
    return *reinterpret_cast<UnityEngine::Material**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Material alphaMat
  UnityEngine::Material*& GlobalNamespace::SteamVR_ExternalCamera::dyn_alphaMat() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::dyn_alphaMat");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "alphaMat"))->offset;
    return *reinterpret_cast<UnityEngine::Material**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Camera[] cameras
  ::ArrayW<UnityEngine::Camera*>& GlobalNamespace::SteamVR_ExternalCamera::dyn_cameras() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::dyn_cameras");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "cameras"))->offset;
    return *reinterpret_cast<::ArrayW<UnityEngine::Camera*>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Rect[] cameraRects
  ::ArrayW<UnityEngine::Rect>& GlobalNamespace::SteamVR_ExternalCamera::dyn_cameraRects() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::dyn_cameraRects");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "cameraRects"))->offset;
    return *reinterpret_cast<::ArrayW<UnityEngine::Rect>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single sceneResolutionScale
  float& GlobalNamespace::SteamVR_ExternalCamera::dyn_sceneResolutionScale() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::dyn_sceneResolutionScale");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "sceneResolutionScale"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_ExternalCamera.ReadConfig
  void GlobalNamespace::SteamVR_ExternalCamera::ReadConfig() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::ReadConfig");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "ReadConfig", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_ExternalCamera.OnChanged
  void GlobalNamespace::SteamVR_ExternalCamera::OnChanged(::Il2CppObject* source, System::IO::FileSystemEventArgs* e) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::OnChanged");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnChanged", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(source), ::il2cpp_utils::ExtractType(e)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, source, e);
  }
  // Autogenerated method: SteamVR_ExternalCamera.AttachToCamera
  void GlobalNamespace::SteamVR_ExternalCamera::AttachToCamera(GlobalNamespace::SteamVR_Camera* vrcam) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::AttachToCamera");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "AttachToCamera", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(vrcam)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, vrcam);
  }
  // Autogenerated method: SteamVR_ExternalCamera.GetTargetDistance
  float GlobalNamespace::SteamVR_ExternalCamera::GetTargetDistance() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::GetTargetDistance");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetTargetDistance", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<float, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_ExternalCamera.RenderNear
  void GlobalNamespace::SteamVR_ExternalCamera::RenderNear() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::RenderNear");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "RenderNear", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_ExternalCamera.RenderFar
  void GlobalNamespace::SteamVR_ExternalCamera::RenderFar() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::RenderFar");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "RenderFar", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_ExternalCamera.OnGUI
  void GlobalNamespace::SteamVR_ExternalCamera::OnGUI() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::OnGUI");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnGUI", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_ExternalCamera.OnEnable
  void GlobalNamespace::SteamVR_ExternalCamera::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::OnEnable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_ExternalCamera.OnDisable
  void GlobalNamespace::SteamVR_ExternalCamera::OnDisable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_ExternalCamera::OnDisable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDisable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_Fade
  #include "GlobalNamespace/SteamVR_Fade.hpp"
  // Including type: UnityEngine.Material
  #include "UnityEngine/Material.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static private UnityEngine.Material fadeMaterial
  UnityEngine::Material* GlobalNamespace::SteamVR_Fade::_get_fadeMaterial() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Fade::_get_fadeMaterial");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<UnityEngine::Material*>("", "SteamVR_Fade", "fadeMaterial"));
  }
  // Autogenerated static field setter
  // Set static field: static private UnityEngine.Material fadeMaterial
  void GlobalNamespace::SteamVR_Fade::_set_fadeMaterial(UnityEngine::Material* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Fade::_set_fadeMaterial");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Fade", "fadeMaterial", value));
  }
  // Autogenerated static field getter
  // Get static field: static private System.Int32 fadeMaterialColorID
  int GlobalNamespace::SteamVR_Fade::_get_fadeMaterialColorID() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Fade::_get_fadeMaterialColorID");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<int>("", "SteamVR_Fade", "fadeMaterialColorID"));
  }
  // Autogenerated static field setter
  // Set static field: static private System.Int32 fadeMaterialColorID
  void GlobalNamespace::SteamVR_Fade::_set_fadeMaterialColorID(int value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Fade::_set_fadeMaterialColorID");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Fade", "fadeMaterialColorID", value));
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Color currentColor
  UnityEngine::Color& GlobalNamespace::SteamVR_Fade::dyn_currentColor() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Fade::dyn_currentColor");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "currentColor"))->offset;
    return *reinterpret_cast<UnityEngine::Color*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Color targetColor
  UnityEngine::Color& GlobalNamespace::SteamVR_Fade::dyn_targetColor() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Fade::dyn_targetColor");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "targetColor"))->offset;
    return *reinterpret_cast<UnityEngine::Color*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Color deltaColor
  UnityEngine::Color& GlobalNamespace::SteamVR_Fade::dyn_deltaColor() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Fade::dyn_deltaColor");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "deltaColor"))->offset;
    return *reinterpret_cast<UnityEngine::Color*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Boolean fadeOverlay
  bool& GlobalNamespace::SteamVR_Fade::dyn_fadeOverlay() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Fade::dyn_fadeOverlay");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "fadeOverlay"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_Fade.Start
  void GlobalNamespace::SteamVR_Fade::Start(UnityEngine::Color newColor, float duration, bool fadeOverlay) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Fade::Start");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Fade", "Start", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(newColor), ::il2cpp_utils::ExtractType(duration), ::il2cpp_utils::ExtractType(fadeOverlay)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, newColor, duration, fadeOverlay);
  }
  // Autogenerated method: SteamVR_Fade.View
  void GlobalNamespace::SteamVR_Fade::View(UnityEngine::Color newColor, float duration) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Fade::View");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Fade", "View", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(newColor), ::il2cpp_utils::ExtractType(duration)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, newColor, duration);
  }
  // Autogenerated method: SteamVR_Fade.OnStartFade
  void GlobalNamespace::SteamVR_Fade::OnStartFade(UnityEngine::Color newColor, float duration, bool fadeOverlay) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Fade::OnStartFade");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnStartFade", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(newColor), ::il2cpp_utils::ExtractType(duration), ::il2cpp_utils::ExtractType(fadeOverlay)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, newColor, duration, fadeOverlay);
  }
  // Autogenerated method: SteamVR_Fade.OnEnable
  void GlobalNamespace::SteamVR_Fade::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Fade::OnEnable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Fade.OnDisable
  void GlobalNamespace::SteamVR_Fade::OnDisable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Fade::OnDisable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDisable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Fade.OnPostRender
  void GlobalNamespace::SteamVR_Fade::OnPostRender() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Fade::OnPostRender");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnPostRender", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Fade..cctor
  void GlobalNamespace::SteamVR_Fade::_cctor() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Fade::.cctor");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Fade", ".cctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_Frustum
  #include "GlobalNamespace/SteamVR_Frustum.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: public SteamVR_TrackedObject/EIndex index
  GlobalNamespace::SteamVR_TrackedObject::EIndex& GlobalNamespace::SteamVR_Frustum::dyn_index() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Frustum::dyn_index");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "index"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_TrackedObject::EIndex*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single fovLeft
  float& GlobalNamespace::SteamVR_Frustum::dyn_fovLeft() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Frustum::dyn_fovLeft");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "fovLeft"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single fovRight
  float& GlobalNamespace::SteamVR_Frustum::dyn_fovRight() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Frustum::dyn_fovRight");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "fovRight"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single fovTop
  float& GlobalNamespace::SteamVR_Frustum::dyn_fovTop() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Frustum::dyn_fovTop");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "fovTop"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single fovBottom
  float& GlobalNamespace::SteamVR_Frustum::dyn_fovBottom() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Frustum::dyn_fovBottom");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "fovBottom"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single nearZ
  float& GlobalNamespace::SteamVR_Frustum::dyn_nearZ() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Frustum::dyn_nearZ");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "nearZ"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single farZ
  float& GlobalNamespace::SteamVR_Frustum::dyn_farZ() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Frustum::dyn_farZ");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "farZ"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_Frustum.UpdateModel
  void GlobalNamespace::SteamVR_Frustum::UpdateModel() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Frustum::UpdateModel");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "UpdateModel", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Frustum.OnDeviceConnected
  void GlobalNamespace::SteamVR_Frustum::OnDeviceConnected(int i, bool connected) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Frustum::OnDeviceConnected");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDeviceConnected", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(i), ::il2cpp_utils::ExtractType(connected)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, i, connected);
  }
  // Autogenerated method: SteamVR_Frustum.OnEnable
  void GlobalNamespace::SteamVR_Frustum::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Frustum::OnEnable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Frustum.OnDisable
  void GlobalNamespace::SteamVR_Frustum::OnDisable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Frustum::OnDisable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDisable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_GameView
  #include "GlobalNamespace/SteamVR_GameView.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: SteamVR_GameView.Awake
  void GlobalNamespace::SteamVR_GameView::Awake() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_GameView::Awake");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Awake", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_IK
  #include "GlobalNamespace/SteamVR_IK.hpp"
  // Including type: UnityEngine.Transform
  #include "UnityEngine/Transform.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Transform target
  UnityEngine::Transform*& GlobalNamespace::SteamVR_IK::dyn_target() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_IK::dyn_target");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "target"))->offset;
    return *reinterpret_cast<UnityEngine::Transform**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Transform start
  UnityEngine::Transform*& GlobalNamespace::SteamVR_IK::dyn_start() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_IK::dyn_start");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "start"))->offset;
    return *reinterpret_cast<UnityEngine::Transform**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Transform joint
  UnityEngine::Transform*& GlobalNamespace::SteamVR_IK::dyn_joint() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_IK::dyn_joint");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "joint"))->offset;
    return *reinterpret_cast<UnityEngine::Transform**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Transform end
  UnityEngine::Transform*& GlobalNamespace::SteamVR_IK::dyn_end() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_IK::dyn_end");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "end"))->offset;
    return *reinterpret_cast<UnityEngine::Transform**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Transform poleVector
  UnityEngine::Transform*& GlobalNamespace::SteamVR_IK::dyn_poleVector() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_IK::dyn_poleVector");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "poleVector"))->offset;
    return *reinterpret_cast<UnityEngine::Transform**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Transform upVector
  UnityEngine::Transform*& GlobalNamespace::SteamVR_IK::dyn_upVector() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_IK::dyn_upVector");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "upVector"))->offset;
    return *reinterpret_cast<UnityEngine::Transform**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single blendPct
  float& GlobalNamespace::SteamVR_IK::dyn_blendPct() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_IK::dyn_blendPct");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "blendPct"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Transform startXform
  UnityEngine::Transform*& GlobalNamespace::SteamVR_IK::dyn_startXform() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_IK::dyn_startXform");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "startXform"))->offset;
    return *reinterpret_cast<UnityEngine::Transform**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Transform jointXform
  UnityEngine::Transform*& GlobalNamespace::SteamVR_IK::dyn_jointXform() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_IK::dyn_jointXform");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "jointXform"))->offset;
    return *reinterpret_cast<UnityEngine::Transform**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Transform endXform
  UnityEngine::Transform*& GlobalNamespace::SteamVR_IK::dyn_endXform() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_IK::dyn_endXform");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "endXform"))->offset;
    return *reinterpret_cast<UnityEngine::Transform**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_IK.LateUpdate
  void GlobalNamespace::SteamVR_IK::LateUpdate() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_IK::LateUpdate");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "LateUpdate", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_IK.Solve
  bool GlobalNamespace::SteamVR_IK::Solve(UnityEngine::Vector3 start, UnityEngine::Vector3 end, UnityEngine::Vector3 poleVector, float jointDist, float targetDist, ByRef<UnityEngine::Vector3> result, ByRef<UnityEngine::Vector3> forward, ByRef<UnityEngine::Vector3> up) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_IK::Solve");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_IK", "Solve", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(start), ::il2cpp_utils::ExtractType(end), ::il2cpp_utils::ExtractType(poleVector), ::il2cpp_utils::ExtractType(jointDist), ::il2cpp_utils::ExtractType(targetDist), ::il2cpp_utils::ExtractType(result), ::il2cpp_utils::ExtractIndependentType<UnityEngine::Vector3&>(), ::il2cpp_utils::ExtractIndependentType<UnityEngine::Vector3&>()})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, start, end, poleVector, jointDist, targetDist, byref(result), byref(forward), byref(up));
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: SteamVR_LoadLevel
  #include "GlobalNamespace/SteamVR_LoadLevel.hpp"
  // Including type: SteamVR_LoadLevel/<LoadLevel>d__45
  #include "GlobalNamespace/SteamVR_LoadLevel_-LoadLevel-d__45.hpp"
  // Including type: UnityEngine.Texture
  #include "UnityEngine/Texture.hpp"
  // Including type: UnityEngine.Transform
  #include "UnityEngine/Transform.hpp"
  // Including type: UnityEngine.AsyncOperation
  #include "UnityEngine/AsyncOperation.hpp"
  // Including type: UnityEngine.RenderTexture
  #include "UnityEngine/RenderTexture.hpp"
  // Including type: System.Collections.IEnumerator
  #include "System/Collections/IEnumerator.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static private SteamVR_LoadLevel _active
  GlobalNamespace::SteamVR_LoadLevel* GlobalNamespace::SteamVR_LoadLevel::_get__active() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::_get__active");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_LoadLevel*>("", "SteamVR_LoadLevel", "_active"));
  }
  // Autogenerated static field setter
  // Set static field: static private SteamVR_LoadLevel _active
  void GlobalNamespace::SteamVR_LoadLevel::_set__active(GlobalNamespace::SteamVR_LoadLevel* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::_set__active");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_LoadLevel", "_active", value));
  }
  // Autogenerated instance field getter
  // Get instance field: public System.String levelName
  ::Il2CppString*& GlobalNamespace::SteamVR_LoadLevel::dyn_levelName() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_levelName");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "levelName"))->offset;
    return *reinterpret_cast<::Il2CppString**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.String internalProcessPath
  ::Il2CppString*& GlobalNamespace::SteamVR_LoadLevel::dyn_internalProcessPath() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_internalProcessPath");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "internalProcessPath"))->offset;
    return *reinterpret_cast<::Il2CppString**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.String internalProcessArgs
  ::Il2CppString*& GlobalNamespace::SteamVR_LoadLevel::dyn_internalProcessArgs() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_internalProcessArgs");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "internalProcessArgs"))->offset;
    return *reinterpret_cast<::Il2CppString**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Boolean loadAdditive
  bool& GlobalNamespace::SteamVR_LoadLevel::dyn_loadAdditive() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_loadAdditive");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "loadAdditive"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Boolean loadAsync
  bool& GlobalNamespace::SteamVR_LoadLevel::dyn_loadAsync() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_loadAsync");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "loadAsync"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture loadingScreen
  UnityEngine::Texture*& GlobalNamespace::SteamVR_LoadLevel::dyn_loadingScreen() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_loadingScreen");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "loadingScreen"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture progressBarEmpty
  UnityEngine::Texture*& GlobalNamespace::SteamVR_LoadLevel::dyn_progressBarEmpty() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_progressBarEmpty");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "progressBarEmpty"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture progressBarFull
  UnityEngine::Texture*& GlobalNamespace::SteamVR_LoadLevel::dyn_progressBarFull() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_progressBarFull");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "progressBarFull"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single loadingScreenWidthInMeters
  float& GlobalNamespace::SteamVR_LoadLevel::dyn_loadingScreenWidthInMeters() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_loadingScreenWidthInMeters");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "loadingScreenWidthInMeters"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single progressBarWidthInMeters
  float& GlobalNamespace::SteamVR_LoadLevel::dyn_progressBarWidthInMeters() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_progressBarWidthInMeters");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "progressBarWidthInMeters"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single loadingScreenDistance
  float& GlobalNamespace::SteamVR_LoadLevel::dyn_loadingScreenDistance() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_loadingScreenDistance");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "loadingScreenDistance"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Transform loadingScreenTransform
  UnityEngine::Transform*& GlobalNamespace::SteamVR_LoadLevel::dyn_loadingScreenTransform() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_loadingScreenTransform");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "loadingScreenTransform"))->offset;
    return *reinterpret_cast<UnityEngine::Transform**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Transform progressBarTransform
  UnityEngine::Transform*& GlobalNamespace::SteamVR_LoadLevel::dyn_progressBarTransform() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_progressBarTransform");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "progressBarTransform"))->offset;
    return *reinterpret_cast<UnityEngine::Transform**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture front
  UnityEngine::Texture*& GlobalNamespace::SteamVR_LoadLevel::dyn_front() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_front");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "front"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture back
  UnityEngine::Texture*& GlobalNamespace::SteamVR_LoadLevel::dyn_back() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_back");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "back"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture left
  UnityEngine::Texture*& GlobalNamespace::SteamVR_LoadLevel::dyn_left() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_left");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "left"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture right
  UnityEngine::Texture*& GlobalNamespace::SteamVR_LoadLevel::dyn_right() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_right");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "right"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture top
  UnityEngine::Texture*& GlobalNamespace::SteamVR_LoadLevel::dyn_top() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_top");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "top"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture bottom
  UnityEngine::Texture*& GlobalNamespace::SteamVR_LoadLevel::dyn_bottom() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_bottom");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "bottom"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Color backgroundColor
  UnityEngine::Color& GlobalNamespace::SteamVR_LoadLevel::dyn_backgroundColor() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_backgroundColor");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "backgroundColor"))->offset;
    return *reinterpret_cast<UnityEngine::Color*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Boolean showGrid
  bool& GlobalNamespace::SteamVR_LoadLevel::dyn_showGrid() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_showGrid");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "showGrid"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single fadeOutTime
  float& GlobalNamespace::SteamVR_LoadLevel::dyn_fadeOutTime() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_fadeOutTime");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "fadeOutTime"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single fadeInTime
  float& GlobalNamespace::SteamVR_LoadLevel::dyn_fadeInTime() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_fadeInTime");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "fadeInTime"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single postLoadSettleTime
  float& GlobalNamespace::SteamVR_LoadLevel::dyn_postLoadSettleTime() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_postLoadSettleTime");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "postLoadSettleTime"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single loadingScreenFadeInTime
  float& GlobalNamespace::SteamVR_LoadLevel::dyn_loadingScreenFadeInTime() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_loadingScreenFadeInTime");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "loadingScreenFadeInTime"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single loadingScreenFadeOutTime
  float& GlobalNamespace::SteamVR_LoadLevel::dyn_loadingScreenFadeOutTime() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_loadingScreenFadeOutTime");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "loadingScreenFadeOutTime"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single fadeRate
  float& GlobalNamespace::SteamVR_LoadLevel::dyn_fadeRate() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_fadeRate");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "fadeRate"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single alpha
  float& GlobalNamespace::SteamVR_LoadLevel::dyn_alpha() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_alpha");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "alpha"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.AsyncOperation async
  UnityEngine::AsyncOperation*& GlobalNamespace::SteamVR_LoadLevel::dyn_async() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_async");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "async"))->offset;
    return *reinterpret_cast<UnityEngine::AsyncOperation**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.RenderTexture renderTexture
  UnityEngine::RenderTexture*& GlobalNamespace::SteamVR_LoadLevel::dyn_renderTexture() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_renderTexture");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "renderTexture"))->offset;
    return *reinterpret_cast<UnityEngine::RenderTexture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.UInt64 loadingScreenOverlayHandle
  uint64_t& GlobalNamespace::SteamVR_LoadLevel::dyn_loadingScreenOverlayHandle() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_loadingScreenOverlayHandle");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "loadingScreenOverlayHandle"))->offset;
    return *reinterpret_cast<uint64_t*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.UInt64 progressBarOverlayHandle
  uint64_t& GlobalNamespace::SteamVR_LoadLevel::dyn_progressBarOverlayHandle() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_progressBarOverlayHandle");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "progressBarOverlayHandle"))->offset;
    return *reinterpret_cast<uint64_t*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Boolean autoTriggerOnEnable
  bool& GlobalNamespace::SteamVR_LoadLevel::dyn_autoTriggerOnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::dyn_autoTriggerOnEnable");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "autoTriggerOnEnable"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_LoadLevel.get_loading
  bool GlobalNamespace::SteamVR_LoadLevel::get_loading() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::get_loading");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_LoadLevel", "get_loading", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR_LoadLevel.get_progress
  float GlobalNamespace::SteamVR_LoadLevel::get_progress() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::get_progress");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_LoadLevel", "get_progress", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<float, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR_LoadLevel.get_progressTexture
  UnityEngine::Texture* GlobalNamespace::SteamVR_LoadLevel::get_progressTexture() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::get_progressTexture");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_LoadLevel", "get_progressTexture", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Texture*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR_LoadLevel.OnEnable
  void GlobalNamespace::SteamVR_LoadLevel::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::OnEnable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_LoadLevel.Trigger
  void GlobalNamespace::SteamVR_LoadLevel::Trigger() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::Trigger");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Trigger", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_LoadLevel.Begin
  void GlobalNamespace::SteamVR_LoadLevel::Begin(::Il2CppString* levelName, bool showGrid, float fadeOutTime, float r, float g, float b, float a) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::Begin");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_LoadLevel", "Begin", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(levelName), ::il2cpp_utils::ExtractType(showGrid), ::il2cpp_utils::ExtractType(fadeOutTime), ::il2cpp_utils::ExtractType(r), ::il2cpp_utils::ExtractType(g), ::il2cpp_utils::ExtractType(b), ::il2cpp_utils::ExtractType(a)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, levelName, showGrid, fadeOutTime, r, g, b, a);
  }
  // Autogenerated method: SteamVR_LoadLevel.OnGUI
  void GlobalNamespace::SteamVR_LoadLevel::OnGUI() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::OnGUI");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnGUI", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_LoadLevel.Update
  void GlobalNamespace::SteamVR_LoadLevel::Update() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::Update");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Update", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_LoadLevel.LoadLevel
  System::Collections::IEnumerator* GlobalNamespace::SteamVR_LoadLevel::LoadLevel() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::LoadLevel");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "LoadLevel", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<System::Collections::IEnumerator*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_LoadLevel.GetOverlayHandle
  uint64_t GlobalNamespace::SteamVR_LoadLevel::GetOverlayHandle(::Il2CppString* overlayName, UnityEngine::Transform* transform, float widthInMeters) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::GetOverlayHandle");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetOverlayHandle", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(overlayName), ::il2cpp_utils::ExtractType(transform), ::il2cpp_utils::ExtractType(widthInMeters)})));
    return ::il2cpp_utils::RunMethodThrow<uint64_t, false>(this, ___internal__method, overlayName, transform, widthInMeters);
  }
  // Autogenerated method: SteamVR_LoadLevel..cctor
  void GlobalNamespace::SteamVR_LoadLevel::_cctor() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::.cctor");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_LoadLevel", ".cctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: SteamVR_LoadLevel/<LoadLevel>d__45
  #include "GlobalNamespace/SteamVR_LoadLevel_-LoadLevel-d__45.hpp"
  // Including type: Valve.VR.CVROverlay
  #include "Valve/VR/CVROverlay.hpp"
  // Including type: Valve.VR.CVRCompositor
  #include "Valve/VR/CVRCompositor.hpp"
  // Including type: SteamVR_Controller/Device
  #include "GlobalNamespace/SteamVR_Controller_Device.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 <>1__state
  int& GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::dyn_$$1__state() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::dyn_$$1__state");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>1__state"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Object <>2__current
  ::Il2CppObject*& GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::dyn_$$2__current() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::dyn_$$2__current");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>2__current"))->offset;
    return *reinterpret_cast<::Il2CppObject**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public SteamVR_LoadLevel <>4__this
  GlobalNamespace::SteamVR_LoadLevel*& GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::dyn_$$4__this() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::dyn_$$4__this");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>4__this"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_LoadLevel**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private Valve.VR.CVROverlay <overlay>5__2
  Valve::VR::CVROverlay*& GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::dyn_$overlay$5__2() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::dyn_$overlay$5__2");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<overlay>5__2"))->offset;
    return *reinterpret_cast<Valve::VR::CVROverlay**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Boolean <fadedForeground>5__3
  bool& GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::dyn_$fadedForeground$5__3() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::dyn_$fadedForeground$5__3");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<fadedForeground>5__3"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private Valve.VR.CVRCompositor <compositor>5__4
  Valve::VR::CVRCompositor*& GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::dyn_$compositor$5__4() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::dyn_$compositor$5__4");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<compositor>5__4"))->offset;
    return *reinterpret_cast<Valve::VR::CVRCompositor**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private SteamVR_Controller/Device <hmd>5__5
  GlobalNamespace::SteamVR_Controller::Device*& GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::dyn_$hmd$5__5() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::dyn_$hmd$5__5");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<hmd>5__5"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_Controller::Device**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_LoadLevel/<LoadLevel>d__45.System.Collections.Generic.IEnumerator<System.Object>.get_Current
  ::Il2CppObject* GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::System_Collections_Generic_IEnumerator$System_Object$_get_Current() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::System.Collections.Generic.IEnumerator<System.Object>.get_Current");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.Generic.IEnumerator<System.Object>.get_Current", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppObject*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_LoadLevel/<LoadLevel>d__45.System.Collections.IEnumerator.get_Current
  ::Il2CppObject* GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::System_Collections_IEnumerator_get_Current() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::System.Collections.IEnumerator.get_Current");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.IEnumerator.get_Current", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppObject*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_LoadLevel/<LoadLevel>d__45.System.IDisposable.Dispose
  void GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::System_IDisposable_Dispose() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::System.IDisposable.Dispose");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.IDisposable.Dispose", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_LoadLevel/<LoadLevel>d__45.MoveNext
  bool GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::MoveNext() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::MoveNext");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "MoveNext", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_LoadLevel/<LoadLevel>d__45.System.Collections.IEnumerator.Reset
  void GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::System_Collections_IEnumerator_Reset() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_LoadLevel::$LoadLevel$d__45::System.Collections.IEnumerator.Reset");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.IEnumerator.Reset", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: SteamVR_Menu
  #include "GlobalNamespace/SteamVR_Menu.hpp"
  // Including type: UnityEngine.Texture
  #include "UnityEngine/Texture.hpp"
  // Including type: SteamVR_Overlay
  #include "GlobalNamespace/SteamVR_Overlay.hpp"
  // Including type: UnityEngine.Camera
  #include "UnityEngine/Camera.hpp"
  // Including type: UnityEngine.RenderTexture
  #include "UnityEngine/RenderTexture.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture cursor
  UnityEngine::Texture*& GlobalNamespace::SteamVR_Menu::dyn_cursor() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::dyn_cursor");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "cursor"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture background
  UnityEngine::Texture*& GlobalNamespace::SteamVR_Menu::dyn_background() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::dyn_background");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "background"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture logo
  UnityEngine::Texture*& GlobalNamespace::SteamVR_Menu::dyn_logo() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::dyn_logo");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "logo"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single logoHeight
  float& GlobalNamespace::SteamVR_Menu::dyn_logoHeight() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::dyn_logoHeight");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "logoHeight"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single menuOffset
  float& GlobalNamespace::SteamVR_Menu::dyn_menuOffset() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::dyn_menuOffset");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "menuOffset"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Vector2 scaleLimits
  UnityEngine::Vector2& GlobalNamespace::SteamVR_Menu::dyn_scaleLimits() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::dyn_scaleLimits");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "scaleLimits"))->offset;
    return *reinterpret_cast<UnityEngine::Vector2*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single scaleRate
  float& GlobalNamespace::SteamVR_Menu::dyn_scaleRate() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::dyn_scaleRate");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "scaleRate"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private SteamVR_Overlay overlay
  GlobalNamespace::SteamVR_Overlay*& GlobalNamespace::SteamVR_Menu::dyn_overlay() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::dyn_overlay");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "overlay"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_Overlay**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Camera overlayCam
  UnityEngine::Camera*& GlobalNamespace::SteamVR_Menu::dyn_overlayCam() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::dyn_overlayCam");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "overlayCam"))->offset;
    return *reinterpret_cast<UnityEngine::Camera**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Vector4 uvOffset
  UnityEngine::Vector4& GlobalNamespace::SteamVR_Menu::dyn_uvOffset() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::dyn_uvOffset");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "uvOffset"))->offset;
    return *reinterpret_cast<UnityEngine::Vector4*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single distance
  float& GlobalNamespace::SteamVR_Menu::dyn_distance() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::dyn_distance");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "distance"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single <scale>k__BackingField
  float& GlobalNamespace::SteamVR_Menu::dyn_$scale$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::dyn_$scale$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<scale>k__BackingField"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.String scaleLimitX
  ::Il2CppString*& GlobalNamespace::SteamVR_Menu::dyn_scaleLimitX() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::dyn_scaleLimitX");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "scaleLimitX"))->offset;
    return *reinterpret_cast<::Il2CppString**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.String scaleLimitY
  ::Il2CppString*& GlobalNamespace::SteamVR_Menu::dyn_scaleLimitY() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::dyn_scaleLimitY");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "scaleLimitY"))->offset;
    return *reinterpret_cast<::Il2CppString**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.String scaleRateText
  ::Il2CppString*& GlobalNamespace::SteamVR_Menu::dyn_scaleRateText() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::dyn_scaleRateText");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "scaleRateText"))->offset;
    return *reinterpret_cast<::Il2CppString**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.CursorLockMode savedCursorLockState
  UnityEngine::CursorLockMode& GlobalNamespace::SteamVR_Menu::dyn_savedCursorLockState() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::dyn_savedCursorLockState");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "savedCursorLockState"))->offset;
    return *reinterpret_cast<UnityEngine::CursorLockMode*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Boolean savedCursorVisible
  bool& GlobalNamespace::SteamVR_Menu::dyn_savedCursorVisible() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::dyn_savedCursorVisible");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "savedCursorVisible"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_Menu.get_texture
  UnityEngine::RenderTexture* GlobalNamespace::SteamVR_Menu::get_texture() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::get_texture");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_texture", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::RenderTexture*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Menu.get_scale
  float GlobalNamespace::SteamVR_Menu::get_scale() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::get_scale");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_scale", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<float, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Menu.set_scale
  void GlobalNamespace::SteamVR_Menu::set_scale(float value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::set_scale");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_scale", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR_Menu.Awake
  void GlobalNamespace::SteamVR_Menu::Awake() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::Awake");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Awake", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Menu.OnGUI
  void GlobalNamespace::SteamVR_Menu::OnGUI() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::OnGUI");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnGUI", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Menu.ShowMenu
  void GlobalNamespace::SteamVR_Menu::ShowMenu() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::ShowMenu");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "ShowMenu", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Menu.HideMenu
  void GlobalNamespace::SteamVR_Menu::HideMenu() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::HideMenu");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "HideMenu", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Menu.Update
  void GlobalNamespace::SteamVR_Menu::Update() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::Update");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Update", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Menu.SetScale
  void GlobalNamespace::SteamVR_Menu::SetScale(float scale) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::SetScale");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "SetScale", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(scale)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, scale);
  }
  // Autogenerated method: SteamVR_Menu.SaveCursorState
  void GlobalNamespace::SteamVR_Menu::SaveCursorState() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::SaveCursorState");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "SaveCursorState", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Menu.RestoreCursorState
  void GlobalNamespace::SteamVR_Menu::RestoreCursorState() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Menu::RestoreCursorState");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "RestoreCursorState", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: SteamVR_Overlay
  #include "GlobalNamespace/SteamVR_Overlay.hpp"
  // Including type: SteamVR_Overlay/IntersectionResults
  #include "GlobalNamespace/SteamVR_Overlay_IntersectionResults.hpp"
  // Including type: UnityEngine.Texture
  #include "UnityEngine/Texture.hpp"
  // Including type: Valve.VR.VREvent_t
  #include "Valve/VR/VREvent_t.hpp"
  // Including type: UnityEngine.Vector3
  #include "UnityEngine/Vector3.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static private SteamVR_Overlay <instance>k__BackingField
  GlobalNamespace::SteamVR_Overlay* GlobalNamespace::SteamVR_Overlay::_get_$instance$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::_get_$instance$k__BackingField");
    return THROW_UNLESS((il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Overlay*>("", "SteamVR_Overlay", "<instance>k__BackingField")));
  }
  // Autogenerated static field setter
  // Set static field: static private SteamVR_Overlay <instance>k__BackingField
  void GlobalNamespace::SteamVR_Overlay::_set_$instance$k__BackingField(GlobalNamespace::SteamVR_Overlay* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::_set_$instance$k__BackingField");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Overlay", "<instance>k__BackingField", value));
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture texture
  UnityEngine::Texture*& GlobalNamespace::SteamVR_Overlay::dyn_texture() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::dyn_texture");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "texture"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Boolean curved
  bool& GlobalNamespace::SteamVR_Overlay::dyn_curved() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::dyn_curved");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "curved"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Boolean antialias
  bool& GlobalNamespace::SteamVR_Overlay::dyn_antialias() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::dyn_antialias");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "antialias"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Boolean highquality
  bool& GlobalNamespace::SteamVR_Overlay::dyn_highquality() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::dyn_highquality");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "highquality"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single scale
  float& GlobalNamespace::SteamVR_Overlay::dyn_scale() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::dyn_scale");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "scale"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single distance
  float& GlobalNamespace::SteamVR_Overlay::dyn_distance() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::dyn_distance");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "distance"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single alpha
  float& GlobalNamespace::SteamVR_Overlay::dyn_alpha() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::dyn_alpha");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "alpha"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Vector4 uvOffset
  UnityEngine::Vector4& GlobalNamespace::SteamVR_Overlay::dyn_uvOffset() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::dyn_uvOffset");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "uvOffset"))->offset;
    return *reinterpret_cast<UnityEngine::Vector4*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Vector2 mouseScale
  UnityEngine::Vector2& GlobalNamespace::SteamVR_Overlay::dyn_mouseScale() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::dyn_mouseScale");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "mouseScale"))->offset;
    return *reinterpret_cast<UnityEngine::Vector2*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Vector2 curvedRange
  UnityEngine::Vector2& GlobalNamespace::SteamVR_Overlay::dyn_curvedRange() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::dyn_curvedRange");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "curvedRange"))->offset;
    return *reinterpret_cast<UnityEngine::Vector2*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public Valve.VR.VROverlayInputMethod inputMethod
  Valve::VR::VROverlayInputMethod& GlobalNamespace::SteamVR_Overlay::dyn_inputMethod() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::dyn_inputMethod");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "inputMethod"))->offset;
    return *reinterpret_cast<Valve::VR::VROverlayInputMethod*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.UInt64 handle
  uint64_t& GlobalNamespace::SteamVR_Overlay::dyn_handle() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::dyn_handle");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "handle"))->offset;
    return *reinterpret_cast<uint64_t*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_Overlay.get_instance
  GlobalNamespace::SteamVR_Overlay* GlobalNamespace::SteamVR_Overlay::get_instance() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::get_instance");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Overlay", "get_instance", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Overlay*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR_Overlay.set_instance
  void GlobalNamespace::SteamVR_Overlay::set_instance(GlobalNamespace::SteamVR_Overlay* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::set_instance");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Overlay", "set_instance", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, value);
  }
  // Autogenerated method: SteamVR_Overlay.get_key
  ::Il2CppString* GlobalNamespace::SteamVR_Overlay::get_key() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::get_key");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Overlay", "get_key", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppString*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR_Overlay.OnEnable
  void GlobalNamespace::SteamVR_Overlay::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::OnEnable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Overlay.OnDisable
  void GlobalNamespace::SteamVR_Overlay::OnDisable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::OnDisable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDisable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Overlay.UpdateOverlay
  void GlobalNamespace::SteamVR_Overlay::UpdateOverlay() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::UpdateOverlay");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "UpdateOverlay", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Overlay.PollNextEvent
  bool GlobalNamespace::SteamVR_Overlay::PollNextEvent(ByRef<Valve::VR::VREvent_t> pEvent) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::PollNextEvent");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "PollNextEvent", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pEvent)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, byref(pEvent));
  }
  // Autogenerated method: SteamVR_Overlay.ComputeIntersection
  bool GlobalNamespace::SteamVR_Overlay::ComputeIntersection(UnityEngine::Vector3 source, UnityEngine::Vector3 direction, ByRef<GlobalNamespace::SteamVR_Overlay::IntersectionResults> results) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Overlay::ComputeIntersection");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "ComputeIntersection", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(source), ::il2cpp_utils::ExtractType(direction), ::il2cpp_utils::ExtractType(results)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, source, direction, byref(results));
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_PlayArea
  #include "GlobalNamespace/SteamVR_PlayArea.hpp"
  // Including type: SteamVR_PlayArea/<UpdateBounds>d__14
  #include "GlobalNamespace/SteamVR_PlayArea_-UpdateBounds-d__14.hpp"
  // Including type: Valve.VR.HmdQuad_t
  #include "Valve/VR/HmdQuad_t.hpp"
  // Including type: System.Collections.IEnumerator
  #include "System/Collections/IEnumerator.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: public System.Single borderThickness
  float& GlobalNamespace::SteamVR_PlayArea::dyn_borderThickness() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::dyn_borderThickness");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "borderThickness"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single wireframeHeight
  float& GlobalNamespace::SteamVR_PlayArea::dyn_wireframeHeight() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::dyn_wireframeHeight");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "wireframeHeight"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Boolean drawWireframeWhenSelectedOnly
  bool& GlobalNamespace::SteamVR_PlayArea::dyn_drawWireframeWhenSelectedOnly() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::dyn_drawWireframeWhenSelectedOnly");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "drawWireframeWhenSelectedOnly"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Boolean drawInGame
  bool& GlobalNamespace::SteamVR_PlayArea::dyn_drawInGame() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::dyn_drawInGame");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "drawInGame"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public SteamVR_PlayArea/Size size
  GlobalNamespace::SteamVR_PlayArea::Size& GlobalNamespace::SteamVR_PlayArea::dyn_size() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::dyn_size");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "size"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_PlayArea::Size*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Color color
  UnityEngine::Color& GlobalNamespace::SteamVR_PlayArea::dyn_color() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::dyn_color");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "color"))->offset;
    return *reinterpret_cast<UnityEngine::Color*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Vector3[] vertices
  ::ArrayW<UnityEngine::Vector3>& GlobalNamespace::SteamVR_PlayArea::dyn_vertices() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::dyn_vertices");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "vertices"))->offset;
    return *reinterpret_cast<::ArrayW<UnityEngine::Vector3>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_PlayArea.GetBounds
  bool GlobalNamespace::SteamVR_PlayArea::GetBounds(GlobalNamespace::SteamVR_PlayArea::Size size, ByRef<Valve::VR::HmdQuad_t> pRect) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::GetBounds");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_PlayArea", "GetBounds", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(size), ::il2cpp_utils::ExtractType(pRect)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, size, byref(pRect));
  }
  // Autogenerated method: SteamVR_PlayArea.BuildMesh
  void GlobalNamespace::SteamVR_PlayArea::BuildMesh() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::BuildMesh");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BuildMesh", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_PlayArea.OnDrawGizmos
  void GlobalNamespace::SteamVR_PlayArea::OnDrawGizmos() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::OnDrawGizmos");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDrawGizmos", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_PlayArea.OnDrawGizmosSelected
  void GlobalNamespace::SteamVR_PlayArea::OnDrawGizmosSelected() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::OnDrawGizmosSelected");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDrawGizmosSelected", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_PlayArea.DrawWireframe
  void GlobalNamespace::SteamVR_PlayArea::DrawWireframe() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::DrawWireframe");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "DrawWireframe", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_PlayArea.OnEnable
  void GlobalNamespace::SteamVR_PlayArea::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::OnEnable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_PlayArea.UpdateBounds
  System::Collections::IEnumerator* GlobalNamespace::SteamVR_PlayArea::UpdateBounds() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::UpdateBounds");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "UpdateBounds", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<System::Collections::IEnumerator*, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_PlayArea/Size
  #include "GlobalNamespace/SteamVR_PlayArea.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static public SteamVR_PlayArea/Size Calibrated
  GlobalNamespace::SteamVR_PlayArea::Size GlobalNamespace::SteamVR_PlayArea::Size::_get_Calibrated() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::Size::_get_Calibrated");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_PlayArea::Size>("", "SteamVR_PlayArea/Size", "Calibrated"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_PlayArea/Size Calibrated
  void GlobalNamespace::SteamVR_PlayArea::Size::_set_Calibrated(GlobalNamespace::SteamVR_PlayArea::Size value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::Size::_set_Calibrated");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_PlayArea/Size", "Calibrated", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_PlayArea/Size _400x300
  GlobalNamespace::SteamVR_PlayArea::Size GlobalNamespace::SteamVR_PlayArea::Size::_get__400x300() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::Size::_get__400x300");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_PlayArea::Size>("", "SteamVR_PlayArea/Size", "_400x300"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_PlayArea/Size _400x300
  void GlobalNamespace::SteamVR_PlayArea::Size::_set__400x300(GlobalNamespace::SteamVR_PlayArea::Size value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::Size::_set__400x300");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_PlayArea/Size", "_400x300", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_PlayArea/Size _300x225
  GlobalNamespace::SteamVR_PlayArea::Size GlobalNamespace::SteamVR_PlayArea::Size::_get__300x225() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::Size::_get__300x225");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_PlayArea::Size>("", "SteamVR_PlayArea/Size", "_300x225"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_PlayArea/Size _300x225
  void GlobalNamespace::SteamVR_PlayArea::Size::_set__300x225(GlobalNamespace::SteamVR_PlayArea::Size value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::Size::_set__300x225");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_PlayArea/Size", "_300x225", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_PlayArea/Size _200x150
  GlobalNamespace::SteamVR_PlayArea::Size GlobalNamespace::SteamVR_PlayArea::Size::_get__200x150() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::Size::_get__200x150");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_PlayArea::Size>("", "SteamVR_PlayArea/Size", "_200x150"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_PlayArea/Size _200x150
  void GlobalNamespace::SteamVR_PlayArea::Size::_set__200x150(GlobalNamespace::SteamVR_PlayArea::Size value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::Size::_set__200x150");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_PlayArea/Size", "_200x150", value));
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Int32 value__
  int& GlobalNamespace::SteamVR_PlayArea::Size::dyn_value__() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::Size::dyn_value__");
    auto ___internal__instance = *this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "value__"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: SteamVR_PlayArea/<UpdateBounds>d__14
  #include "GlobalNamespace/SteamVR_PlayArea_-UpdateBounds-d__14.hpp"
  // Including type: Valve.VR.CVRChaperone
  #include "Valve/VR/CVRChaperone.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 <>1__state
  int& GlobalNamespace::SteamVR_PlayArea::$UpdateBounds$d__14::dyn_$$1__state() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::$UpdateBounds$d__14::dyn_$$1__state");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>1__state"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Object <>2__current
  ::Il2CppObject*& GlobalNamespace::SteamVR_PlayArea::$UpdateBounds$d__14::dyn_$$2__current() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::$UpdateBounds$d__14::dyn_$$2__current");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>2__current"))->offset;
    return *reinterpret_cast<::Il2CppObject**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public SteamVR_PlayArea <>4__this
  GlobalNamespace::SteamVR_PlayArea*& GlobalNamespace::SteamVR_PlayArea::$UpdateBounds$d__14::dyn_$$4__this() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::$UpdateBounds$d__14::dyn_$$4__this");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>4__this"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_PlayArea**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private Valve.VR.CVRChaperone <chaperone>5__2
  Valve::VR::CVRChaperone*& GlobalNamespace::SteamVR_PlayArea::$UpdateBounds$d__14::dyn_$chaperone$5__2() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::$UpdateBounds$d__14::dyn_$chaperone$5__2");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<chaperone>5__2"))->offset;
    return *reinterpret_cast<Valve::VR::CVRChaperone**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_PlayArea/<UpdateBounds>d__14.System.Collections.Generic.IEnumerator<System.Object>.get_Current
  ::Il2CppObject* GlobalNamespace::SteamVR_PlayArea::$UpdateBounds$d__14::System_Collections_Generic_IEnumerator$System_Object$_get_Current() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::$UpdateBounds$d__14::System.Collections.Generic.IEnumerator<System.Object>.get_Current");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.Generic.IEnumerator<System.Object>.get_Current", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppObject*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_PlayArea/<UpdateBounds>d__14.System.Collections.IEnumerator.get_Current
  ::Il2CppObject* GlobalNamespace::SteamVR_PlayArea::$UpdateBounds$d__14::System_Collections_IEnumerator_get_Current() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::$UpdateBounds$d__14::System.Collections.IEnumerator.get_Current");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.IEnumerator.get_Current", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppObject*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_PlayArea/<UpdateBounds>d__14.System.IDisposable.Dispose
  void GlobalNamespace::SteamVR_PlayArea::$UpdateBounds$d__14::System_IDisposable_Dispose() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::$UpdateBounds$d__14::System.IDisposable.Dispose");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.IDisposable.Dispose", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_PlayArea/<UpdateBounds>d__14.MoveNext
  bool GlobalNamespace::SteamVR_PlayArea::$UpdateBounds$d__14::MoveNext() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::$UpdateBounds$d__14::MoveNext");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "MoveNext", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_PlayArea/<UpdateBounds>d__14.System.Collections.IEnumerator.Reset
  void GlobalNamespace::SteamVR_PlayArea::$UpdateBounds$d__14::System_Collections_IEnumerator_Reset() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_PlayArea::$UpdateBounds$d__14::System.Collections.IEnumerator.Reset");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.IEnumerator.Reset", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: SteamVR_Render
  #include "GlobalNamespace/SteamVR_Render.hpp"
  // Including type: SteamVR_Render/<RenderLoop>d__29
  #include "GlobalNamespace/SteamVR_Render_-RenderLoop-d__29.hpp"
  // Including type: SteamVR_ExternalCamera
  #include "GlobalNamespace/SteamVR_ExternalCamera.hpp"
  // Including type: SteamVR_Camera
  #include "GlobalNamespace/SteamVR_Camera.hpp"
  // Including type: UnityEngine.WaitForEndOfFrame
  #include "UnityEngine/WaitForEndOfFrame.hpp"
  // Including type: System.Collections.IEnumerator
  #include "System/Collections/IEnumerator.hpp"
  // Including type: Valve.VR.VREvent_t
  #include "Valve/VR/VREvent_t.hpp"
  // Including type: Valve.VR.EVRScreenshotPropertyFilenames
  #include "Valve/VR/EVRScreenshotPropertyFilenames.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static private Valve.VR.EVREye <eye>k__BackingField
  Valve::VR::EVREye GlobalNamespace::SteamVR_Render::_get_$eye$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::_get_$eye$k__BackingField");
    return THROW_UNLESS((il2cpp_utils::GetFieldValue<Valve::VR::EVREye>("", "SteamVR_Render", "<eye>k__BackingField")));
  }
  // Autogenerated static field setter
  // Set static field: static private Valve.VR.EVREye <eye>k__BackingField
  void GlobalNamespace::SteamVR_Render::_set_$eye$k__BackingField(Valve::VR::EVREye value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::_set_$eye$k__BackingField");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Render", "<eye>k__BackingField", value));
  }
  // Autogenerated static field getter
  // Get static field: static private SteamVR_Render _instance
  GlobalNamespace::SteamVR_Render* GlobalNamespace::SteamVR_Render::_get__instance() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::_get__instance");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Render*>("", "SteamVR_Render", "_instance"));
  }
  // Autogenerated static field setter
  // Set static field: static private SteamVR_Render _instance
  void GlobalNamespace::SteamVR_Render::_set__instance(GlobalNamespace::SteamVR_Render* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::_set__instance");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Render", "_instance", value));
  }
  // Autogenerated static field getter
  // Get static field: static private System.Boolean isQuitting
  bool GlobalNamespace::SteamVR_Render::_get_isQuitting() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::_get_isQuitting");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<bool>("", "SteamVR_Render", "isQuitting"));
  }
  // Autogenerated static field setter
  // Set static field: static private System.Boolean isQuitting
  void GlobalNamespace::SteamVR_Render::_set_isQuitting(bool value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::_set_isQuitting");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Render", "isQuitting", value));
  }
  // Autogenerated static field getter
  // Get static field: static private System.Boolean _pauseRendering
  bool GlobalNamespace::SteamVR_Render::_get__pauseRendering() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::_get__pauseRendering");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<bool>("", "SteamVR_Render", "_pauseRendering"));
  }
  // Autogenerated static field setter
  // Set static field: static private System.Boolean _pauseRendering
  void GlobalNamespace::SteamVR_Render::_set__pauseRendering(bool value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::_set__pauseRendering");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Render", "_pauseRendering", value));
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Boolean pauseGameWhenDashboardIsVisible
  bool& GlobalNamespace::SteamVR_Render::dyn_pauseGameWhenDashboardIsVisible() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::dyn_pauseGameWhenDashboardIsVisible");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "pauseGameWhenDashboardIsVisible"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Boolean lockPhysicsUpdateRateToRenderFrequency
  bool& GlobalNamespace::SteamVR_Render::dyn_lockPhysicsUpdateRateToRenderFrequency() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::dyn_lockPhysicsUpdateRateToRenderFrequency");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "lockPhysicsUpdateRateToRenderFrequency"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public SteamVR_ExternalCamera externalCamera
  GlobalNamespace::SteamVR_ExternalCamera*& GlobalNamespace::SteamVR_Render::dyn_externalCamera() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::dyn_externalCamera");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "externalCamera"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_ExternalCamera**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.String externalCameraConfigPath
  ::Il2CppString*& GlobalNamespace::SteamVR_Render::dyn_externalCameraConfigPath() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::dyn_externalCameraConfigPath");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "externalCameraConfigPath"))->offset;
    return *reinterpret_cast<::Il2CppString**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public Valve.VR.ETrackingUniverseOrigin trackingSpace
  Valve::VR::ETrackingUniverseOrigin& GlobalNamespace::SteamVR_Render::dyn_trackingSpace() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::dyn_trackingSpace");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "trackingSpace"))->offset;
    return *reinterpret_cast<Valve::VR::ETrackingUniverseOrigin*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private SteamVR_Camera[] cameras
  ::ArrayW<GlobalNamespace::SteamVR_Camera*>& GlobalNamespace::SteamVR_Render::dyn_cameras() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::dyn_cameras");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "cameras"))->offset;
    return *reinterpret_cast<::ArrayW<GlobalNamespace::SteamVR_Camera*>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public Valve.VR.TrackedDevicePose_t[] poses
  ::ArrayW<Valve::VR::TrackedDevicePose_t>& GlobalNamespace::SteamVR_Render::dyn_poses() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::dyn_poses");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "poses"))->offset;
    return *reinterpret_cast<::ArrayW<Valve::VR::TrackedDevicePose_t>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public Valve.VR.TrackedDevicePose_t[] gamePoses
  ::ArrayW<Valve::VR::TrackedDevicePose_t>& GlobalNamespace::SteamVR_Render::dyn_gamePoses() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::dyn_gamePoses");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "gamePoses"))->offset;
    return *reinterpret_cast<::ArrayW<Valve::VR::TrackedDevicePose_t>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.WaitForEndOfFrame waitForEndOfFrame
  UnityEngine::WaitForEndOfFrame*& GlobalNamespace::SteamVR_Render::dyn_waitForEndOfFrame() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::dyn_waitForEndOfFrame");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "waitForEndOfFrame"))->offset;
    return *reinterpret_cast<UnityEngine::WaitForEndOfFrame**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single sceneResolutionScale
  float& GlobalNamespace::SteamVR_Render::dyn_sceneResolutionScale() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::dyn_sceneResolutionScale");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "sceneResolutionScale"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Single timeScale
  float& GlobalNamespace::SteamVR_Render::dyn_timeScale() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::dyn_timeScale");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "timeScale"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_Render.get_eye
  Valve::VR::EVREye GlobalNamespace::SteamVR_Render::get_eye() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::get_eye");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Render", "get_eye", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::EVREye, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR_Render.set_eye
  void GlobalNamespace::SteamVR_Render::set_eye(Valve::VR::EVREye value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::set_eye");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Render", "set_eye", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, value);
  }
  // Autogenerated method: SteamVR_Render.get_instance
  GlobalNamespace::SteamVR_Render* GlobalNamespace::SteamVR_Render::get_instance() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::get_instance");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Render", "get_instance", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Render*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR_Render.get_pauseRendering
  bool GlobalNamespace::SteamVR_Render::get_pauseRendering() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::get_pauseRendering");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Render", "get_pauseRendering", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR_Render.set_pauseRendering
  void GlobalNamespace::SteamVR_Render::set_pauseRendering(bool value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::set_pauseRendering");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Render", "set_pauseRendering", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, value);
  }
  // Autogenerated method: SteamVR_Render.OnDestroy
  void GlobalNamespace::SteamVR_Render::OnDestroy() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::OnDestroy");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDestroy", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Render.OnApplicationQuit
  void GlobalNamespace::SteamVR_Render::OnApplicationQuit() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::OnApplicationQuit");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnApplicationQuit", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Render.Add
  void GlobalNamespace::SteamVR_Render::Add(GlobalNamespace::SteamVR_Camera* vrcam) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::Add");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Render", "Add", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(vrcam)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, vrcam);
  }
  // Autogenerated method: SteamVR_Render.Remove
  void GlobalNamespace::SteamVR_Render::Remove(GlobalNamespace::SteamVR_Camera* vrcam) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::Remove");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Render", "Remove", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(vrcam)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, vrcam);
  }
  // Autogenerated method: SteamVR_Render.Top
  GlobalNamespace::SteamVR_Camera* GlobalNamespace::SteamVR_Render::Top() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::Top");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Render", "Top", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Camera*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR_Render.AddInternal
  void GlobalNamespace::SteamVR_Render::AddInternal(GlobalNamespace::SteamVR_Camera* vrcam) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::AddInternal");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "AddInternal", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(vrcam)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, vrcam);
  }
  // Autogenerated method: SteamVR_Render.RemoveInternal
  void GlobalNamespace::SteamVR_Render::RemoveInternal(GlobalNamespace::SteamVR_Camera* vrcam) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::RemoveInternal");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "RemoveInternal", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(vrcam)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, vrcam);
  }
  // Autogenerated method: SteamVR_Render.TopInternal
  GlobalNamespace::SteamVR_Camera* GlobalNamespace::SteamVR_Render::TopInternal() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::TopInternal");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "TopInternal", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Camera*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Render.RenderLoop
  System::Collections::IEnumerator* GlobalNamespace::SteamVR_Render::RenderLoop() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::RenderLoop");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "RenderLoop", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<System::Collections::IEnumerator*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Render.RenderExternalCamera
  void GlobalNamespace::SteamVR_Render::RenderExternalCamera() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::RenderExternalCamera");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "RenderExternalCamera", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Render.OnInputFocus
  void GlobalNamespace::SteamVR_Render::OnInputFocus(bool hasFocus) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::OnInputFocus");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnInputFocus", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(hasFocus)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, hasFocus);
  }
  // Autogenerated method: SteamVR_Render.OnQuit
  void GlobalNamespace::SteamVR_Render::OnQuit(Valve::VR::VREvent_t vrEvent) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::OnQuit");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnQuit", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(vrEvent)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, vrEvent);
  }
  // Autogenerated method: SteamVR_Render.GetScreenshotFilename
  ::Il2CppString* GlobalNamespace::SteamVR_Render::GetScreenshotFilename(uint screenshotHandle, Valve::VR::EVRScreenshotPropertyFilenames screenshotPropertyFilename) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::GetScreenshotFilename");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetScreenshotFilename", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(screenshotHandle), ::il2cpp_utils::ExtractType(screenshotPropertyFilename)})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppString*, false>(this, ___internal__method, screenshotHandle, screenshotPropertyFilename);
  }
  // Autogenerated method: SteamVR_Render.OnRequestScreenshot
  void GlobalNamespace::SteamVR_Render::OnRequestScreenshot(Valve::VR::VREvent_t vrEvent) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::OnRequestScreenshot");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnRequestScreenshot", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(vrEvent)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, vrEvent);
  }
  // Autogenerated method: SteamVR_Render.OnEnable
  void GlobalNamespace::SteamVR_Render::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::OnEnable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Render.OnDisable
  void GlobalNamespace::SteamVR_Render::OnDisable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::OnDisable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDisable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Render.Awake
  void GlobalNamespace::SteamVR_Render::Awake() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::Awake");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Awake", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Render.UpdatePoses
  void GlobalNamespace::SteamVR_Render::UpdatePoses() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::UpdatePoses");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "UpdatePoses", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Render.OnBeforeRender
  void GlobalNamespace::SteamVR_Render::OnBeforeRender() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::OnBeforeRender");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnBeforeRender", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Render.Update
  void GlobalNamespace::SteamVR_Render::Update() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::Update");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Update", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: SteamVR_Render/<RenderLoop>d__29
  #include "GlobalNamespace/SteamVR_Render_-RenderLoop-d__29.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 <>1__state
  int& GlobalNamespace::SteamVR_Render::$RenderLoop$d__29::dyn_$$1__state() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::$RenderLoop$d__29::dyn_$$1__state");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>1__state"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Object <>2__current
  ::Il2CppObject*& GlobalNamespace::SteamVR_Render::$RenderLoop$d__29::dyn_$$2__current() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::$RenderLoop$d__29::dyn_$$2__current");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>2__current"))->offset;
    return *reinterpret_cast<::Il2CppObject**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public SteamVR_Render <>4__this
  GlobalNamespace::SteamVR_Render*& GlobalNamespace::SteamVR_Render::$RenderLoop$d__29::dyn_$$4__this() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::$RenderLoop$d__29::dyn_$$4__this");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>4__this"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_Render**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_Render/<RenderLoop>d__29.System.Collections.Generic.IEnumerator<System.Object>.get_Current
  ::Il2CppObject* GlobalNamespace::SteamVR_Render::$RenderLoop$d__29::System_Collections_Generic_IEnumerator$System_Object$_get_Current() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::$RenderLoop$d__29::System.Collections.Generic.IEnumerator<System.Object>.get_Current");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.Generic.IEnumerator<System.Object>.get_Current", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppObject*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Render/<RenderLoop>d__29.System.Collections.IEnumerator.get_Current
  ::Il2CppObject* GlobalNamespace::SteamVR_Render::$RenderLoop$d__29::System_Collections_IEnumerator_get_Current() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::$RenderLoop$d__29::System.Collections.IEnumerator.get_Current");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.IEnumerator.get_Current", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppObject*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Render/<RenderLoop>d__29.System.IDisposable.Dispose
  void GlobalNamespace::SteamVR_Render::$RenderLoop$d__29::System_IDisposable_Dispose() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::$RenderLoop$d__29::System.IDisposable.Dispose");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.IDisposable.Dispose", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Render/<RenderLoop>d__29.MoveNext
  bool GlobalNamespace::SteamVR_Render::$RenderLoop$d__29::MoveNext() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::$RenderLoop$d__29::MoveNext");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "MoveNext", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Render/<RenderLoop>d__29.System.Collections.IEnumerator.Reset
  void GlobalNamespace::SteamVR_Render::$RenderLoop$d__29::System_Collections_IEnumerator_Reset() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Render::$RenderLoop$d__29::System.Collections.IEnumerator.Reset");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.IEnumerator.Reset", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: SteamVR_RenderModel
  #include "GlobalNamespace/SteamVR_RenderModel.hpp"
  // Including type: SteamVR_RenderModel/RenderModel
  #include "GlobalNamespace/SteamVR_RenderModel_RenderModel.hpp"
  // Including type: SteamVR_RenderModel/RenderModelInterfaceHolder
  #include "GlobalNamespace/SteamVR_RenderModel_RenderModelInterfaceHolder.hpp"
  // Including type: SteamVR_RenderModel/<SetModelAsync>d__21
  #include "GlobalNamespace/SteamVR_RenderModel_-SetModelAsync-d__21.hpp"
  // Including type: SteamVR_RenderModel/<FreeRenderModel>d__24
  #include "GlobalNamespace/SteamVR_RenderModel_-FreeRenderModel-d__24.hpp"
  // Including type: UnityEngine.Shader
  #include "UnityEngine/Shader.hpp"
  // Including type: System.Collections.Generic.Dictionary`2
  #include "System/Collections/Generic/Dictionary_2.hpp"
  // Including type: System.String
  #include "System/String.hpp"
  // Including type: System.Collections.Hashtable
  #include "System/Collections/Hashtable.hpp"
  // Including type: Valve.VR.VREvent_t
  #include "Valve/VR/VREvent_t.hpp"
  // Including type: System.Collections.IEnumerator
  #include "System/Collections/IEnumerator.hpp"
  // Including type: Valve.VR.CVRRenderModels
  #include "Valve/VR/CVRRenderModels.hpp"
  // Including type: System.IntPtr
  #include "System/IntPtr.hpp"
  // Including type: UnityEngine.Transform
  #include "UnityEngine/Transform.hpp"
  // Including type: UnityEngine.GameObject
  #include "UnityEngine/GameObject.hpp"
  // Including type: Valve.VR.RenderModel_t
  #include "Valve/VR/RenderModel_t.hpp"
  // Including type: Valve.VR.RenderModel_TextureMap_t
  #include "Valve/VR/RenderModel_TextureMap_t.hpp"
  // Including type: SteamVR_Events/Action
  #include "GlobalNamespace/SteamVR_Events_Action.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static public System.String modelOverrideWarning
  ::Il2CppString* GlobalNamespace::SteamVR_RenderModel::_get_modelOverrideWarning() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::_get_modelOverrideWarning");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Il2CppString*>("", "SteamVR_RenderModel", "modelOverrideWarning"));
  }
  // Autogenerated static field setter
  // Set static field: static public System.String modelOverrideWarning
  void GlobalNamespace::SteamVR_RenderModel::_set_modelOverrideWarning(::Il2CppString* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::_set_modelOverrideWarning");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_RenderModel", "modelOverrideWarning", value));
  }
  // Autogenerated static field getter
  // Get static field: static public System.String k_localTransformName
  ::Il2CppString* GlobalNamespace::SteamVR_RenderModel::_get_k_localTransformName() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::_get_k_localTransformName");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Il2CppString*>("", "SteamVR_RenderModel", "k_localTransformName"));
  }
  // Autogenerated static field setter
  // Set static field: static public System.String k_localTransformName
  void GlobalNamespace::SteamVR_RenderModel::_set_k_localTransformName(::Il2CppString* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::_set_k_localTransformName");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_RenderModel", "k_localTransformName", value));
  }
  // Autogenerated static field getter
  // Get static field: static public System.Collections.Hashtable models
  System::Collections::Hashtable* GlobalNamespace::SteamVR_RenderModel::_get_models() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::_get_models");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<System::Collections::Hashtable*>("", "SteamVR_RenderModel", "models"));
  }
  // Autogenerated static field setter
  // Set static field: static public System.Collections.Hashtable models
  void GlobalNamespace::SteamVR_RenderModel::_set_models(System::Collections::Hashtable* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::_set_models");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_RenderModel", "models", value));
  }
  // Autogenerated static field getter
  // Get static field: static public System.Collections.Hashtable materials
  System::Collections::Hashtable* GlobalNamespace::SteamVR_RenderModel::_get_materials() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::_get_materials");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<System::Collections::Hashtable*>("", "SteamVR_RenderModel", "materials"));
  }
  // Autogenerated static field setter
  // Set static field: static public System.Collections.Hashtable materials
  void GlobalNamespace::SteamVR_RenderModel::_set_materials(System::Collections::Hashtable* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::_set_materials");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_RenderModel", "materials", value));
  }
  // Autogenerated instance field getter
  // Get instance field: public SteamVR_TrackedObject/EIndex index
  GlobalNamespace::SteamVR_TrackedObject::EIndex& GlobalNamespace::SteamVR_RenderModel::dyn_index() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::dyn_index");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "index"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_TrackedObject::EIndex*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.String modelOverride
  ::Il2CppString*& GlobalNamespace::SteamVR_RenderModel::dyn_modelOverride() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::dyn_modelOverride");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "modelOverride"))->offset;
    return *reinterpret_cast<::Il2CppString**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Shader shader
  UnityEngine::Shader*& GlobalNamespace::SteamVR_RenderModel::dyn_shader() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::dyn_shader");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "shader"))->offset;
    return *reinterpret_cast<UnityEngine::Shader**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Boolean verbose
  bool& GlobalNamespace::SteamVR_RenderModel::dyn_verbose() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::dyn_verbose");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "verbose"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Boolean createComponents
  bool& GlobalNamespace::SteamVR_RenderModel::dyn_createComponents() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::dyn_createComponents");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "createComponents"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Boolean updateDynamically
  bool& GlobalNamespace::SteamVR_RenderModel::dyn_updateDynamically() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::dyn_updateDynamically");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "updateDynamically"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public Valve.VR.RenderModel_ControllerMode_State_t controllerModeState
  Valve::VR::RenderModel_ControllerMode_State_t& GlobalNamespace::SteamVR_RenderModel::dyn_controllerModeState() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::dyn_controllerModeState");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "controllerModeState"))->offset;
    return *reinterpret_cast<Valve::VR::RenderModel_ControllerMode_State_t*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.String <renderModelName>k__BackingField
  ::Il2CppString*& GlobalNamespace::SteamVR_RenderModel::dyn_$renderModelName$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::dyn_$renderModelName$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<renderModelName>k__BackingField"))->offset;
    return *reinterpret_cast<::Il2CppString**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private SteamVR_Events/Action deviceConnectedAction
  GlobalNamespace::SteamVR_Events::Action*& GlobalNamespace::SteamVR_RenderModel::dyn_deviceConnectedAction() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::dyn_deviceConnectedAction");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "deviceConnectedAction"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_Events::Action**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private SteamVR_Events/Action hideRenderModelsAction
  GlobalNamespace::SteamVR_Events::Action*& GlobalNamespace::SteamVR_RenderModel::dyn_hideRenderModelsAction() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::dyn_hideRenderModelsAction");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "hideRenderModelsAction"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_Events::Action**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private SteamVR_Events/Action modelSkinSettingsHaveChangedAction
  GlobalNamespace::SteamVR_Events::Action*& GlobalNamespace::SteamVR_RenderModel::dyn_modelSkinSettingsHaveChangedAction() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::dyn_modelSkinSettingsHaveChangedAction");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "modelSkinSettingsHaveChangedAction"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_Events::Action**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Collections.Generic.Dictionary`2<System.Int32,System.String> nameCache
  System::Collections::Generic::Dictionary_2<int, ::Il2CppString*>*& GlobalNamespace::SteamVR_RenderModel::dyn_nameCache() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::dyn_nameCache");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "nameCache"))->offset;
    return *reinterpret_cast<System::Collections::Generic::Dictionary_2<int, ::Il2CppString*>**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_RenderModel.get_renderModelName
  ::Il2CppString* GlobalNamespace::SteamVR_RenderModel::get_renderModelName() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::get_renderModelName");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_renderModelName", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppString*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_RenderModel.set_renderModelName
  void GlobalNamespace::SteamVR_RenderModel::set_renderModelName(::Il2CppString* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::set_renderModelName");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_renderModelName", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR_RenderModel.OnModelSkinSettingsHaveChanged
  void GlobalNamespace::SteamVR_RenderModel::OnModelSkinSettingsHaveChanged(Valve::VR::VREvent_t vrEvent) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::OnModelSkinSettingsHaveChanged");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnModelSkinSettingsHaveChanged", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(vrEvent)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, vrEvent);
  }
  // Autogenerated method: SteamVR_RenderModel.OnHideRenderModels
  void GlobalNamespace::SteamVR_RenderModel::OnHideRenderModels(bool hidden) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::OnHideRenderModels");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnHideRenderModels", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(hidden)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, hidden);
  }
  // Autogenerated method: SteamVR_RenderModel.OnDeviceConnected
  void GlobalNamespace::SteamVR_RenderModel::OnDeviceConnected(int i, bool connected) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::OnDeviceConnected");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDeviceConnected", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(i), ::il2cpp_utils::ExtractType(connected)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, i, connected);
  }
  // Autogenerated method: SteamVR_RenderModel.UpdateModel
  void GlobalNamespace::SteamVR_RenderModel::UpdateModel() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::UpdateModel");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "UpdateModel", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_RenderModel.SetModelAsync
  System::Collections::IEnumerator* GlobalNamespace::SteamVR_RenderModel::SetModelAsync(::Il2CppString* renderModelName) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::SetModelAsync");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "SetModelAsync", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(renderModelName)})));
    return ::il2cpp_utils::RunMethodThrow<System::Collections::IEnumerator*, false>(this, ___internal__method, renderModelName);
  }
  // Autogenerated method: SteamVR_RenderModel.SetModel
  bool GlobalNamespace::SteamVR_RenderModel::SetModel(::Il2CppString* renderModelName) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::SetModel");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "SetModel", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(renderModelName)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, renderModelName);
  }
  // Autogenerated method: SteamVR_RenderModel.LoadRenderModel
  GlobalNamespace::SteamVR_RenderModel::RenderModel* GlobalNamespace::SteamVR_RenderModel::LoadRenderModel(Valve::VR::CVRRenderModels* renderModels, ::Il2CppString* renderModelName, ::Il2CppString* baseName) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::LoadRenderModel");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "LoadRenderModel", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(renderModels), ::il2cpp_utils::ExtractType(renderModelName), ::il2cpp_utils::ExtractType(baseName)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_RenderModel::RenderModel*, false>(this, ___internal__method, renderModels, renderModelName, baseName);
  }
  // Autogenerated method: SteamVR_RenderModel.FreeRenderModel
  System::Collections::IEnumerator* GlobalNamespace::SteamVR_RenderModel::FreeRenderModel(System::IntPtr pRenderModel) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::FreeRenderModel");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "FreeRenderModel", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pRenderModel)})));
    return ::il2cpp_utils::RunMethodThrow<System::Collections::IEnumerator*, false>(this, ___internal__method, pRenderModel);
  }
  // Autogenerated method: SteamVR_RenderModel.FindComponent
  UnityEngine::Transform* GlobalNamespace::SteamVR_RenderModel::FindComponent(::Il2CppString* componentName) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::FindComponent");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "FindComponent", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(componentName)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Transform*, false>(this, ___internal__method, componentName);
  }
  // Autogenerated method: SteamVR_RenderModel.StripMesh
  void GlobalNamespace::SteamVR_RenderModel::StripMesh(UnityEngine::GameObject* go) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::StripMesh");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "StripMesh", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(go)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, go);
  }
  // Autogenerated method: SteamVR_RenderModel.LoadComponents
  bool GlobalNamespace::SteamVR_RenderModel::LoadComponents(GlobalNamespace::SteamVR_RenderModel::RenderModelInterfaceHolder* holder, ::Il2CppString* renderModelName) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::LoadComponents");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "LoadComponents", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(holder), ::il2cpp_utils::ExtractType(renderModelName)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, holder, renderModelName);
  }
  // Autogenerated method: SteamVR_RenderModel.OnEnable
  void GlobalNamespace::SteamVR_RenderModel::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::OnEnable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_RenderModel.OnDisable
  void GlobalNamespace::SteamVR_RenderModel::OnDisable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::OnDisable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDisable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_RenderModel.Update
  void GlobalNamespace::SteamVR_RenderModel::Update() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::Update");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Update", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_RenderModel.UpdateComponents
  void GlobalNamespace::SteamVR_RenderModel::UpdateComponents(Valve::VR::CVRRenderModels* renderModels) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::UpdateComponents");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "UpdateComponents", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(renderModels)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, renderModels);
  }
  // Autogenerated method: SteamVR_RenderModel.SetDeviceIndex
  void GlobalNamespace::SteamVR_RenderModel::SetDeviceIndex(int index) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::SetDeviceIndex");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "SetDeviceIndex", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(index)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, index);
  }
  // Autogenerated method: SteamVR_RenderModel.Sleep
  void GlobalNamespace::SteamVR_RenderModel::Sleep() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::Sleep");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_RenderModel", "Sleep", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR_RenderModel.MarshalRenderModel
  Valve::VR::RenderModel_t GlobalNamespace::SteamVR_RenderModel::MarshalRenderModel(System::IntPtr pRenderModel) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::MarshalRenderModel");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "MarshalRenderModel", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pRenderModel)})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::RenderModel_t, false>(this, ___internal__method, pRenderModel);
  }
  // Autogenerated method: SteamVR_RenderModel.MarshalRenderModel_TextureMap
  Valve::VR::RenderModel_TextureMap_t GlobalNamespace::SteamVR_RenderModel::MarshalRenderModel_TextureMap(System::IntPtr pRenderModel) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::MarshalRenderModel_TextureMap");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "MarshalRenderModel_TextureMap", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pRenderModel)})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::RenderModel_TextureMap_t, false>(this, ___internal__method, pRenderModel);
  }
  // Autogenerated method: SteamVR_RenderModel..cctor
  void GlobalNamespace::SteamVR_RenderModel::_cctor() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::.cctor");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_RenderModel", ".cctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_RenderModel/RenderModel
  #include "GlobalNamespace/SteamVR_RenderModel_RenderModel.hpp"
  // Including type: UnityEngine.Mesh
  #include "UnityEngine/Mesh.hpp"
  // Including type: UnityEngine.Material
  #include "UnityEngine/Material.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Mesh <mesh>k__BackingField
  UnityEngine::Mesh*& GlobalNamespace::SteamVR_RenderModel::RenderModel::dyn_$mesh$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::RenderModel::dyn_$mesh$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<mesh>k__BackingField"))->offset;
    return *reinterpret_cast<UnityEngine::Mesh**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Material <material>k__BackingField
  UnityEngine::Material*& GlobalNamespace::SteamVR_RenderModel::RenderModel::dyn_$material$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::RenderModel::dyn_$material$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<material>k__BackingField"))->offset;
    return *reinterpret_cast<UnityEngine::Material**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_RenderModel/RenderModel.get_mesh
  UnityEngine::Mesh* GlobalNamespace::SteamVR_RenderModel::RenderModel::get_mesh() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::RenderModel::get_mesh");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_mesh", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Mesh*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_RenderModel/RenderModel.set_mesh
  void GlobalNamespace::SteamVR_RenderModel::RenderModel::set_mesh(UnityEngine::Mesh* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::RenderModel::set_mesh");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_mesh", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR_RenderModel/RenderModel.get_material
  UnityEngine::Material* GlobalNamespace::SteamVR_RenderModel::RenderModel::get_material() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::RenderModel::get_material");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_material", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Material*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_RenderModel/RenderModel.set_material
  void GlobalNamespace::SteamVR_RenderModel::RenderModel::set_material(UnityEngine::Material* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::RenderModel::set_material");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_material", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_RenderModel/RenderModelInterfaceHolder
  #include "GlobalNamespace/SteamVR_RenderModel_RenderModelInterfaceHolder.hpp"
  // Including type: Valve.VR.CVRRenderModels
  #include "Valve/VR/CVRRenderModels.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private System.Boolean needsShutdown
  bool& GlobalNamespace::SteamVR_RenderModel::RenderModelInterfaceHolder::dyn_needsShutdown() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::RenderModelInterfaceHolder::dyn_needsShutdown");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "needsShutdown"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Boolean failedLoadInterface
  bool& GlobalNamespace::SteamVR_RenderModel::RenderModelInterfaceHolder::dyn_failedLoadInterface() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::RenderModelInterfaceHolder::dyn_failedLoadInterface");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "failedLoadInterface"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private Valve.VR.CVRRenderModels _instance
  Valve::VR::CVRRenderModels*& GlobalNamespace::SteamVR_RenderModel::RenderModelInterfaceHolder::dyn__instance() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::RenderModelInterfaceHolder::dyn__instance");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_instance"))->offset;
    return *reinterpret_cast<Valve::VR::CVRRenderModels**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_RenderModel/RenderModelInterfaceHolder.get_instance
  Valve::VR::CVRRenderModels* GlobalNamespace::SteamVR_RenderModel::RenderModelInterfaceHolder::get_instance() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::RenderModelInterfaceHolder::get_instance");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_instance", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::CVRRenderModels*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_RenderModel/RenderModelInterfaceHolder.Dispose
  void GlobalNamespace::SteamVR_RenderModel::RenderModelInterfaceHolder::Dispose() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::RenderModelInterfaceHolder::Dispose");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Dispose", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: SteamVR_RenderModel/<SetModelAsync>d__21
  #include "GlobalNamespace/SteamVR_RenderModel_-SetModelAsync-d__21.hpp"
  // Including type: Valve.VR.CVRRenderModels
  #include "Valve/VR/CVRRenderModels.hpp"
  // Including type: SteamVR_RenderModel/RenderModelInterfaceHolder
  #include "GlobalNamespace/SteamVR_RenderModel_RenderModelInterfaceHolder.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 <>1__state
  int& GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::dyn_$$1__state() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::dyn_$$1__state");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>1__state"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Object <>2__current
  ::Il2CppObject*& GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::dyn_$$2__current() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::dyn_$$2__current");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>2__current"))->offset;
    return *reinterpret_cast<::Il2CppObject**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.String renderModelName
  ::Il2CppString*& GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::dyn_renderModelName() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::dyn_renderModelName");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "renderModelName"))->offset;
    return *reinterpret_cast<::Il2CppString**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public SteamVR_RenderModel <>4__this
  GlobalNamespace::SteamVR_RenderModel*& GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::dyn_$$4__this() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::dyn_$$4__this");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>4__this"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_RenderModel**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private SteamVR_RenderModel/RenderModelInterfaceHolder <holder>5__2
  GlobalNamespace::SteamVR_RenderModel::RenderModelInterfaceHolder*& GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::dyn_$holder$5__2() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::dyn_$holder$5__2");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<holder>5__2"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_RenderModel::RenderModelInterfaceHolder**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private Valve.VR.CVRRenderModels <renderModels>5__3
  Valve::VR::CVRRenderModels*& GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::dyn_$renderModels$5__3() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::dyn_$renderModels$5__3");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<renderModels>5__3"))->offset;
    return *reinterpret_cast<Valve::VR::CVRRenderModels**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.String[] <renderModelNames>5__4
  ::ArrayW<::Il2CppString*>& GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::dyn_$renderModelNames$5__4() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::dyn_$renderModelNames$5__4");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<renderModelNames>5__4"))->offset;
    return *reinterpret_cast<::ArrayW<::Il2CppString*>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_RenderModel/<SetModelAsync>d__21.System.Collections.Generic.IEnumerator<System.Object>.get_Current
  ::Il2CppObject* GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::System_Collections_Generic_IEnumerator$System_Object$_get_Current() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::System.Collections.Generic.IEnumerator<System.Object>.get_Current");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.Generic.IEnumerator<System.Object>.get_Current", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppObject*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_RenderModel/<SetModelAsync>d__21.System.Collections.IEnumerator.get_Current
  ::Il2CppObject* GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::System_Collections_IEnumerator_get_Current() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::System.Collections.IEnumerator.get_Current");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.IEnumerator.get_Current", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppObject*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_RenderModel/<SetModelAsync>d__21.System.IDisposable.Dispose
  void GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::System_IDisposable_Dispose() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::System.IDisposable.Dispose");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.IDisposable.Dispose", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_RenderModel/<SetModelAsync>d__21.MoveNext
  bool GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::MoveNext() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::MoveNext");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "MoveNext", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_RenderModel/<SetModelAsync>d__21.<>m__Finally1
  void GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::$$m__Finally1() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::<>m__Finally1");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "<>m__Finally1", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_RenderModel/<SetModelAsync>d__21.System.Collections.IEnumerator.Reset
  void GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::System_Collections_IEnumerator_Reset() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$SetModelAsync$d__21::System.Collections.IEnumerator.Reset");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.IEnumerator.Reset", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: SteamVR_RenderModel/<FreeRenderModel>d__24
  #include "GlobalNamespace/SteamVR_RenderModel_-FreeRenderModel-d__24.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 <>1__state
  int& GlobalNamespace::SteamVR_RenderModel::$FreeRenderModel$d__24::dyn_$$1__state() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$FreeRenderModel$d__24::dyn_$$1__state");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>1__state"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Object <>2__current
  ::Il2CppObject*& GlobalNamespace::SteamVR_RenderModel::$FreeRenderModel$d__24::dyn_$$2__current() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$FreeRenderModel$d__24::dyn_$$2__current");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>2__current"))->offset;
    return *reinterpret_cast<::Il2CppObject**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.IntPtr pRenderModel
  System::IntPtr& GlobalNamespace::SteamVR_RenderModel::$FreeRenderModel$d__24::dyn_pRenderModel() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$FreeRenderModel$d__24::dyn_pRenderModel");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "pRenderModel"))->offset;
    return *reinterpret_cast<System::IntPtr*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_RenderModel/<FreeRenderModel>d__24.System.Collections.Generic.IEnumerator<System.Object>.get_Current
  ::Il2CppObject* GlobalNamespace::SteamVR_RenderModel::$FreeRenderModel$d__24::System_Collections_Generic_IEnumerator$System_Object$_get_Current() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$FreeRenderModel$d__24::System.Collections.Generic.IEnumerator<System.Object>.get_Current");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.Generic.IEnumerator<System.Object>.get_Current", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppObject*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_RenderModel/<FreeRenderModel>d__24.System.Collections.IEnumerator.get_Current
  ::Il2CppObject* GlobalNamespace::SteamVR_RenderModel::$FreeRenderModel$d__24::System_Collections_IEnumerator_get_Current() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$FreeRenderModel$d__24::System.Collections.IEnumerator.get_Current");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.IEnumerator.get_Current", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppObject*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_RenderModel/<FreeRenderModel>d__24.System.IDisposable.Dispose
  void GlobalNamespace::SteamVR_RenderModel::$FreeRenderModel$d__24::System_IDisposable_Dispose() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$FreeRenderModel$d__24::System.IDisposable.Dispose");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.IDisposable.Dispose", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_RenderModel/<FreeRenderModel>d__24.MoveNext
  bool GlobalNamespace::SteamVR_RenderModel::$FreeRenderModel$d__24::MoveNext() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$FreeRenderModel$d__24::MoveNext");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "MoveNext", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_RenderModel/<FreeRenderModel>d__24.System.Collections.IEnumerator.Reset
  void GlobalNamespace::SteamVR_RenderModel::$FreeRenderModel$d__24::System_Collections_IEnumerator_Reset() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_RenderModel::$FreeRenderModel$d__24::System.Collections.IEnumerator.Reset");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.IEnumerator.Reset", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_Skybox
  #include "GlobalNamespace/SteamVR_Skybox.hpp"
  // Including type: UnityEngine.Texture
  #include "UnityEngine/Texture.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture front
  UnityEngine::Texture*& GlobalNamespace::SteamVR_Skybox::dyn_front() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::dyn_front");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "front"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture back
  UnityEngine::Texture*& GlobalNamespace::SteamVR_Skybox::dyn_back() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::dyn_back");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "back"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture left
  UnityEngine::Texture*& GlobalNamespace::SteamVR_Skybox::dyn_left() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::dyn_left");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "left"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture right
  UnityEngine::Texture*& GlobalNamespace::SteamVR_Skybox::dyn_right() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::dyn_right");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "right"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture top
  UnityEngine::Texture*& GlobalNamespace::SteamVR_Skybox::dyn_top() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::dyn_top");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "top"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Texture bottom
  UnityEngine::Texture*& GlobalNamespace::SteamVR_Skybox::dyn_bottom() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::dyn_bottom");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "bottom"))->offset;
    return *reinterpret_cast<UnityEngine::Texture**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public SteamVR_Skybox/CellSize StereoCellSize
  GlobalNamespace::SteamVR_Skybox::CellSize& GlobalNamespace::SteamVR_Skybox::dyn_StereoCellSize() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::dyn_StereoCellSize");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "StereoCellSize"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_Skybox::CellSize*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Single StereoIpdMm
  float& GlobalNamespace::SteamVR_Skybox::dyn_StereoIpdMm() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::dyn_StereoIpdMm");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "StereoIpdMm"))->offset;
    return *reinterpret_cast<float*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_Skybox.SetTextureByIndex
  void GlobalNamespace::SteamVR_Skybox::SetTextureByIndex(int i, UnityEngine::Texture* t) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::SetTextureByIndex");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "SetTextureByIndex", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(i), ::il2cpp_utils::ExtractType(t)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, i, t);
  }
  // Autogenerated method: SteamVR_Skybox.GetTextureByIndex
  UnityEngine::Texture* GlobalNamespace::SteamVR_Skybox::GetTextureByIndex(int i) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::GetTextureByIndex");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetTextureByIndex", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(i)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Texture*, false>(this, ___internal__method, i);
  }
  // Autogenerated method: SteamVR_Skybox.SetOverride
  void GlobalNamespace::SteamVR_Skybox::SetOverride(UnityEngine::Texture* front, UnityEngine::Texture* back, UnityEngine::Texture* left, UnityEngine::Texture* right, UnityEngine::Texture* top, UnityEngine::Texture* bottom) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::SetOverride");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Skybox", "SetOverride", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(front), ::il2cpp_utils::ExtractType(back), ::il2cpp_utils::ExtractType(left), ::il2cpp_utils::ExtractType(right), ::il2cpp_utils::ExtractType(top), ::il2cpp_utils::ExtractType(bottom)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, front, back, left, right, top, bottom);
  }
  // Autogenerated method: SteamVR_Skybox.ClearOverride
  void GlobalNamespace::SteamVR_Skybox::ClearOverride() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::ClearOverride");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Skybox", "ClearOverride", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR_Skybox.OnEnable
  void GlobalNamespace::SteamVR_Skybox::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::OnEnable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Skybox.OnDisable
  void GlobalNamespace::SteamVR_Skybox::OnDisable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::OnDisable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDisable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_Skybox/CellSize
  #include "GlobalNamespace/SteamVR_Skybox.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Skybox/CellSize x1024
  GlobalNamespace::SteamVR_Skybox::CellSize GlobalNamespace::SteamVR_Skybox::CellSize::_get_x1024() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::CellSize::_get_x1024");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Skybox::CellSize>("", "SteamVR_Skybox/CellSize", "x1024"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Skybox/CellSize x1024
  void GlobalNamespace::SteamVR_Skybox::CellSize::_set_x1024(GlobalNamespace::SteamVR_Skybox::CellSize value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::CellSize::_set_x1024");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Skybox/CellSize", "x1024", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Skybox/CellSize x64
  GlobalNamespace::SteamVR_Skybox::CellSize GlobalNamespace::SteamVR_Skybox::CellSize::_get_x64() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::CellSize::_get_x64");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Skybox::CellSize>("", "SteamVR_Skybox/CellSize", "x64"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Skybox/CellSize x64
  void GlobalNamespace::SteamVR_Skybox::CellSize::_set_x64(GlobalNamespace::SteamVR_Skybox::CellSize value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::CellSize::_set_x64");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Skybox/CellSize", "x64", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Skybox/CellSize x32
  GlobalNamespace::SteamVR_Skybox::CellSize GlobalNamespace::SteamVR_Skybox::CellSize::_get_x32() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::CellSize::_get_x32");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Skybox::CellSize>("", "SteamVR_Skybox/CellSize", "x32"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Skybox/CellSize x32
  void GlobalNamespace::SteamVR_Skybox::CellSize::_set_x32(GlobalNamespace::SteamVR_Skybox::CellSize value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::CellSize::_set_x32");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Skybox/CellSize", "x32", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Skybox/CellSize x16
  GlobalNamespace::SteamVR_Skybox::CellSize GlobalNamespace::SteamVR_Skybox::CellSize::_get_x16() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::CellSize::_get_x16");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Skybox::CellSize>("", "SteamVR_Skybox/CellSize", "x16"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Skybox/CellSize x16
  void GlobalNamespace::SteamVR_Skybox::CellSize::_set_x16(GlobalNamespace::SteamVR_Skybox::CellSize value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::CellSize::_set_x16");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Skybox/CellSize", "x16", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_Skybox/CellSize x8
  GlobalNamespace::SteamVR_Skybox::CellSize GlobalNamespace::SteamVR_Skybox::CellSize::_get_x8() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::CellSize::_get_x8");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_Skybox::CellSize>("", "SteamVR_Skybox/CellSize", "x8"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_Skybox/CellSize x8
  void GlobalNamespace::SteamVR_Skybox::CellSize::_set_x8(GlobalNamespace::SteamVR_Skybox::CellSize value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::CellSize::_set_x8");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_Skybox/CellSize", "x8", value));
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Int32 value__
  int& GlobalNamespace::SteamVR_Skybox::CellSize::dyn_value__() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Skybox::CellSize::dyn_value__");
    auto ___internal__instance = *this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "value__"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_SphericalProjection
  #include "GlobalNamespace/SteamVR_SphericalProjection.hpp"
  // Including type: UnityEngine.Material
  #include "UnityEngine/Material.hpp"
  // Including type: UnityEngine.RenderTexture
  #include "UnityEngine/RenderTexture.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static private UnityEngine.Material material
  UnityEngine::Material* GlobalNamespace::SteamVR_SphericalProjection::_get_material() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_SphericalProjection::_get_material");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<UnityEngine::Material*>("", "SteamVR_SphericalProjection", "material"));
  }
  // Autogenerated static field setter
  // Set static field: static private UnityEngine.Material material
  void GlobalNamespace::SteamVR_SphericalProjection::_set_material(UnityEngine::Material* value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_SphericalProjection::_set_material");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_SphericalProjection", "material", value));
  }
  // Autogenerated method: SteamVR_SphericalProjection.Set
  void GlobalNamespace::SteamVR_SphericalProjection::Set(UnityEngine::Vector3 N, float phi0, float phi1, float theta0, float theta1, UnityEngine::Vector3 uAxis, UnityEngine::Vector3 uOrigin, float uScale, UnityEngine::Vector3 vAxis, UnityEngine::Vector3 vOrigin, float vScale) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_SphericalProjection::Set");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Set", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(N), ::il2cpp_utils::ExtractType(phi0), ::il2cpp_utils::ExtractType(phi1), ::il2cpp_utils::ExtractType(theta0), ::il2cpp_utils::ExtractType(theta1), ::il2cpp_utils::ExtractType(uAxis), ::il2cpp_utils::ExtractType(uOrigin), ::il2cpp_utils::ExtractType(uScale), ::il2cpp_utils::ExtractType(vAxis), ::il2cpp_utils::ExtractType(vOrigin), ::il2cpp_utils::ExtractType(vScale)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, N, phi0, phi1, theta0, theta1, uAxis, uOrigin, uScale, vAxis, vOrigin, vScale);
  }
  // Autogenerated method: SteamVR_SphericalProjection.OnRenderImage
  void GlobalNamespace::SteamVR_SphericalProjection::OnRenderImage(UnityEngine::RenderTexture* src, UnityEngine::RenderTexture* dest) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_SphericalProjection::OnRenderImage");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnRenderImage", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(src), ::il2cpp_utils::ExtractType(dest)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, src, dest);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_Stats
  #include "GlobalNamespace/SteamVR_Stats.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: SteamVR_Stats.Awake
  void GlobalNamespace::SteamVR_Stats::Awake() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Stats::Awake");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Awake", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_TestController
  #include "GlobalNamespace/SteamVR_TestController.hpp"
  // Including type: System.Collections.Generic.List`1
  #include "System/Collections/Generic/List_1.hpp"
  // Including type: UnityEngine.Transform
  #include "UnityEngine/Transform.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private System.Collections.Generic.List`1<System.Int32> controllerIndices
  System::Collections::Generic::List_1<int>*& GlobalNamespace::SteamVR_TestController::dyn_controllerIndices() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TestController::dyn_controllerIndices");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "controllerIndices"))->offset;
    return *reinterpret_cast<System::Collections::Generic::List_1<int>**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private Valve.VR.EVRButtonId[] buttonIds
  ::ArrayW<Valve::VR::EVRButtonId>& GlobalNamespace::SteamVR_TestController::dyn_buttonIds() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TestController::dyn_buttonIds");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "buttonIds"))->offset;
    return *reinterpret_cast<::ArrayW<Valve::VR::EVRButtonId>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private Valve.VR.EVRButtonId[] axisIds
  ::ArrayW<Valve::VR::EVRButtonId>& GlobalNamespace::SteamVR_TestController::dyn_axisIds() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TestController::dyn_axisIds");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "axisIds"))->offset;
    return *reinterpret_cast<::ArrayW<Valve::VR::EVRButtonId>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Transform point
  UnityEngine::Transform*& GlobalNamespace::SteamVR_TestController::dyn_point() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TestController::dyn_point");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "point"))->offset;
    return *reinterpret_cast<UnityEngine::Transform**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Transform pointer
  UnityEngine::Transform*& GlobalNamespace::SteamVR_TestController::dyn_pointer() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TestController::dyn_pointer");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "pointer"))->offset;
    return *reinterpret_cast<UnityEngine::Transform**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_TestController.OnDeviceConnected
  void GlobalNamespace::SteamVR_TestController::OnDeviceConnected(int index, bool connected) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TestController::OnDeviceConnected");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDeviceConnected", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(index), ::il2cpp_utils::ExtractType(connected)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, index, connected);
  }
  // Autogenerated method: SteamVR_TestController.OnEnable
  void GlobalNamespace::SteamVR_TestController::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TestController::OnEnable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TestController.OnDisable
  void GlobalNamespace::SteamVR_TestController::OnDisable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TestController::OnDisable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDisable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TestController.PrintControllerStatus
  void GlobalNamespace::SteamVR_TestController::PrintControllerStatus(int index) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TestController::PrintControllerStatus");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "PrintControllerStatus", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(index)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, index);
  }
  // Autogenerated method: SteamVR_TestController.Update
  void GlobalNamespace::SteamVR_TestController::Update() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TestController::Update");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Update", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_TrackedCamera
  #include "GlobalNamespace/SteamVR_TrackedCamera.hpp"
  // Including type: SteamVR_TrackedCamera/VideoStreamTexture
  #include "GlobalNamespace/SteamVR_TrackedCamera_VideoStreamTexture.hpp"
  // Including type: SteamVR_TrackedCamera/VideoStream
  #include "GlobalNamespace/SteamVR_TrackedCamera_VideoStream.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static private SteamVR_TrackedCamera/VideoStreamTexture[] distorted
  ::ArrayW<GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture*> GlobalNamespace::SteamVR_TrackedCamera::_get_distorted() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::_get_distorted");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<::ArrayW<GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture*>>("", "SteamVR_TrackedCamera", "distorted"));
  }
  // Autogenerated static field setter
  // Set static field: static private SteamVR_TrackedCamera/VideoStreamTexture[] distorted
  void GlobalNamespace::SteamVR_TrackedCamera::_set_distorted(::ArrayW<GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture*> value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::_set_distorted");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedCamera", "distorted", value));
  }
  // Autogenerated static field getter
  // Get static field: static private SteamVR_TrackedCamera/VideoStreamTexture[] undistorted
  ::ArrayW<GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture*> GlobalNamespace::SteamVR_TrackedCamera::_get_undistorted() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::_get_undistorted");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<::ArrayW<GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture*>>("", "SteamVR_TrackedCamera", "undistorted"));
  }
  // Autogenerated static field setter
  // Set static field: static private SteamVR_TrackedCamera/VideoStreamTexture[] undistorted
  void GlobalNamespace::SteamVR_TrackedCamera::_set_undistorted(::ArrayW<GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture*> value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::_set_undistorted");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedCamera", "undistorted", value));
  }
  // Autogenerated static field getter
  // Get static field: static private SteamVR_TrackedCamera/VideoStream[] videostreams
  ::ArrayW<GlobalNamespace::SteamVR_TrackedCamera::VideoStream*> GlobalNamespace::SteamVR_TrackedCamera::_get_videostreams() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::_get_videostreams");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<::ArrayW<GlobalNamespace::SteamVR_TrackedCamera::VideoStream*>>("", "SteamVR_TrackedCamera", "videostreams"));
  }
  // Autogenerated static field setter
  // Set static field: static private SteamVR_TrackedCamera/VideoStream[] videostreams
  void GlobalNamespace::SteamVR_TrackedCamera::_set_videostreams(::ArrayW<GlobalNamespace::SteamVR_TrackedCamera::VideoStream*> value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::_set_videostreams");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedCamera", "videostreams", value));
  }
  // Autogenerated method: SteamVR_TrackedCamera.Distorted
  GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture* GlobalNamespace::SteamVR_TrackedCamera::Distorted(int deviceIndex) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::Distorted");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_TrackedCamera", "Distorted", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(deviceIndex)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, deviceIndex);
  }
  // Autogenerated method: SteamVR_TrackedCamera.Undistorted
  GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture* GlobalNamespace::SteamVR_TrackedCamera::Undistorted(int deviceIndex) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::Undistorted");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_TrackedCamera", "Undistorted", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(deviceIndex)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, deviceIndex);
  }
  // Autogenerated method: SteamVR_TrackedCamera.Source
  GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture* GlobalNamespace::SteamVR_TrackedCamera::Source(bool undistorted, int deviceIndex) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::Source");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_TrackedCamera", "Source", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(undistorted), ::il2cpp_utils::ExtractType(deviceIndex)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, undistorted, deviceIndex);
  }
  // Autogenerated method: SteamVR_TrackedCamera.Stream
  GlobalNamespace::SteamVR_TrackedCamera::VideoStream* GlobalNamespace::SteamVR_TrackedCamera::Stream(uint deviceIndex) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::Stream");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_TrackedCamera", "Stream", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(deviceIndex)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_TrackedCamera::VideoStream*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, deviceIndex);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_TrackedCamera/VideoStreamTexture
  #include "GlobalNamespace/SteamVR_TrackedCamera_VideoStreamTexture.hpp"
  // Including type: UnityEngine.Texture2D
  #include "UnityEngine/Texture2D.hpp"
  // Including type: UnityEngine.Vector3
  #include "UnityEngine/Vector3.hpp"
  // Including type: SteamVR_TrackedCamera/VideoStream
  #include "GlobalNamespace/SteamVR_TrackedCamera_VideoStream.hpp"
  // Including type: SteamVR_Utils/RigidTransform
  #include "GlobalNamespace/SteamVR_Utils_RigidTransform.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private System.Boolean <undistorted>k__BackingField
  bool& GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::dyn_$undistorted$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::dyn_$undistorted$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<undistorted>k__BackingField"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private Valve.VR.VRTextureBounds_t <frameBounds>k__BackingField
  Valve::VR::VRTextureBounds_t& GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::dyn_$frameBounds$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::dyn_$frameBounds$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<frameBounds>k__BackingField"))->offset;
    return *reinterpret_cast<Valve::VR::VRTextureBounds_t*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private UnityEngine.Texture2D _texture
  UnityEngine::Texture2D*& GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::dyn__texture() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::dyn__texture");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_texture"))->offset;
    return *reinterpret_cast<UnityEngine::Texture2D**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Int32 prevFrameCount
  int& GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::dyn_prevFrameCount() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::dyn_prevFrameCount");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "prevFrameCount"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.UInt32 glTextureId
  uint& GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::dyn_glTextureId() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::dyn_glTextureId");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "glTextureId"))->offset;
    return *reinterpret_cast<uint*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private SteamVR_TrackedCamera/VideoStream videostream
  GlobalNamespace::SteamVR_TrackedCamera::VideoStream*& GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::dyn_videostream() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::dyn_videostream");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "videostream"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_TrackedCamera::VideoStream**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private Valve.VR.CameraVideoStreamFrameHeader_t header
  Valve::VR::CameraVideoStreamFrameHeader_t& GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::dyn_header() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::dyn_header");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "header"))->offset;
    return *reinterpret_cast<Valve::VR::CameraVideoStreamFrameHeader_t*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStreamTexture.get_undistorted
  bool GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_undistorted() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_undistorted");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_undistorted", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStreamTexture.set_undistorted
  void GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::set_undistorted(bool value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::set_undistorted");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_undistorted", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStreamTexture.get_deviceIndex
  uint GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_deviceIndex() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_deviceIndex");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_deviceIndex", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<uint, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStreamTexture.get_hasCamera
  bool GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_hasCamera() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_hasCamera");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_hasCamera", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStreamTexture.get_hasTracking
  bool GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_hasTracking() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_hasTracking");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_hasTracking", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStreamTexture.get_frameId
  uint GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_frameId() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_frameId");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_frameId", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<uint, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStreamTexture.get_frameBounds
  Valve::VR::VRTextureBounds_t GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_frameBounds() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_frameBounds");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_frameBounds", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::VRTextureBounds_t, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStreamTexture.set_frameBounds
  void GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::set_frameBounds(Valve::VR::VRTextureBounds_t value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::set_frameBounds");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_frameBounds", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStreamTexture.get_frameType
  Valve::VR::EVRTrackedCameraFrameType GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_frameType() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_frameType");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_frameType", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::EVRTrackedCameraFrameType, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStreamTexture.get_texture
  UnityEngine::Texture2D* GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_texture() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_texture");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_texture", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Texture2D*, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStreamTexture.get_transform
  GlobalNamespace::SteamVR_Utils::RigidTransform GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_transform() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_transform");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_transform", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Utils::RigidTransform, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStreamTexture.get_velocity
  UnityEngine::Vector3 GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_velocity() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_velocity");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_velocity", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Vector3, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStreamTexture.get_angularVelocity
  UnityEngine::Vector3 GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_angularVelocity() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::get_angularVelocity");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_angularVelocity", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Vector3, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStreamTexture.GetPose
  Valve::VR::TrackedDevicePose_t GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::GetPose() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::GetPose");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetPose", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::TrackedDevicePose_t, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStreamTexture.Acquire
  uint64_t GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::Acquire() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::Acquire");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Acquire", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<uint64_t, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStreamTexture.Release
  uint64_t GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::Release() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::Release");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Release", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<uint64_t, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStreamTexture.Update
  void GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::Update() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStreamTexture::Update");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Update", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_TrackedCamera/VideoStream
  #include "GlobalNamespace/SteamVR_TrackedCamera_VideoStream.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: private System.UInt32 <deviceIndex>k__BackingField
  uint& GlobalNamespace::SteamVR_TrackedCamera::VideoStream::dyn_$deviceIndex$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStream::dyn_$deviceIndex$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<deviceIndex>k__BackingField"))->offset;
    return *reinterpret_cast<uint*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.UInt64 _handle
  uint64_t& GlobalNamespace::SteamVR_TrackedCamera::VideoStream::dyn__handle() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStream::dyn__handle");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_handle"))->offset;
    return *reinterpret_cast<uint64_t*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Boolean _hasCamera
  bool& GlobalNamespace::SteamVR_TrackedCamera::VideoStream::dyn__hasCamera() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStream::dyn__hasCamera");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "_hasCamera"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.UInt64 refCount
  uint64_t& GlobalNamespace::SteamVR_TrackedCamera::VideoStream::dyn_refCount() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStream::dyn_refCount");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "refCount"))->offset;
    return *reinterpret_cast<uint64_t*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStream.get_deviceIndex
  uint GlobalNamespace::SteamVR_TrackedCamera::VideoStream::get_deviceIndex() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStream::get_deviceIndex");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_deviceIndex", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<uint, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStream.set_deviceIndex
  void GlobalNamespace::SteamVR_TrackedCamera::VideoStream::set_deviceIndex(uint value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStream::set_deviceIndex");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_deviceIndex", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStream.get_handle
  uint64_t GlobalNamespace::SteamVR_TrackedCamera::VideoStream::get_handle() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStream::get_handle");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_handle", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<uint64_t, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStream.get_hasCamera
  bool GlobalNamespace::SteamVR_TrackedCamera::VideoStream::get_hasCamera() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStream::get_hasCamera");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_hasCamera", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStream.Acquire
  uint64_t GlobalNamespace::SteamVR_TrackedCamera::VideoStream::Acquire() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStream::Acquire");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Acquire", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<uint64_t, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedCamera/VideoStream.Release
  uint64_t GlobalNamespace::SteamVR_TrackedCamera::VideoStream::Release() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedCamera::VideoStream::Release");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Release", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<uint64_t, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_TrackedObject
  #include "GlobalNamespace/SteamVR_TrackedObject.hpp"
  // Including type: UnityEngine.Transform
  #include "UnityEngine/Transform.hpp"
  // Including type: SteamVR_Events/Action
  #include "GlobalNamespace/SteamVR_Events_Action.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: public SteamVR_TrackedObject/EIndex index
  GlobalNamespace::SteamVR_TrackedObject::EIndex& GlobalNamespace::SteamVR_TrackedObject::dyn_index() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::dyn_index");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "index"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_TrackedObject::EIndex*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Transform origin
  UnityEngine::Transform*& GlobalNamespace::SteamVR_TrackedObject::dyn_origin() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::dyn_origin");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "origin"))->offset;
    return *reinterpret_cast<UnityEngine::Transform**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private System.Boolean <isValid>k__BackingField
  bool& GlobalNamespace::SteamVR_TrackedObject::dyn_$isValid$k__BackingField() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::dyn_$isValid$k__BackingField");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<isValid>k__BackingField"))->offset;
    return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: private SteamVR_Events/Action newPosesAction
  GlobalNamespace::SteamVR_Events::Action*& GlobalNamespace::SteamVR_TrackedObject::dyn_newPosesAction() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::dyn_newPosesAction");
    auto ___internal__instance = this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "newPosesAction"))->offset;
    return *reinterpret_cast<GlobalNamespace::SteamVR_Events::Action**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_TrackedObject.get_isValid
  bool GlobalNamespace::SteamVR_TrackedObject::get_isValid() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::get_isValid");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_isValid", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedObject.set_isValid
  void GlobalNamespace::SteamVR_TrackedObject::set_isValid(bool value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::set_isValid");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_isValid", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, value);
  }
  // Autogenerated method: SteamVR_TrackedObject.OnNewPoses
  void GlobalNamespace::SteamVR_TrackedObject::OnNewPoses(::ArrayW<Valve::VR::TrackedDevicePose_t> poses) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::OnNewPoses");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnNewPoses", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(poses)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, poses);
  }
  // Autogenerated method: SteamVR_TrackedObject.OnEnable
  void GlobalNamespace::SteamVR_TrackedObject::OnEnable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::OnEnable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnEnable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedObject.OnDisable
  void GlobalNamespace::SteamVR_TrackedObject::OnDisable() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::OnDisable");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "OnDisable", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_TrackedObject.SetDeviceIndex
  void GlobalNamespace::SteamVR_TrackedObject::SetDeviceIndex(int index) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::SetDeviceIndex");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "SetDeviceIndex", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(index)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, index);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_TrackedObject/EIndex
  #include "GlobalNamespace/SteamVR_TrackedObject.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated static field getter
  // Get static field: static public SteamVR_TrackedObject/EIndex None
  GlobalNamespace::SteamVR_TrackedObject::EIndex GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_None() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_None");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_TrackedObject::EIndex>("", "SteamVR_TrackedObject/EIndex", "None"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_TrackedObject/EIndex None
  void GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_None(GlobalNamespace::SteamVR_TrackedObject::EIndex value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_None");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedObject/EIndex", "None", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_TrackedObject/EIndex Hmd
  GlobalNamespace::SteamVR_TrackedObject::EIndex GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Hmd() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Hmd");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_TrackedObject::EIndex>("", "SteamVR_TrackedObject/EIndex", "Hmd"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_TrackedObject/EIndex Hmd
  void GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Hmd(GlobalNamespace::SteamVR_TrackedObject::EIndex value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Hmd");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedObject/EIndex", "Hmd", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_TrackedObject/EIndex Device1
  GlobalNamespace::SteamVR_TrackedObject::EIndex GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device1() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device1");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_TrackedObject::EIndex>("", "SteamVR_TrackedObject/EIndex", "Device1"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_TrackedObject/EIndex Device1
  void GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device1(GlobalNamespace::SteamVR_TrackedObject::EIndex value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device1");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedObject/EIndex", "Device1", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_TrackedObject/EIndex Device2
  GlobalNamespace::SteamVR_TrackedObject::EIndex GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device2() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device2");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_TrackedObject::EIndex>("", "SteamVR_TrackedObject/EIndex", "Device2"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_TrackedObject/EIndex Device2
  void GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device2(GlobalNamespace::SteamVR_TrackedObject::EIndex value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device2");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedObject/EIndex", "Device2", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_TrackedObject/EIndex Device3
  GlobalNamespace::SteamVR_TrackedObject::EIndex GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device3() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device3");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_TrackedObject::EIndex>("", "SteamVR_TrackedObject/EIndex", "Device3"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_TrackedObject/EIndex Device3
  void GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device3(GlobalNamespace::SteamVR_TrackedObject::EIndex value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device3");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedObject/EIndex", "Device3", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_TrackedObject/EIndex Device4
  GlobalNamespace::SteamVR_TrackedObject::EIndex GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device4() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device4");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_TrackedObject::EIndex>("", "SteamVR_TrackedObject/EIndex", "Device4"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_TrackedObject/EIndex Device4
  void GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device4(GlobalNamespace::SteamVR_TrackedObject::EIndex value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device4");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedObject/EIndex", "Device4", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_TrackedObject/EIndex Device5
  GlobalNamespace::SteamVR_TrackedObject::EIndex GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device5() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device5");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_TrackedObject::EIndex>("", "SteamVR_TrackedObject/EIndex", "Device5"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_TrackedObject/EIndex Device5
  void GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device5(GlobalNamespace::SteamVR_TrackedObject::EIndex value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device5");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedObject/EIndex", "Device5", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_TrackedObject/EIndex Device6
  GlobalNamespace::SteamVR_TrackedObject::EIndex GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device6() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device6");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_TrackedObject::EIndex>("", "SteamVR_TrackedObject/EIndex", "Device6"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_TrackedObject/EIndex Device6
  void GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device6(GlobalNamespace::SteamVR_TrackedObject::EIndex value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device6");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedObject/EIndex", "Device6", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_TrackedObject/EIndex Device7
  GlobalNamespace::SteamVR_TrackedObject::EIndex GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device7() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device7");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_TrackedObject::EIndex>("", "SteamVR_TrackedObject/EIndex", "Device7"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_TrackedObject/EIndex Device7
  void GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device7(GlobalNamespace::SteamVR_TrackedObject::EIndex value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device7");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedObject/EIndex", "Device7", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_TrackedObject/EIndex Device8
  GlobalNamespace::SteamVR_TrackedObject::EIndex GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device8() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device8");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_TrackedObject::EIndex>("", "SteamVR_TrackedObject/EIndex", "Device8"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_TrackedObject/EIndex Device8
  void GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device8(GlobalNamespace::SteamVR_TrackedObject::EIndex value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device8");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedObject/EIndex", "Device8", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_TrackedObject/EIndex Device9
  GlobalNamespace::SteamVR_TrackedObject::EIndex GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device9() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device9");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_TrackedObject::EIndex>("", "SteamVR_TrackedObject/EIndex", "Device9"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_TrackedObject/EIndex Device9
  void GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device9(GlobalNamespace::SteamVR_TrackedObject::EIndex value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device9");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedObject/EIndex", "Device9", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_TrackedObject/EIndex Device10
  GlobalNamespace::SteamVR_TrackedObject::EIndex GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device10() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device10");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_TrackedObject::EIndex>("", "SteamVR_TrackedObject/EIndex", "Device10"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_TrackedObject/EIndex Device10
  void GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device10(GlobalNamespace::SteamVR_TrackedObject::EIndex value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device10");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedObject/EIndex", "Device10", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_TrackedObject/EIndex Device11
  GlobalNamespace::SteamVR_TrackedObject::EIndex GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device11() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device11");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_TrackedObject::EIndex>("", "SteamVR_TrackedObject/EIndex", "Device11"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_TrackedObject/EIndex Device11
  void GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device11(GlobalNamespace::SteamVR_TrackedObject::EIndex value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device11");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedObject/EIndex", "Device11", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_TrackedObject/EIndex Device12
  GlobalNamespace::SteamVR_TrackedObject::EIndex GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device12() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device12");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_TrackedObject::EIndex>("", "SteamVR_TrackedObject/EIndex", "Device12"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_TrackedObject/EIndex Device12
  void GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device12(GlobalNamespace::SteamVR_TrackedObject::EIndex value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device12");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedObject/EIndex", "Device12", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_TrackedObject/EIndex Device13
  GlobalNamespace::SteamVR_TrackedObject::EIndex GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device13() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device13");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_TrackedObject::EIndex>("", "SteamVR_TrackedObject/EIndex", "Device13"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_TrackedObject/EIndex Device13
  void GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device13(GlobalNamespace::SteamVR_TrackedObject::EIndex value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device13");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedObject/EIndex", "Device13", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_TrackedObject/EIndex Device14
  GlobalNamespace::SteamVR_TrackedObject::EIndex GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device14() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device14");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_TrackedObject::EIndex>("", "SteamVR_TrackedObject/EIndex", "Device14"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_TrackedObject/EIndex Device14
  void GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device14(GlobalNamespace::SteamVR_TrackedObject::EIndex value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device14");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedObject/EIndex", "Device14", value));
  }
  // Autogenerated static field getter
  // Get static field: static public SteamVR_TrackedObject/EIndex Device15
  GlobalNamespace::SteamVR_TrackedObject::EIndex GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device15() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_get_Device15");
    return THROW_UNLESS(il2cpp_utils::GetFieldValue<GlobalNamespace::SteamVR_TrackedObject::EIndex>("", "SteamVR_TrackedObject/EIndex", "Device15"));
  }
  // Autogenerated static field setter
  // Set static field: static public SteamVR_TrackedObject/EIndex Device15
  void GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device15(GlobalNamespace::SteamVR_TrackedObject::EIndex value) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::_set_Device15");
    THROW_UNLESS(il2cpp_utils::SetFieldValue("", "SteamVR_TrackedObject/EIndex", "Device15", value));
  }
  // Autogenerated instance field getter
  // Get instance field: public System.Int32 value__
  int& GlobalNamespace::SteamVR_TrackedObject::EIndex::dyn_value__() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_TrackedObject::EIndex::dyn_value__");
    auto ___internal__instance = *this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "value__"))->offset;
    return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  // Including type: SteamVR_UpdatePoses
  #include "GlobalNamespace/SteamVR_UpdatePoses.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: SteamVR_UpdatePoses.Awake
  void GlobalNamespace::SteamVR_UpdatePoses::Awake() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_UpdatePoses::Awake");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Awake", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: SteamVR_Utils
  #include "GlobalNamespace/SteamVR_Utils.hpp"
  // Including type: SteamVR_Utils/RigidTransform
  #include "GlobalNamespace/SteamVR_Utils_RigidTransform.hpp"
  // Including type: SteamVR_Utils/SystemFn
  #include "GlobalNamespace/SteamVR_Utils_SystemFn.hpp"
  // Including type: UnityEngine.Quaternion
  #include "UnityEngine/Quaternion.hpp"
  // Including type: UnityEngine.Vector3
  #include "UnityEngine/Vector3.hpp"
  // Including type: UnityEngine.Vector2
  #include "UnityEngine/Vector2.hpp"
  // Including type: UnityEngine.Matrix4x4
  #include "UnityEngine/Matrix4x4.hpp"
  // Including type: UnityEngine.GameObject
  #include "UnityEngine/GameObject.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: SteamVR_Utils.Slerp
  UnityEngine::Quaternion GlobalNamespace::SteamVR_Utils::Slerp(UnityEngine::Quaternion A, UnityEngine::Quaternion B, float t) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::Slerp");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils", "Slerp", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(A), ::il2cpp_utils::ExtractType(B), ::il2cpp_utils::ExtractType(t)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Quaternion, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, A, B, t);
  }
  // Autogenerated method: SteamVR_Utils.Lerp
  UnityEngine::Vector3 GlobalNamespace::SteamVR_Utils::Lerp(UnityEngine::Vector3 A, UnityEngine::Vector3 B, float t) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::Lerp");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils", "Lerp", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(A), ::il2cpp_utils::ExtractType(B), ::il2cpp_utils::ExtractType(t)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Vector3, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, A, B, t);
  }
  // Autogenerated method: SteamVR_Utils.Lerp
  float GlobalNamespace::SteamVR_Utils::Lerp(float A, float B, float t) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::Lerp");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils", "Lerp", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(A), ::il2cpp_utils::ExtractType(B), ::il2cpp_utils::ExtractType(t)})));
    return ::il2cpp_utils::RunMethodThrow<float, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, A, B, t);
  }
  // Autogenerated method: SteamVR_Utils.Lerp
  double GlobalNamespace::SteamVR_Utils::Lerp(double A, double B, double t) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::Lerp");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils", "Lerp", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(A), ::il2cpp_utils::ExtractType(B), ::il2cpp_utils::ExtractType(t)})));
    return ::il2cpp_utils::RunMethodThrow<double, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, A, B, t);
  }
  // Autogenerated method: SteamVR_Utils.InverseLerp
  float GlobalNamespace::SteamVR_Utils::InverseLerp(UnityEngine::Vector3 A, UnityEngine::Vector3 B, UnityEngine::Vector3 result) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::InverseLerp");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils", "InverseLerp", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(A), ::il2cpp_utils::ExtractType(B), ::il2cpp_utils::ExtractType(result)})));
    return ::il2cpp_utils::RunMethodThrow<float, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, A, B, result);
  }
  // Autogenerated method: SteamVR_Utils.InverseLerp
  float GlobalNamespace::SteamVR_Utils::InverseLerp(float A, float B, float result) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::InverseLerp");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils", "InverseLerp", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(A), ::il2cpp_utils::ExtractType(B), ::il2cpp_utils::ExtractType(result)})));
    return ::il2cpp_utils::RunMethodThrow<float, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, A, B, result);
  }
  // Autogenerated method: SteamVR_Utils.InverseLerp
  double GlobalNamespace::SteamVR_Utils::InverseLerp(double A, double B, double result) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::InverseLerp");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils", "InverseLerp", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(A), ::il2cpp_utils::ExtractType(B), ::il2cpp_utils::ExtractType(result)})));
    return ::il2cpp_utils::RunMethodThrow<double, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, A, B, result);
  }
  // Autogenerated method: SteamVR_Utils.Saturate
  float GlobalNamespace::SteamVR_Utils::Saturate(float A) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::Saturate");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils", "Saturate", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(A)})));
    return ::il2cpp_utils::RunMethodThrow<float, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, A);
  }
  // Autogenerated method: SteamVR_Utils.Saturate
  UnityEngine::Vector2 GlobalNamespace::SteamVR_Utils::Saturate(UnityEngine::Vector2 A) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::Saturate");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils", "Saturate", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(A)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Vector2, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, A);
  }
  // Autogenerated method: SteamVR_Utils.Abs
  float GlobalNamespace::SteamVR_Utils::Abs(float A) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::Abs");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils", "Abs", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(A)})));
    return ::il2cpp_utils::RunMethodThrow<float, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, A);
  }
  // Autogenerated method: SteamVR_Utils.Abs
  UnityEngine::Vector2 GlobalNamespace::SteamVR_Utils::Abs(UnityEngine::Vector2 A) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::Abs");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils", "Abs", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(A)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Vector2, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, A);
  }
  // Autogenerated method: SteamVR_Utils._copysign
  float GlobalNamespace::SteamVR_Utils::_copysign(float sizeval, float signval) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::_copysign");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils", "_copysign", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(sizeval), ::il2cpp_utils::ExtractType(signval)})));
    return ::il2cpp_utils::RunMethodThrow<float, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, sizeval, signval);
  }
  // Autogenerated method: SteamVR_Utils.GetRotation
  UnityEngine::Quaternion GlobalNamespace::SteamVR_Utils::GetRotation(UnityEngine::Matrix4x4 matrix) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::GetRotation");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils", "GetRotation", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(matrix)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Quaternion, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, matrix);
  }
  // Autogenerated method: SteamVR_Utils.GetPosition
  UnityEngine::Vector3 GlobalNamespace::SteamVR_Utils::GetPosition(UnityEngine::Matrix4x4 matrix) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::GetPosition");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils", "GetPosition", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(matrix)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Vector3, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, matrix);
  }
  // Autogenerated method: SteamVR_Utils.GetScale
  UnityEngine::Vector3 GlobalNamespace::SteamVR_Utils::GetScale(UnityEngine::Matrix4x4 m) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::GetScale");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils", "GetScale", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(m)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Vector3, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, m);
  }
  // Autogenerated method: SteamVR_Utils.CallSystemFn
  ::Il2CppObject* GlobalNamespace::SteamVR_Utils::CallSystemFn(GlobalNamespace::SteamVR_Utils::SystemFn* fn, ::ArrayW<::Il2CppObject*> args) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::CallSystemFn");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils", "CallSystemFn", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(fn), ::il2cpp_utils::ExtractType(args)})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppObject*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, fn, args);
  }
  // Autogenerated method: SteamVR_Utils.TakeStereoScreenshot
  void GlobalNamespace::SteamVR_Utils::TakeStereoScreenshot(uint screenshotHandle, UnityEngine::GameObject* target, int cellSize, float ipd, ByRef<::Il2CppString*> previewFilename, ByRef<::Il2CppString*> VRFilename) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::TakeStereoScreenshot");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils", "TakeStereoScreenshot", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(screenshotHandle), ::il2cpp_utils::ExtractType(target), ::il2cpp_utils::ExtractType(cellSize), ::il2cpp_utils::ExtractType(ipd), ::il2cpp_utils::ExtractType(previewFilename), ::il2cpp_utils::ExtractType(VRFilename)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, screenshotHandle, target, cellSize, ipd, byref(previewFilename), byref(VRFilename));
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: SteamVR_Utils/RigidTransform
  #include "GlobalNamespace/SteamVR_Utils_RigidTransform.hpp"
  // Including type: UnityEngine.Transform
  #include "UnityEngine/Transform.hpp"
  // Including type: Valve.VR.HmdMatrix34_t
  #include "Valve/VR/HmdMatrix34_t.hpp"
  // Including type: Valve.VR.HmdMatrix44_t
  #include "Valve/VR/HmdMatrix44_t.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Vector3 pos
  UnityEngine::Vector3& GlobalNamespace::SteamVR_Utils::RigidTransform::dyn_pos() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::dyn_pos");
    auto ___internal__instance = *this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "pos"))->offset;
    return *reinterpret_cast<UnityEngine::Vector3*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated instance field getter
  // Get instance field: public UnityEngine.Quaternion rot
  UnityEngine::Quaternion& GlobalNamespace::SteamVR_Utils::RigidTransform::dyn_rot() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::dyn_rot");
    auto ___internal__instance = *this;
    static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "rot"))->offset;
    return *reinterpret_cast<UnityEngine::Quaternion*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform.get_identity
  GlobalNamespace::SteamVR_Utils::RigidTransform GlobalNamespace::SteamVR_Utils::RigidTransform::get_identity() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::get_identity");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils/RigidTransform", "get_identity", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Utils::RigidTransform, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform..ctor
  // ABORTED elsewhere.  GlobalNamespace::SteamVR_Utils::RigidTransform::RigidTransform(UnityEngine::Vector3 pos, UnityEngine::Quaternion rot)
  // Autogenerated method: SteamVR_Utils/RigidTransform..ctor
  GlobalNamespace::SteamVR_Utils::RigidTransform::RigidTransform(UnityEngine::Transform* t) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::.ctor");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(*this, ".ctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(t)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, t);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform..ctor
  GlobalNamespace::SteamVR_Utils::RigidTransform::RigidTransform(UnityEngine::Transform* from, UnityEngine::Transform* to) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::.ctor");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(*this, ".ctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(from), ::il2cpp_utils::ExtractType(to)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, from, to);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform..ctor
  GlobalNamespace::SteamVR_Utils::RigidTransform::RigidTransform(Valve::VR::HmdMatrix34_t pose) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::.ctor");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(*this, ".ctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pose)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, pose);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform..ctor
  GlobalNamespace::SteamVR_Utils::RigidTransform::RigidTransform(Valve::VR::HmdMatrix44_t pose) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::.ctor");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(*this, ".ctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pose)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, pose);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform.FromLocal
  GlobalNamespace::SteamVR_Utils::RigidTransform GlobalNamespace::SteamVR_Utils::RigidTransform::FromLocal(UnityEngine::Transform* t) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::FromLocal");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils/RigidTransform", "FromLocal", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(t)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Utils::RigidTransform, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, t);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform.ToHmdMatrix44
  Valve::VR::HmdMatrix44_t GlobalNamespace::SteamVR_Utils::RigidTransform::ToHmdMatrix44() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::ToHmdMatrix44");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(*this, "ToHmdMatrix44", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::HmdMatrix44_t, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform.ToHmdMatrix34
  Valve::VR::HmdMatrix34_t GlobalNamespace::SteamVR_Utils::RigidTransform::ToHmdMatrix34() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::ToHmdMatrix34");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(*this, "ToHmdMatrix34", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::HmdMatrix34_t, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform.Inverse
  void GlobalNamespace::SteamVR_Utils::RigidTransform::Inverse() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::Inverse");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(*this, "Inverse", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform.GetInverse
  GlobalNamespace::SteamVR_Utils::RigidTransform GlobalNamespace::SteamVR_Utils::RigidTransform::GetInverse() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::GetInverse");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(*this, "GetInverse", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Utils::RigidTransform, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform.Multiply
  void GlobalNamespace::SteamVR_Utils::RigidTransform::Multiply(GlobalNamespace::SteamVR_Utils::RigidTransform a, GlobalNamespace::SteamVR_Utils::RigidTransform b) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::Multiply");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(*this, "Multiply", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(a), ::il2cpp_utils::ExtractType(b)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, a, b);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform.InverseTransformPoint
  UnityEngine::Vector3 GlobalNamespace::SteamVR_Utils::RigidTransform::InverseTransformPoint(UnityEngine::Vector3 point) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::InverseTransformPoint");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(*this, "InverseTransformPoint", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(point)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Vector3, false>(this, ___internal__method, point);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform.TransformPoint
  UnityEngine::Vector3 GlobalNamespace::SteamVR_Utils::RigidTransform::TransformPoint(UnityEngine::Vector3 point) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::TransformPoint");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(*this, "TransformPoint", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(point)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Vector3, false>(this, ___internal__method, point);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform.Interpolate
  GlobalNamespace::SteamVR_Utils::RigidTransform GlobalNamespace::SteamVR_Utils::RigidTransform::Interpolate(GlobalNamespace::SteamVR_Utils::RigidTransform a, GlobalNamespace::SteamVR_Utils::RigidTransform b, float t) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::Interpolate");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils/RigidTransform", "Interpolate", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(a), ::il2cpp_utils::ExtractType(b), ::il2cpp_utils::ExtractType(t)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Utils::RigidTransform, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, a, b, t);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform.Interpolate
  void GlobalNamespace::SteamVR_Utils::RigidTransform::Interpolate(GlobalNamespace::SteamVR_Utils::RigidTransform to, float t) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::Interpolate");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(*this, "Interpolate", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(to), ::il2cpp_utils::ExtractType(t)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, to, t);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform.Equals
  bool GlobalNamespace::SteamVR_Utils::RigidTransform::Equals(::Il2CppObject* o) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::Equals");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(*this, "Equals", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(o)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, o);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform.GetHashCode
  int GlobalNamespace::SteamVR_Utils::RigidTransform::GetHashCode() {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::GetHashCode");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(*this, "GetHashCode", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<int, false>(this, ___internal__method);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform.op_Equality
  bool GlobalNamespace::operator ==(const GlobalNamespace::SteamVR_Utils::RigidTransform& a, const GlobalNamespace::SteamVR_Utils::RigidTransform& b) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::op_Equality");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils/RigidTransform", "op_Equality", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(a), ::il2cpp_utils::ExtractType(b)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, a, b);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform.op_Inequality
  bool GlobalNamespace::operator !=(const GlobalNamespace::SteamVR_Utils::RigidTransform& a, const GlobalNamespace::SteamVR_Utils::RigidTransform& b) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::op_Inequality");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils/RigidTransform", "op_Inequality", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(a), ::il2cpp_utils::ExtractType(b)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, a, b);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform.op_Multiply
  GlobalNamespace::SteamVR_Utils::RigidTransform GlobalNamespace::operator*(const GlobalNamespace::SteamVR_Utils::RigidTransform& a, const GlobalNamespace::SteamVR_Utils::RigidTransform& b) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::op_Multiply");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils/RigidTransform", "op_Multiply", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(a), ::il2cpp_utils::ExtractType(b)})));
    return ::il2cpp_utils::RunMethodThrow<GlobalNamespace::SteamVR_Utils::RigidTransform, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, a, b);
  }
  // Autogenerated method: SteamVR_Utils/RigidTransform.op_Multiply
  UnityEngine::Vector3 GlobalNamespace::operator*(const GlobalNamespace::SteamVR_Utils::RigidTransform& t, const UnityEngine::Vector3& v) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::RigidTransform::op_Multiply");
    static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("", "SteamVR_Utils/RigidTransform", "op_Multiply", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(t), ::il2cpp_utils::ExtractType(v)})));
    return ::il2cpp_utils::RunMethodThrow<UnityEngine::Vector3, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, t, v);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: SteamVR_Utils/SystemFn
  #include "GlobalNamespace/SteamVR_Utils_SystemFn.hpp"
  // Including type: Valve.VR.CVRSystem
  #include "Valve/VR/CVRSystem.hpp"
  // Including type: System.IAsyncResult
  #include "System/IAsyncResult.hpp"
  // Including type: System.AsyncCallback
  #include "System/AsyncCallback.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: SteamVR_Utils/SystemFn.Invoke
  ::Il2CppObject* GlobalNamespace::SteamVR_Utils::SystemFn::Invoke(Valve::VR::CVRSystem* system, ::ArrayW<::Il2CppObject*> args) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::SystemFn::Invoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(system), ::il2cpp_utils::ExtractType(args)})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppObject*, false>(this, ___internal__method, system, args);
  }
  // Autogenerated method: SteamVR_Utils/SystemFn.BeginInvoke
  System::IAsyncResult* GlobalNamespace::SteamVR_Utils::SystemFn::BeginInvoke(Valve::VR::CVRSystem* system, ::ArrayW<::Il2CppObject*> args, System::AsyncCallback* callback, ::Il2CppObject* object) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::SystemFn::BeginInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(system), ::il2cpp_utils::ExtractType(args), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
    return ::il2cpp_utils::RunMethodThrow<System::IAsyncResult*, false>(this, ___internal__method, system, args, callback, object);
  }
  // Autogenerated method: SteamVR_Utils/SystemFn.EndInvoke
  ::Il2CppObject* GlobalNamespace::SteamVR_Utils::SystemFn::EndInvoke(System::IAsyncResult* result) {
    static auto ___internal__logger = ::Logger::get().WithContext("GlobalNamespace::SteamVR_Utils::SystemFn::EndInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
    return ::il2cpp_utils::RunMethodThrow<::Il2CppObject*, false>(this, ___internal__method, result);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: Valve.VR.IVRSystem/Valve.VR._GetRecommendedRenderTargetSize
  #include "Valve/VR/IVRSystem__GetRecommendedRenderTargetSize.hpp"
  // Including type: System.IAsyncResult
  #include "System/IAsyncResult.hpp"
  // Including type: System.AsyncCallback
  #include "System/AsyncCallback.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetRecommendedRenderTargetSize.Invoke
  void Valve::VR::IVRSystem::_GetRecommendedRenderTargetSize::Invoke(ByRef<uint> pnWidth, ByRef<uint> pnHeight) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetRecommendedRenderTargetSize::Invoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pnWidth), ::il2cpp_utils::ExtractType(pnHeight)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, byref(pnWidth), byref(pnHeight));
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetRecommendedRenderTargetSize.BeginInvoke
  System::IAsyncResult* Valve::VR::IVRSystem::_GetRecommendedRenderTargetSize::BeginInvoke(ByRef<uint> pnWidth, ByRef<uint> pnHeight, System::AsyncCallback* callback, ::Il2CppObject* object) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetRecommendedRenderTargetSize::BeginInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pnWidth), ::il2cpp_utils::ExtractType(pnHeight), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
    return ::il2cpp_utils::RunMethodThrow<System::IAsyncResult*, false>(this, ___internal__method, byref(pnWidth), byref(pnHeight), callback, object);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetRecommendedRenderTargetSize.EndInvoke
  void Valve::VR::IVRSystem::_GetRecommendedRenderTargetSize::EndInvoke(ByRef<uint> pnWidth, ByRef<uint> pnHeight, System::IAsyncResult* result) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetRecommendedRenderTargetSize::EndInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pnWidth), ::il2cpp_utils::ExtractType(pnHeight), ::il2cpp_utils::ExtractType(result)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, byref(pnWidth), byref(pnHeight), result);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: Valve.VR.IVRSystem/Valve.VR._GetProjectionMatrix
  #include "Valve/VR/IVRSystem__GetProjectionMatrix.hpp"
  // Including type: Valve.VR.HmdMatrix44_t
  #include "Valve/VR/HmdMatrix44_t.hpp"
  // Including type: Valve.VR.EVREye
  #include "Valve/VR/EVREye.hpp"
  // Including type: System.IAsyncResult
  #include "System/IAsyncResult.hpp"
  // Including type: System.AsyncCallback
  #include "System/AsyncCallback.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetProjectionMatrix.Invoke
  Valve::VR::HmdMatrix44_t Valve::VR::IVRSystem::_GetProjectionMatrix::Invoke(Valve::VR::EVREye eEye, float fNearZ, float fFarZ) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetProjectionMatrix::Invoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(eEye), ::il2cpp_utils::ExtractType(fNearZ), ::il2cpp_utils::ExtractType(fFarZ)})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::HmdMatrix44_t, false>(this, ___internal__method, eEye, fNearZ, fFarZ);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetProjectionMatrix.BeginInvoke
  System::IAsyncResult* Valve::VR::IVRSystem::_GetProjectionMatrix::BeginInvoke(Valve::VR::EVREye eEye, float fNearZ, float fFarZ, System::AsyncCallback* callback, ::Il2CppObject* object) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetProjectionMatrix::BeginInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(eEye), ::il2cpp_utils::ExtractType(fNearZ), ::il2cpp_utils::ExtractType(fFarZ), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
    return ::il2cpp_utils::RunMethodThrow<System::IAsyncResult*, false>(this, ___internal__method, eEye, fNearZ, fFarZ, callback, object);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetProjectionMatrix.EndInvoke
  Valve::VR::HmdMatrix44_t Valve::VR::IVRSystem::_GetProjectionMatrix::EndInvoke(System::IAsyncResult* result) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetProjectionMatrix::EndInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::HmdMatrix44_t, false>(this, ___internal__method, result);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: Valve.VR.IVRSystem/Valve.VR._GetProjectionRaw
  #include "Valve/VR/IVRSystem__GetProjectionRaw.hpp"
  // Including type: Valve.VR.EVREye
  #include "Valve/VR/EVREye.hpp"
  // Including type: System.IAsyncResult
  #include "System/IAsyncResult.hpp"
  // Including type: System.AsyncCallback
  #include "System/AsyncCallback.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetProjectionRaw.Invoke
  void Valve::VR::IVRSystem::_GetProjectionRaw::Invoke(Valve::VR::EVREye eEye, ByRef<float> pfLeft, ByRef<float> pfRight, ByRef<float> pfTop, ByRef<float> pfBottom) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetProjectionRaw::Invoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(eEye), ::il2cpp_utils::ExtractType(pfLeft), ::il2cpp_utils::ExtractType(pfRight), ::il2cpp_utils::ExtractType(pfTop), ::il2cpp_utils::ExtractType(pfBottom)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, eEye, byref(pfLeft), byref(pfRight), byref(pfTop), byref(pfBottom));
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetProjectionRaw.BeginInvoke
  System::IAsyncResult* Valve::VR::IVRSystem::_GetProjectionRaw::BeginInvoke(Valve::VR::EVREye eEye, ByRef<float> pfLeft, ByRef<float> pfRight, ByRef<float> pfTop, ByRef<float> pfBottom, System::AsyncCallback* callback, ::Il2CppObject* object) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetProjectionRaw::BeginInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(eEye), ::il2cpp_utils::ExtractType(pfLeft), ::il2cpp_utils::ExtractType(pfRight), ::il2cpp_utils::ExtractType(pfTop), ::il2cpp_utils::ExtractType(pfBottom), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
    return ::il2cpp_utils::RunMethodThrow<System::IAsyncResult*, false>(this, ___internal__method, eEye, byref(pfLeft), byref(pfRight), byref(pfTop), byref(pfBottom), callback, object);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetProjectionRaw.EndInvoke
  void Valve::VR::IVRSystem::_GetProjectionRaw::EndInvoke(ByRef<float> pfLeft, ByRef<float> pfRight, ByRef<float> pfTop, ByRef<float> pfBottom, System::IAsyncResult* result) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetProjectionRaw::EndInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pfLeft), ::il2cpp_utils::ExtractType(pfRight), ::il2cpp_utils::ExtractType(pfTop), ::il2cpp_utils::ExtractType(pfBottom), ::il2cpp_utils::ExtractType(result)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, byref(pfLeft), byref(pfRight), byref(pfTop), byref(pfBottom), result);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: Valve.VR.IVRSystem/Valve.VR._ComputeDistortion
  #include "Valve/VR/IVRSystem__ComputeDistortion.hpp"
  // Including type: Valve.VR.EVREye
  #include "Valve/VR/EVREye.hpp"
  // Including type: Valve.VR.DistortionCoordinates_t
  #include "Valve/VR/DistortionCoordinates_t.hpp"
  // Including type: System.IAsyncResult
  #include "System/IAsyncResult.hpp"
  // Including type: System.AsyncCallback
  #include "System/AsyncCallback.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._ComputeDistortion.Invoke
  bool Valve::VR::IVRSystem::_ComputeDistortion::Invoke(Valve::VR::EVREye eEye, float fU, float fV, ByRef<Valve::VR::DistortionCoordinates_t> pDistortionCoordinates) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_ComputeDistortion::Invoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(eEye), ::il2cpp_utils::ExtractType(fU), ::il2cpp_utils::ExtractType(fV), ::il2cpp_utils::ExtractType(pDistortionCoordinates)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, eEye, fU, fV, byref(pDistortionCoordinates));
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._ComputeDistortion.BeginInvoke
  System::IAsyncResult* Valve::VR::IVRSystem::_ComputeDistortion::BeginInvoke(Valve::VR::EVREye eEye, float fU, float fV, ByRef<Valve::VR::DistortionCoordinates_t> pDistortionCoordinates, System::AsyncCallback* callback, ::Il2CppObject* object) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_ComputeDistortion::BeginInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(eEye), ::il2cpp_utils::ExtractType(fU), ::il2cpp_utils::ExtractType(fV), ::il2cpp_utils::ExtractType(pDistortionCoordinates), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
    return ::il2cpp_utils::RunMethodThrow<System::IAsyncResult*, false>(this, ___internal__method, eEye, fU, fV, byref(pDistortionCoordinates), callback, object);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._ComputeDistortion.EndInvoke
  bool Valve::VR::IVRSystem::_ComputeDistortion::EndInvoke(ByRef<Valve::VR::DistortionCoordinates_t> pDistortionCoordinates, System::IAsyncResult* result) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_ComputeDistortion::EndInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pDistortionCoordinates), ::il2cpp_utils::ExtractType(result)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, byref(pDistortionCoordinates), result);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: Valve.VR.IVRSystem/Valve.VR._GetEyeToHeadTransform
  #include "Valve/VR/IVRSystem__GetEyeToHeadTransform.hpp"
  // Including type: Valve.VR.HmdMatrix34_t
  #include "Valve/VR/HmdMatrix34_t.hpp"
  // Including type: Valve.VR.EVREye
  #include "Valve/VR/EVREye.hpp"
  // Including type: System.IAsyncResult
  #include "System/IAsyncResult.hpp"
  // Including type: System.AsyncCallback
  #include "System/AsyncCallback.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetEyeToHeadTransform.Invoke
  Valve::VR::HmdMatrix34_t Valve::VR::IVRSystem::_GetEyeToHeadTransform::Invoke(Valve::VR::EVREye eEye) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetEyeToHeadTransform::Invoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(eEye)})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::HmdMatrix34_t, false>(this, ___internal__method, eEye);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetEyeToHeadTransform.BeginInvoke
  System::IAsyncResult* Valve::VR::IVRSystem::_GetEyeToHeadTransform::BeginInvoke(Valve::VR::EVREye eEye, System::AsyncCallback* callback, ::Il2CppObject* object) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetEyeToHeadTransform::BeginInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(eEye), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
    return ::il2cpp_utils::RunMethodThrow<System::IAsyncResult*, false>(this, ___internal__method, eEye, callback, object);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetEyeToHeadTransform.EndInvoke
  Valve::VR::HmdMatrix34_t Valve::VR::IVRSystem::_GetEyeToHeadTransform::EndInvoke(System::IAsyncResult* result) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetEyeToHeadTransform::EndInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::HmdMatrix34_t, false>(this, ___internal__method, result);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: Valve.VR.IVRSystem/Valve.VR._GetTimeSinceLastVsync
  #include "Valve/VR/IVRSystem__GetTimeSinceLastVsync.hpp"
  // Including type: System.IAsyncResult
  #include "System/IAsyncResult.hpp"
  // Including type: System.AsyncCallback
  #include "System/AsyncCallback.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetTimeSinceLastVsync.Invoke
  bool Valve::VR::IVRSystem::_GetTimeSinceLastVsync::Invoke(ByRef<float> pfSecondsSinceLastVsync, ByRef<uint64_t> pulFrameCounter) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetTimeSinceLastVsync::Invoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pfSecondsSinceLastVsync), ::il2cpp_utils::ExtractType(pulFrameCounter)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, byref(pfSecondsSinceLastVsync), byref(pulFrameCounter));
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetTimeSinceLastVsync.BeginInvoke
  System::IAsyncResult* Valve::VR::IVRSystem::_GetTimeSinceLastVsync::BeginInvoke(ByRef<float> pfSecondsSinceLastVsync, ByRef<uint64_t> pulFrameCounter, System::AsyncCallback* callback, ::Il2CppObject* object) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetTimeSinceLastVsync::BeginInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pfSecondsSinceLastVsync), ::il2cpp_utils::ExtractType(pulFrameCounter), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
    return ::il2cpp_utils::RunMethodThrow<System::IAsyncResult*, false>(this, ___internal__method, byref(pfSecondsSinceLastVsync), byref(pulFrameCounter), callback, object);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetTimeSinceLastVsync.EndInvoke
  bool Valve::VR::IVRSystem::_GetTimeSinceLastVsync::EndInvoke(ByRef<float> pfSecondsSinceLastVsync, ByRef<uint64_t> pulFrameCounter, System::IAsyncResult* result) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetTimeSinceLastVsync::EndInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pfSecondsSinceLastVsync), ::il2cpp_utils::ExtractType(pulFrameCounter), ::il2cpp_utils::ExtractType(result)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, byref(pfSecondsSinceLastVsync), byref(pulFrameCounter), result);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: Valve.VR.IVRSystem/Valve.VR._GetD3D9AdapterIndex
  #include "Valve/VR/IVRSystem__GetD3D9AdapterIndex.hpp"
  // Including type: System.IAsyncResult
  #include "System/IAsyncResult.hpp"
  // Including type: System.AsyncCallback
  #include "System/AsyncCallback.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetD3D9AdapterIndex.Invoke
  int Valve::VR::IVRSystem::_GetD3D9AdapterIndex::Invoke() {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetD3D9AdapterIndex::Invoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<int, false>(this, ___internal__method);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetD3D9AdapterIndex.BeginInvoke
  System::IAsyncResult* Valve::VR::IVRSystem::_GetD3D9AdapterIndex::BeginInvoke(System::AsyncCallback* callback, ::Il2CppObject* object) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetD3D9AdapterIndex::BeginInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
    return ::il2cpp_utils::RunMethodThrow<System::IAsyncResult*, false>(this, ___internal__method, callback, object);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetD3D9AdapterIndex.EndInvoke
  int Valve::VR::IVRSystem::_GetD3D9AdapterIndex::EndInvoke(System::IAsyncResult* result) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetD3D9AdapterIndex::EndInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
    return ::il2cpp_utils::RunMethodThrow<int, false>(this, ___internal__method, result);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: Valve.VR.IVRSystem/Valve.VR._GetDXGIOutputInfo
  #include "Valve/VR/IVRSystem__GetDXGIOutputInfo.hpp"
  // Including type: System.IAsyncResult
  #include "System/IAsyncResult.hpp"
  // Including type: System.AsyncCallback
  #include "System/AsyncCallback.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetDXGIOutputInfo.Invoke
  void Valve::VR::IVRSystem::_GetDXGIOutputInfo::Invoke(ByRef<int> pnAdapterIndex) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetDXGIOutputInfo::Invoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pnAdapterIndex)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, byref(pnAdapterIndex));
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetDXGIOutputInfo.BeginInvoke
  System::IAsyncResult* Valve::VR::IVRSystem::_GetDXGIOutputInfo::BeginInvoke(ByRef<int> pnAdapterIndex, System::AsyncCallback* callback, ::Il2CppObject* object) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetDXGIOutputInfo::BeginInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pnAdapterIndex), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
    return ::il2cpp_utils::RunMethodThrow<System::IAsyncResult*, false>(this, ___internal__method, byref(pnAdapterIndex), callback, object);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetDXGIOutputInfo.EndInvoke
  void Valve::VR::IVRSystem::_GetDXGIOutputInfo::EndInvoke(ByRef<int> pnAdapterIndex, System::IAsyncResult* result) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetDXGIOutputInfo::EndInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pnAdapterIndex), ::il2cpp_utils::ExtractType(result)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, byref(pnAdapterIndex), result);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: Valve.VR.IVRSystem/Valve.VR._GetOutputDevice
  #include "Valve/VR/IVRSystem__GetOutputDevice.hpp"
  // Including type: Valve.VR.ETextureType
  #include "Valve/VR/ETextureType.hpp"
  // Including type: System.IAsyncResult
  #include "System/IAsyncResult.hpp"
  // Including type: System.AsyncCallback
  #include "System/AsyncCallback.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetOutputDevice.Invoke
  void Valve::VR::IVRSystem::_GetOutputDevice::Invoke(ByRef<uint64_t> pnDevice, Valve::VR::ETextureType textureType, System::IntPtr pInstance) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetOutputDevice::Invoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pnDevice), ::il2cpp_utils::ExtractType(textureType), ::il2cpp_utils::ExtractType(pInstance)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, byref(pnDevice), textureType, pInstance);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetOutputDevice.BeginInvoke
  System::IAsyncResult* Valve::VR::IVRSystem::_GetOutputDevice::BeginInvoke(ByRef<uint64_t> pnDevice, Valve::VR::ETextureType textureType, System::IntPtr pInstance, System::AsyncCallback* callback, ::Il2CppObject* object) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetOutputDevice::BeginInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pnDevice), ::il2cpp_utils::ExtractType(textureType), ::il2cpp_utils::ExtractType(pInstance), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
    return ::il2cpp_utils::RunMethodThrow<System::IAsyncResult*, false>(this, ___internal__method, byref(pnDevice), textureType, pInstance, callback, object);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetOutputDevice.EndInvoke
  void Valve::VR::IVRSystem::_GetOutputDevice::EndInvoke(ByRef<uint64_t> pnDevice, System::IAsyncResult* result) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetOutputDevice::EndInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(pnDevice), ::il2cpp_utils::ExtractType(result)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, byref(pnDevice), result);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: Valve.VR.IVRSystem/Valve.VR._IsDisplayOnDesktop
  #include "Valve/VR/IVRSystem__IsDisplayOnDesktop.hpp"
  // Including type: System.IAsyncResult
  #include "System/IAsyncResult.hpp"
  // Including type: System.AsyncCallback
  #include "System/AsyncCallback.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._IsDisplayOnDesktop.Invoke
  bool Valve::VR::IVRSystem::_IsDisplayOnDesktop::Invoke() {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_IsDisplayOnDesktop::Invoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._IsDisplayOnDesktop.BeginInvoke
  System::IAsyncResult* Valve::VR::IVRSystem::_IsDisplayOnDesktop::BeginInvoke(System::AsyncCallback* callback, ::Il2CppObject* object) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_IsDisplayOnDesktop::BeginInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
    return ::il2cpp_utils::RunMethodThrow<System::IAsyncResult*, false>(this, ___internal__method, callback, object);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._IsDisplayOnDesktop.EndInvoke
  bool Valve::VR::IVRSystem::_IsDisplayOnDesktop::EndInvoke(System::IAsyncResult* result) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_IsDisplayOnDesktop::EndInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, result);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: Valve.VR.IVRSystem/Valve.VR._SetDisplayVisibility
  #include "Valve/VR/IVRSystem__SetDisplayVisibility.hpp"
  // Including type: System.IAsyncResult
  #include "System/IAsyncResult.hpp"
  // Including type: System.AsyncCallback
  #include "System/AsyncCallback.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._SetDisplayVisibility.Invoke
  bool Valve::VR::IVRSystem::_SetDisplayVisibility::Invoke(bool bIsVisibleOnDesktop) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_SetDisplayVisibility::Invoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(bIsVisibleOnDesktop)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, bIsVisibleOnDesktop);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._SetDisplayVisibility.BeginInvoke
  System::IAsyncResult* Valve::VR::IVRSystem::_SetDisplayVisibility::BeginInvoke(bool bIsVisibleOnDesktop, System::AsyncCallback* callback, ::Il2CppObject* object) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_SetDisplayVisibility::BeginInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(bIsVisibleOnDesktop), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
    return ::il2cpp_utils::RunMethodThrow<System::IAsyncResult*, false>(this, ___internal__method, bIsVisibleOnDesktop, callback, object);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._SetDisplayVisibility.EndInvoke
  bool Valve::VR::IVRSystem::_SetDisplayVisibility::EndInvoke(System::IAsyncResult* result) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_SetDisplayVisibility::EndInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
    return ::il2cpp_utils::RunMethodThrow<bool, false>(this, ___internal__method, result);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: Valve.VR.IVRSystem/Valve.VR._GetDeviceToAbsoluteTrackingPose
  #include "Valve/VR/IVRSystem__GetDeviceToAbsoluteTrackingPose.hpp"
  // Including type: Valve.VR.ETrackingUniverseOrigin
  #include "Valve/VR/ETrackingUniverseOrigin.hpp"
  // Including type: System.IAsyncResult
  #include "System/IAsyncResult.hpp"
  // Including type: System.AsyncCallback
  #include "System/AsyncCallback.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetDeviceToAbsoluteTrackingPose.Invoke
  void Valve::VR::IVRSystem::_GetDeviceToAbsoluteTrackingPose::Invoke(Valve::VR::ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, ByRef<::ArrayW<Valve::VR::TrackedDevicePose_t>> pTrackedDevicePoseArray, uint unTrackedDevicePoseArrayCount) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetDeviceToAbsoluteTrackingPose::Invoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(eOrigin), ::il2cpp_utils::ExtractType(fPredictedSecondsToPhotonsFromNow), ::il2cpp_utils::ExtractType(pTrackedDevicePoseArray), ::il2cpp_utils::ExtractType(unTrackedDevicePoseArrayCount)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, eOrigin, fPredictedSecondsToPhotonsFromNow, byref(pTrackedDevicePoseArray), unTrackedDevicePoseArrayCount);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetDeviceToAbsoluteTrackingPose.BeginInvoke
  System::IAsyncResult* Valve::VR::IVRSystem::_GetDeviceToAbsoluteTrackingPose::BeginInvoke(Valve::VR::ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, ByRef<::ArrayW<Valve::VR::TrackedDevicePose_t>> pTrackedDevicePoseArray, uint unTrackedDevicePoseArrayCount, System::AsyncCallback* callback, ::Il2CppObject* object) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetDeviceToAbsoluteTrackingPose::BeginInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(eOrigin), ::il2cpp_utils::ExtractType(fPredictedSecondsToPhotonsFromNow), ::il2cpp_utils::ExtractType(pTrackedDevicePoseArray), ::il2cpp_utils::ExtractType(unTrackedDevicePoseArrayCount), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
    return ::il2cpp_utils::RunMethodThrow<System::IAsyncResult*, false>(this, ___internal__method, eOrigin, fPredictedSecondsToPhotonsFromNow, byref(pTrackedDevicePoseArray), unTrackedDevicePoseArrayCount, callback, object);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetDeviceToAbsoluteTrackingPose.EndInvoke
  void Valve::VR::IVRSystem::_GetDeviceToAbsoluteTrackingPose::EndInvoke(System::IAsyncResult* result) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetDeviceToAbsoluteTrackingPose::EndInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, result);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: Valve.VR.IVRSystem/Valve.VR._ResetSeatedZeroPose
  #include "Valve/VR/IVRSystem__ResetSeatedZeroPose.hpp"
  // Including type: System.IAsyncResult
  #include "System/IAsyncResult.hpp"
  // Including type: System.AsyncCallback
  #include "System/AsyncCallback.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._ResetSeatedZeroPose.Invoke
  void Valve::VR::IVRSystem::_ResetSeatedZeroPose::Invoke() {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_ResetSeatedZeroPose::Invoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._ResetSeatedZeroPose.BeginInvoke
  System::IAsyncResult* Valve::VR::IVRSystem::_ResetSeatedZeroPose::BeginInvoke(System::AsyncCallback* callback, ::Il2CppObject* object) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_ResetSeatedZeroPose::BeginInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
    return ::il2cpp_utils::RunMethodThrow<System::IAsyncResult*, false>(this, ___internal__method, callback, object);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._ResetSeatedZeroPose.EndInvoke
  void Valve::VR::IVRSystem::_ResetSeatedZeroPose::EndInvoke(System::IAsyncResult* result) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_ResetSeatedZeroPose::EndInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
    ::il2cpp_utils::RunMethodThrow<void, false>(this, ___internal__method, result);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: Valve.VR.IVRSystem/Valve.VR._GetSeatedZeroPoseToStandingAbsoluteTrackingPose
  #include "Valve/VR/IVRSystem__GetSeatedZeroPoseToStandingAbsoluteTrackingPose.hpp"
  // Including type: Valve.VR.HmdMatrix34_t
  #include "Valve/VR/HmdMatrix34_t.hpp"
  // Including type: System.IAsyncResult
  #include "System/IAsyncResult.hpp"
  // Including type: System.AsyncCallback
  #include "System/AsyncCallback.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetSeatedZeroPoseToStandingAbsoluteTrackingPose.Invoke
  Valve::VR::HmdMatrix34_t Valve::VR::IVRSystem::_GetSeatedZeroPoseToStandingAbsoluteTrackingPose::Invoke() {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetSeatedZeroPoseToStandingAbsoluteTrackingPose::Invoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::HmdMatrix34_t, false>(this, ___internal__method);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetSeatedZeroPoseToStandingAbsoluteTrackingPose.BeginInvoke
  System::IAsyncResult* Valve::VR::IVRSystem::_GetSeatedZeroPoseToStandingAbsoluteTrackingPose::BeginInvoke(System::AsyncCallback* callback, ::Il2CppObject* object) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetSeatedZeroPoseToStandingAbsoluteTrackingPose::BeginInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
    return ::il2cpp_utils::RunMethodThrow<System::IAsyncResult*, false>(this, ___internal__method, callback, object);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetSeatedZeroPoseToStandingAbsoluteTrackingPose.EndInvoke
  Valve::VR::HmdMatrix34_t Valve::VR::IVRSystem::_GetSeatedZeroPoseToStandingAbsoluteTrackingPose::EndInvoke(System::IAsyncResult* result) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetSeatedZeroPoseToStandingAbsoluteTrackingPose::EndInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::HmdMatrix34_t, false>(this, ___internal__method, result);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: Valve.VR.IVRSystem/Valve.VR._GetRawZeroPoseToStandingAbsoluteTrackingPose
  #include "Valve/VR/IVRSystem__GetRawZeroPoseToStandingAbsoluteTrackingPose.hpp"
  // Including type: Valve.VR.HmdMatrix34_t
  #include "Valve/VR/HmdMatrix34_t.hpp"
  // Including type: System.IAsyncResult
  #include "System/IAsyncResult.hpp"
  // Including type: System.AsyncCallback
  #include "System/AsyncCallback.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetRawZeroPoseToStandingAbsoluteTrackingPose.Invoke
  Valve::VR::HmdMatrix34_t Valve::VR::IVRSystem::_GetRawZeroPoseToStandingAbsoluteTrackingPose::Invoke() {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetRawZeroPoseToStandingAbsoluteTrackingPose::Invoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::HmdMatrix34_t, false>(this, ___internal__method);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetRawZeroPoseToStandingAbsoluteTrackingPose.BeginInvoke
  System::IAsyncResult* Valve::VR::IVRSystem::_GetRawZeroPoseToStandingAbsoluteTrackingPose::BeginInvoke(System::AsyncCallback* callback, ::Il2CppObject* object) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetRawZeroPoseToStandingAbsoluteTrackingPose::BeginInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
    return ::il2cpp_utils::RunMethodThrow<System::IAsyncResult*, false>(this, ___internal__method, callback, object);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetRawZeroPoseToStandingAbsoluteTrackingPose.EndInvoke
  Valve::VR::HmdMatrix34_t Valve::VR::IVRSystem::_GetRawZeroPoseToStandingAbsoluteTrackingPose::EndInvoke(System::IAsyncResult* result) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetRawZeroPoseToStandingAbsoluteTrackingPose::EndInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
    return ::il2cpp_utils::RunMethodThrow<Valve::VR::HmdMatrix34_t, false>(this, ___internal__method, result);
  }
  // Autogenerated from CppSourceCreator
  // Created by Sc2ad
  // =========================================================================
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: Valve.VR.IVRSystem/Valve.VR._GetSortedTrackedDeviceIndicesOfClass
  #include "Valve/VR/IVRSystem__GetSortedTrackedDeviceIndicesOfClass.hpp"
  // Including type: Valve.VR.ETrackedDeviceClass
  #include "Valve/VR/ETrackedDeviceClass.hpp"
  // Including type: System.IAsyncResult
  #include "System/IAsyncResult.hpp"
  // Including type: System.AsyncCallback
  #include "System/AsyncCallback.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetSortedTrackedDeviceIndicesOfClass.Invoke
  uint Valve::VR::IVRSystem::_GetSortedTrackedDeviceIndicesOfClass::Invoke(Valve::VR::ETrackedDeviceClass eTrackedDeviceClass, ByRef<::ArrayW<uint>> punTrackedDeviceIndexArray, uint unTrackedDeviceIndexArrayCount, uint unRelativeToTrackedDeviceIndex) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetSortedTrackedDeviceIndicesOfClass::Invoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(eTrackedDeviceClass), ::il2cpp_utils::ExtractType(punTrackedDeviceIndexArray), ::il2cpp_utils::ExtractType(unTrackedDeviceIndexArrayCount), ::il2cpp_utils::ExtractType(unRelativeToTrackedDeviceIndex)})));
    return ::il2cpp_utils::RunMethodThrow<uint, false>(this, ___internal__method, eTrackedDeviceClass, byref(punTrackedDeviceIndexArray), unTrackedDeviceIndexArrayCount, unRelativeToTrackedDeviceIndex);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetSortedTrackedDeviceIndicesOfClass.BeginInvoke
  System::IAsyncResult* Valve::VR::IVRSystem::_GetSortedTrackedDeviceIndicesOfClass::BeginInvoke(Valve::VR::ETrackedDeviceClass eTrackedDeviceClass, ByRef<::ArrayW<uint>> punTrackedDeviceIndexArray, uint unTrackedDeviceIndexArrayCount, uint unRelativeToTrackedDeviceIndex, System::AsyncCallback* callback, ::Il2CppObject* object) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetSortedTrackedDeviceIndicesOfClass::BeginInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(eTrackedDeviceClass), ::il2cpp_utils::ExtractType(punTrackedDeviceIndexArray), ::il2cpp_utils::ExtractType(unTrackedDeviceIndexArrayCount), ::il2cpp_utils::ExtractType(unRelativeToTrackedDeviceIndex), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
    return ::il2cpp_utils::RunMethodThrow<System::IAsyncResult*, false>(this, ___internal__method, eTrackedDeviceClass, byref(punTrackedDeviceIndexArray), unTrackedDeviceIndexArrayCount, unRelativeToTrackedDeviceIndex, callback, object);
  }
  // Autogenerated method: Valve.VR.IVRSystem/Valve.VR._GetSortedTrackedDeviceIndicesOfClass.EndInvoke
  uint Valve::VR::IVRSystem::_GetSortedTrackedDeviceIndicesOfClass::EndInvoke(System::IAsyncResult* result) {
    static auto ___internal__logger = ::Logger::get().WithContext("Valve::VR::IVRSystem::_GetSortedTrackedDeviceIndicesOfClass::EndInvoke");
    auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
    return ::il2cpp_utils::RunMethodThrow<uint, false>(this, ___internal__method, result);
  }
  