$200 Bounty: Fix 4.12->4.13 Networking Issue with Generic Shooter

When migrating the Generic Shooter marketplace asset to 4.13, I am encountering a very weird network issue which renders the game unplayable. I have zero idea what the problem is.

Notes:

When moving from 4.12 to 4.13, there are some deprecated warnings about input nodes that can be ignored, however I’ve fixed these in my local copy but does not resolve the issue.

When moving from 4.12 to 4.13, due to a shader being hardcoded, Generic Shooter will fail to load after package because Generic Shooter has disabled the VR plugins as it doesn’t need them. While disabling these plugins is finr in 4.12, in 4.13, you can not package and run a BP Only project from the launcher version of the engine with the Oculus plugin disabled, otherwise you will get an FPixelShaderDeclaration error. If you are trying to reproduce/fix this, be sure to enable the Oculus plugin in Generic Shooter to avoid this run-time error. Alternatively you can use the engine built from source code it seems.

There are also some FText initialized from FString warnings on cook I can’t seem to get rid of, but they appear to be safely ignorable.

The issue:

Once Generic Shooter is packaged with 4.13, load two clients. It is easier if you set one client to 1280x720p window mode in the in-game settings before loading the second, so all clients will load in 720p window mode instead of full screen.

Host a game with one client, then use the server browser on the second client and join the hosted game.

You’ll immediately see weird behavior as if the client is no longer receiving proper network data… or something.

This issue does not happen in 4.13.0 uncooked. Only 4.13.0 cooked. 4.12.5 uncooked and cooked work 100% as expected. This also worked as expected on 4.13 p1, maybe 4.13p2 but I’m not 100% sure on that.

Bounty:

I’m willing to pay $200 via PayPal + a retroactive free copy of Generic Shooter (get you a refund but you still keep it) for a fix. If multiple people are responsible for a fix I’ll split up the bounty accordingly.

The fix should allow Generic Shooter to play as a networked game as intended. For reference, you can package and run Generic Shooter on 4.12.

Could you tell in your .uproject file which plugins you have disabled exactly?

4.12 release had 4 plugins disabled, all the VR plugins that are normally enabled by default. These were only disabled so people didn’t accidentally go into VR mode when they full screen the game.

You have to enable them in order for Generic Shooter to package and run on 4.13 due to a shader issue though.

4.12 packaged build runs the same regardless of the state of these plugins.

4.12 UProject plugins list:
{
“Name”: “GearVR”,
“Enabled”: false
},
{
“Name”: “OculusInput”,
“Enabled”: false
},
{
“Name”: “OculusLibrary”,
“Enabled”: false
},
{
“Name”: “OculusRift”,
“Enabled”: false
},
{
“Name”: “SteamVR”,
“Enabled”: false
}

Hey,

Just wanted to let you know I am actively trying to recreate this issue so I can enter a report. I will also try to figure out a work around for your project.

Hey,

I made a build (with the Oculus plugin enabled to avoid the shader issue) and have been testing for a bit now. I tried on my machine only as well as using two machines and I cannot see anything about, “no longer receiving proper network data”.

Can you give me more information about what you mean by this?

Thanks.

When the client joins the host, it fails to spawn the lobby most of the time, and when it is in the lobby, it appears the lobby is updated maybe once every 20 seconds. When the round starts and players spawn, the client is unable to do anything and is unable to see the host when the host moves infront of the client. Its as if the client’s world is frozen, however its still rendering real time and its still connected and pinging. Its idea of its player state is either wrong or invalid. The client does appear to be assigned to a team / able to die / etc on the host however. Will take a video when I get home.

Hey,

I have tested creating a new game 10 times and the only thing I have noticed is sometimes when the client joins they don’t get the first “spectator” camera and instead get a black / dark blue screen. But, as soon as the countdown is over, they load in and everything appears the be normal. As in, the client and host are able to see each other in a normal way. Each can shoot weapons, pickup weapons, kill each other, die, respawn, etc…

I am not able to recreate the issue on my end.

Is this with 4.13 launcher version? I’m about to spin in a circle yelling WHYYYYYYYYYYYYYYYYYY.

I guess it could be something local to my machines… Even tried on a fresh installed Windows rig though :0.

I have been testing with the 4.13 binary (launcher) version.

Out of curiosity, have you ever enabled the simulated network packet loss / ping adjustments?

Alright. Well, I tried to rule out every possible local issue but apparently the issue is still local. Someone else was also unable to reproduce. I don’t know what I could be running that could possibly affect 4.13 cooked and not 4.13 uncooked and 4.12 cooked builds, but I will continue to search for it. Want $200? :stuck_out_tongue:

I have the same issue with a project from 4.12 that I converted to 4.13. Client is able to join the server but gets stuck loading and has constant packet loss.

4.13 preview 1 worked fine with my project, 4.13 preview 2 and up were broken.

Problem only appears for me when using steam, local servers work fine. All of the subsystems were moved over to plugins in 4.13, maybe it has something to do with old references?

Brand new projects with the EXACT SAME configs and blueprints and code work fine…

Hey,

We have not heard back from you in a few days, so we are marking this post as Resolved for tracking purposes. If you are still experiencing the issue you reported, please respond to this message with additional information and we will follow up.

So I’ve found a solution, but I can’t explain it.

Closing / Restarting the Epic Launcher fixes it temporarily. Seems like the launcher can somehow get in a state that affects my local lan games? Doesn’t make sense to me, but solution is reliable.

I have, but I have made sure these have been cleared. I’ve also reverted all configs and delete Saved so that they are definitely cleared. Same thing happens on a clean project with no network adjustments.