diff --git a/OSC/Source/OSC/Private/Osc.h b/OSC/Source/OSC/Private/Osc.h index d82522f..3a248ad 100644 --- a/OSC/Source/OSC/Private/Osc.h +++ b/OSC/Source/OSC/Private/Osc.h @@ -2,7 +2,7 @@ // Target engine version. Used to enable compatibility code. -#define OSC_ENGINE_VERSION 40500 +#define OSC_ENGINE_VERSION 40600 /* Public Dependencies diff --git a/OSC/Source/OSC/Private/OscModule.cpp b/OSC/Source/OSC/Private/OscModule.cpp index cdfcb21..58018a5 100644 --- a/OSC/Source/OSC/Private/OscModule.cpp +++ b/OSC/Source/OSC/Private/OscModule.cpp @@ -21,9 +21,14 @@ public: HandleSettingsSaved(); // register settings - ISettingsModule* settingsModule = ISettingsModule::Get(); +#if OSC_ENGINE_VERSION < 40600 + auto settingsModule = ISettingsModule::Get(); +#else + auto settingsModule = FModuleManager::GetModulePtr("Settings"); +#endif if(settingsModule) { +#if OSC_ENGINE_VERSION < 40600 FSettingsSectionDelegates settingsDelegates; settingsDelegates.ModifiedDelegate = FOnSettingsSectionModified::CreateRaw(this, &FOscModule::HandleSettingsSaved); @@ -32,8 +37,19 @@ public: LOCTEXT("OscSettingsName", "OSC"), LOCTEXT("OscSettingsDescription", "Configure the OSC plug-in."), settings, - settingsDelegates - ); + settingsDelegates); +#else + auto settingsSection = settingsModule->RegisterSettings("Project", "Plugins", "OSC", + LOCTEXT("OscSettingsName", "OSC"), + LOCTEXT("OscSettingsDescription", "Configure the OSC plug-in."), + GetMutableDefault() + ); + + if (settingsSection.IsValid()) + { + settingsSection->OnModified().BindRaw(this, &FOscModule::HandleSettingsSaved); + } +#endif } else { diff --git a/OSC/Source/OSC/Private/OscPrivatePCH.h b/OSC/Source/OSC/Private/OscPrivatePCH.h index aa96ad9..90fe866 100644 --- a/OSC/Source/OSC/Private/OscPrivatePCH.h +++ b/OSC/Source/OSC/Private/OscPrivatePCH.h @@ -2,9 +2,16 @@ #include "Osc.h" +#if OSC_ENGINE_VERSION < 40600 #include "Core.h" -#include "ModuleManager.h" #include "Settings.h" +#else +#include "Engine.h" +#include "ISettingsModule.h" +#include "ISettingsSection.h" +#endif + +#include "ModuleManager.h" #include "Sockets.h" #include "SocketSubsystem.h" #include "TaskGraphInterfaces.h"