Forum Discussion
Stratosh
10 months agoExplorer
Voice SDK failed to compile with UE5.5 Oculus fork.
Hi there!
I'm trying to implement Voice SDK into my project but when I install it (with the batch file adressed in documentation), I'm not able to compile project or even start the editor. Anyone using Voice SDK with 5.5 succesfully?
The last version of Voice SDK is Release 67.0.0. Is maybe 72.0.0 coming any soon?
Thanks
8 Replies
Replies have been turned off for this discussion
- MetaStoreHelpCommunity Manager
Hey!
Our developer support page may be the best place to get support for this question!
- StratoshExplorer
I would appriciate more humanoid answer than this "copy-paste" nonsense generated answer. Of course I've used horiyon/support page as a start for finding an answer. I didn't find so I've ended up asking here.
- StratoshExplorer
edited
- dario.macielStart Member
I know you asked for unreal 5.5 but for me it works perfectly on unreal 4.27 v49. I still use this version because I started a project at 2023 and only finished now. I also have on Unreal 5.3 working. It was working and now on unreal 5.5 it stopped?
- StratoshExplorer
Thanks for the answer! But I suppose the problem is with the version:
[1/13] Compile [x64] HttpThread.cpp
[2/13] Compile [x64] Module.Wit.4.cpp
11>WitRequestSubsystem.cpp(175): Error C2039 : 'OnRequestProgress': is not a member of 'IHttpRequest'
11>GenericPlatformHttp.h(16): Reference C2039 : see declaration of 'IHttpRequest'
11>WitRequestSubsystem.cpp(344): Warning C4996 : 'FJsonObject::HasField': Passing an ANSI string to HasField has been deprecated outside of UTF-8 mode. Please use the overload that takes a TCHAR string. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
11>WitVoiceService.cpp(805): Warning C4996 : 'FJsonObject::GetStringField': Passing an ANSI string to GetStringField has been deprecated outside of UTF-8 mode. Please use the overload that takes a TCHAR string. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
11>WitHelperUtilities.cpp(606): Warning C4996 : 'FJsonObject::TryGetArrayField': Passing an ANSI string to TryGetArrayField has been deprecated outside of UTF-8 mode. Please use the overload that takes a TCHAR string. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
11>WitHelperUtilities.cpp(648): Warning C4996 : 'FJsonObject::TryGetObjectField': Passing an ANSI string to TryGetObjectField has been deprecated outside of UTF-8 mode. Please use the overload that takes a TCHAR string. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
[3/13] Compile [x64] Module.HTTP.cpp
[4/13] Link [x64] UnrealEditor-HTTP.lib
[5/13] Link [x64] UnrealEditor-HTTP.dll
Creating object ..\Binaries\Win64\UnrealEditor-HTTP.exp
[6/13] WriteMetadata UnrealEditor.version (Emerald_MRVREditor) (UBA disabled)
[7/13] Compile [x64] Module.Wit.3.cpp
11>HttpThread.cpp(23): Error C2065 : 'UE_HTTP_DEFAULT_MAX_CONCURRENT_REQUESTS': undeclared identifier
11>HttpThread.cpp(279): Error C4668 : 'UE_HTTP_SUPPORT_TO_INCREASE_MAX_REQUESTS_AT_RUNTIME' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
11>WitHttpEngineIncludes.cpp(38): Error C1083 : Cannot open include file: 'IHttpThreadedRequest.cpp': No such file or directory
Trace file written to Z:/UE_5.5_Oculus/UnrealEngine/Engine/Programs/UnrealBuildTool/Log.uba with size 6.9kb
Total time in Unreal Build Accelerator local executor: 7.58 seconds
Total execution time: 15.31 seconds
11>Microsoft.MakeFile.Targets(44,5): Error MSB3073 : The command "Z:\UE_5.5_Oculus\UnrealEngine\Engine\Build\BatchFiles\Build.bat -Target="Emerald_MRVREditor Win64 DebugGame -Project=\"Z:\UE_Oculus\Emerald_MRVR\Emerald_MRVR.uproject\"" -Target="ShaderCompileWorker Win64 Development -Project=\"Z:\UE_Oculus\Emerald_MRVR\Emerald_MRVR.uproject\" -Quiet" -WaitMutex -FromMsBuild -architecture=x64" exited with code 6.
- Mr_Fr3ManExplorer
Hi, did you find a solution? I also encountered this problem on version 5.5! I refuse to simply downgrade to 5.4(
- pro_zacMeta Employee
Hi all. You are correct, there are a number of errors when compiling Voice SDK on UE5.5 due to changes in the engine. It looks like you will need the 3 fixes below. You can use these patches until an updated SDK is available.
1 - Don't include deprecated IHttpThreadedRequest.cpp
In voicesdk/wit-unreal/Source/Wit/Private/Wit/Request/HTTP/WitHttpEngineIncludes.cpp change this:#if UE_VERSION_OLDER_THAN(5, 3, 0) #else #include "IHttpThreadedRequest.cpp" #endif
to this:#if UE_VERSION_OLDER_THAN(5, 3, 0) #else #if UE_VERSION_OLDER_THAN(5, 5, 0) #include "IHttpThreadedRequest.cpp" #endif #endif
2 - Include EngineVersionComparison.h in WitRequestSubsystem.h#include "Misc/EngineVersionComparison.h"
3 - Make new engine defines public
In Engine\Source\Runtime\Online\HTTP\HTTP.Build.cs, change these lines from PrivatePrivateDefinitions.Add("UE_HTTP_SUPPORT_TO_INCREASE_MAX_REQUESTS_AT_RUNTIME=" + (bPlatformSupportToIncreaseMaxRequestsAtRuntime ? "1" : "0")); ... PrivateDefinitions.Add("UE_HTTP_DEFAULT_MAX_CONCURRENT_REQUESTS=" + DefaultMaxConcurrentRequests);to Public
PublicDefinitions.Add("UE_HTTP_SUPPORT_TO_INCREASE_MAX_REQUESTS_AT_RUNTIME=" + (bPlatformSupportToIncreaseMaxRequestsAtRuntime ? "1" : "0")); ... PublicDefinitions.Add("UE_HTTP_DEFAULT_MAX_CONCURRENT_REQUESTS=" + DefaultMaxConcurrentRequests);
With these fixes, I was able to compile and use the Voice SDK in 5.5. Let us know if that works for you too. - pro_zacMeta Employee
For anyone that wants to avoid engine changes or is using the vanilla UE5.5 release, you can skip step 3 above and instead add the following code to wit-unreal/Source/Wit/Private/Wit/Request/HTTP/WitHttpEngineIncludes.cpp
#if UE_VERSION_OLDER_THAN(5, 5, 0) #else // These defines are private. Redefining here as they are required to compile HttpThread.cpp. // Making them public in HTTP.Build.cs would be an engine change and this plugin needs to work with vanilla UE5. #define UE_HTTP_DEFAULT_MAX_CONCURRENT_REQUESTS INT_MAX //int DefaultMaxConcurrentRequests { get { return int.MaxValue; } } #define UE_HTTP_SUPPORT_TO_INCREASE_MAX_REQUESTS_AT_RUNTIME 1 //(bPlatformSupportToIncreaseMaxRequestsAtRuntime ? "1" : "0") #endifI have this at line 32.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 9 years agoAnonymous
- 8 months ago
- 3 years ago