09-16-2019 06:36 AM
09-16-2019 06:48 AM
09-17-2019 05:23 AM
09-17-2019 10:28 AM
09-29-2019 02:07 AM
09-30-2019 05:36 AM
10-23-2019 08:02 AM
When we upgraded to UE4.23, we could no longer connect clients to servers. Upon investigating we found 2 problems:
UOculusNetDriver::LowLevelSend was modified to take an FInternetAddr pointer instead of an FString (due to the same change in UE4's NetDriver). The code was modified to convert that passed in FInternetAddr pointer into a string, calling FInternetAddrOculus's ToString method, which would just return the user's ID as a string instead of the correct "[id].oculus" connection string required by the SDK.
Either of these changes fixes it:
Change line 295 in NetDriverOculus.cpp (LowLevelSend) from:
FInternetAddrOculus OculusAddr(FURL(nullptr, *Address->ToString(false), ETravelType::TRAVEL_Absolute));
to
FInternetAddrOculus OculusAddr = *StaticCastSharedPtr(Address);
Change line 186 in IpAddressOculus.h (ToString) from:
return OculusId.ToString();
to
return FString::Printf(TEXT("%s.oculus"), *OculusId.ToString());
10-28-2019 09:10 AM
01-03-2020 12:23 AM
Ham1ton said:
All glory and honor goes to Turtle Rock Studios for this workaround and much personal shame to those who messed it up to start with:When we upgraded to UE4.23, we could no longer connect clients to servers. Upon investigating we found 2 problems:
UOculusNetDriver::LowLevelSend was modified to take an FInternetAddr pointer instead of an FString (due to the same change in UE4's NetDriver). The code was modified to convert that passed in FInternetAddr pointer into a string, calling FInternetAddrOculus's ToString method, which would just return the user's ID as a string instead of the correct "[id].oculus" connection string required by the SDK.
Either of these changes fixes it:
Change line 295 in NetDriverOculus.cpp (LowLevelSend) from:
FInternetAddrOculus OculusAddr(FURL(nullptr, *Address->ToString(false), ETravelType::TRAVEL_Absolute));
to
FInternetAddrOculus OculusAddr = *StaticCastSharedPtr(Address);Change line 186 in IpAddressOculus.h (ToString) from:
return OculusId.ToString();
to
return FString::Printf(TEXT("%s.oculus"), *OculusId.ToString());Unfortunately, this fix is only for the OculusOnlineSubsystem and not the standard OnlineSubsystem which some of us may be using.
hi Ham1ton and thank you for your full report of how to fix this issue
I do all of your levels to fix it but in lunching progress ue4 report this error and lunch failed.
LogPlayLevel: Error: C:/UnrealEngine-4.23/UnrealEngine-4.23/Engine/Plugins/Online/OnlineSubsystemOculus/Source/Private/OculusNetDriver.cpp(294,36): error: no matching function for call to 'StaticCastSharedPtr'
do you have an idea
thank you very much
01-03-2020 12:23 AM
Ham1ton said:
All glory and honor goes to Turtle Rock Studios for this workaround and much personal shame to those who messed it up to start with:When we upgraded to UE4.23, we could no longer connect clients to servers. Upon investigating we found 2 problems:
UOculusNetDriver::LowLevelSend was modified to take an FInternetAddr pointer instead of an FString (due to the same change in UE4's NetDriver). The code was modified to convert that passed in FInternetAddr pointer into a string, calling FInternetAddrOculus's ToString method, which would just return the user's ID as a string instead of the correct "[id].oculus" connection string required by the SDK.
Either of these changes fixes it:
Change line 295 in NetDriverOculus.cpp (LowLevelSend) from:
FInternetAddrOculus OculusAddr(FURL(nullptr, *Address->ToString(false), ETravelType::TRAVEL_Absolute));
to
FInternetAddrOculus OculusAddr = *StaticCastSharedPtr(Address);Change line 186 in IpAddressOculus.h (ToString) from:
return OculusId.ToString();
to
return FString::Printf(TEXT("%s.oculus"), *OculusId.ToString());Unfortunately, this fix is only for the OculusOnlineSubsystem and not the standard OnlineSubsystem which some of us may be using.
hi Ham1ton and thank you for your full report of how to fix this issue
I do all of your levels to fix it but in lunching progress ue4 report this error and lunch failed.
LogPlayLevel: Error: C:/UnrealEngine-4.23/UnrealEngine-4.23/Engine/Plugins/Online/OnlineSubsystemOculus/Source/Private/OculusNetDriver.cpp(294,36): error: no matching function for call to 'StaticCastSharedPtr'
do you have an idea
thank you very much