x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Inconsistent multiplayer Actor "Net Load On Client" behaviour

Hello, I'm seeing inconsistent bNetLoadOnClient (Net Load On Client) behaviour using both blueprint and C++ in UE4.8. In certain situations, the actor still loads on clients, ignoring "Net Load On Client" set to false.

Repro steps:

1.Create an empty level.

2.Create a new blueprint class based on Actor, eg. "TestActor".

3.In the Class Defaults for "TestActor", uncheck "Replication > Net Load on Client".

4.Add a visible component to the actor (eg. Static Mesh or Text Render) so it's easily visible in-game.

5.Drag an instance of TestActor into the world where you can easily see it.

6.Under "Play > Advanced Settings", set "Multiplayer Options > Number of Players" to 2, and ensure "Use Single Process" is checked.

7.Run "Play > Selected Viewport". Observe the test actor is only visible on the listen server, as expected.

8.Under "Play > Advanced Settings", uncheck "Multiplayer Options > Use Single Process" and ensure the Editor Multipalyer Mode is "Play As Listen Server".

9.Run "Play > Selected Viewport". Observe the test actor is visible on both the client and server, ignoring its "Net Load on Client" flag.

I can provide a video on request. Thanks for your help!

  • Michael

Product Version: UE 4.8
Tags:
more ▼

asked Aug 03 '15 at 08:05 AM in Bug Reports

avatar image

sds-michael
146 9 15 23

(comments are locked)
10|2000 characters needed characters left

1 answer: sort voted first

Hi Michael,

Thanks for the report! I was able to reproduce this in 4.8.3 as well as our internal builds, and I've entered a bug report for the issue (UE-19530). It's unlikely this will be fixed quickly, however, as disabling Use Single Process isn't recommended, and this does not occur in packaged games. The best way to test is to create a shortcut to the editor with the location of the project and the commandline parameters -game. You can also specify one as the listen server and directly connect a second as a client if you don't have your connections set up in game yet.

I will mention, however, that there's another bug with Net Load on Client being disabled, in that collision appears to be loaded on Clients regardless. I've got another bug report in for that as well (UE-19529).

I will let you know when I see any update on these. Thanks again!

more ▼

answered Aug 03 '15 at 04:53 PM

avatar image sds-michael Aug 04 '15 at 01:09 AM

Thanks Ben, that's a big relief as I thought I was going crazy testing this, haha! For what it's worth, I debugged the problem a little bit. It seems that on clients, inside ULevel::InitializeNetworkActors() the call to Actor->Destroy() is failing. It calls World->DestroyActor(), which early-exits on the following statement:

 // Can't kill if wrong role.
 if( ThisActor->Role!=ROLE_Authority && !bNetForce && !ThisActor->bNetTemporary )
 {
     return false;
 }
 

The debugger shows ThisActor->Role == ROLE_None, ThisActor->RemoteRole == ROLE_Authority, and ThisActor->bExchangedRoles = true. It seems that either the original call to Actor->Destroy() should set parameter bNetForce = true, or the actor shouldn't be exchanging roles before ULevel::InitializeNetworkActors() is called, or the statement inside World->DestroyActor() is wrong. Happy bug hunting! :)

avatar image Ben Halliday STAFF Aug 04 '15 at 04:45 PM

Thanks! I'll add that to the report.

avatar image StarryFire Jun 23 '18 at 07:14 AM

More than 2 years have gone by and this is still not fixed :/

avatar image Robert.Cowsill Nov 20 '18 at 10:13 AM

The issue with disabling single process appears to have been fixed (https://issues.unrealengine.com/issue/UE-19530). Unfortunately I can't find issue UE-19529 in the public tracker, but it appears to have been fixed, based on what I can see in UE4.20.

(comments are locked)
10|2000 characters needed characters left
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question