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"

Office Holiday

Epic Games' offices will be on holiday from June 22nd to July 7th. During this period support will be limited. Our offices will reopen on Monday, July 8th. 

Nativized blueprints cause error in multiplayer

When I use blueprint nativization in UE 4.15 the Linux dedicated server and Win64 client of my game build without problems.

Everything seems to work as intended as long as I stay in singleplayer but once I try to connect to the server the connection drops and I get the following errors in the client log:

 LogNetPackageMap:Error: GetObjectFromNetGUID: Failed to resolve path. FullNetGUIDPath: [5]/Game/MyGame/Blueprints/BP_MyGamePlayerController.[3]Default__BP_MyGamePlayerController_C
 LogNetPackageMap:Error: UPackageMapClient::SerializeNewActor. Unresolved Archetype GUID. Path: Default__BP_MyGamePlayerController_C, NetGUID: 3.
 LogNetPackageMap:Error: UPackageMapClient::SerializeNewActor Unable to read Archetype for NetGUID 2 / 3
 LogNet:Warning: UActorChannel::ProcessBunch: SerializeNewActor failed to find/spawn actor. Actor: NULL, Channel: 2

On the server side the log only says:

 LogNet: Server connection received: ActorChannelFailure

Connecting works flawlessly when I don't nativize blueprints for the client build even when the server is built with them enabled.

I tried deleting the Intermediate folder, deleting the cooked content, fully rebuilding the engine and fully rebuilding the game server and client but to no avail.

Product Version: UE 4.15
Tags:
more ▼

asked Feb 19 '17 at 10:08 PM in Bug Reports

avatar image

Dominator86
33 3 7 8

avatar image Doug E ♦♦ STAFF Mar 08 '17 at 08:29 PM

Hey Dominator86-

Just to make sure I understand your steps correctly, you're cross-compiling for Linux using the nativized blueprint setting, correct? You mentioned that not having the client use nativized will work even if the server is; does the same hold true for the inverse (client uses nativized and server does not)?

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

2 answers: sort voted first

Hey Dominator86-

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.

Cheers

Doug Wilson

more ▼

answered Mar 27 '17 at 12:53 PM

avatar image lotodore Aug 12 '17 at 02:29 PM

See instructions below on how to reproduce.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Same when using Android App with nativized Blueprint : ActorChannelFailure on Server. Works only if both client and server are Windows.

more ▼

answered Apr 14 '17 at 12:29 AM

avatar image

Footman
219 18 19 42

avatar image Doug E ♦♦ STAFF Apr 14 '17 at 12:28 PM

Hey Footman-

Is it my belief that your Android is the client, is that correct? Is your server setup on Windows or Linux? Can you provide details about how you setup your test to help me reproduce the behavior locally?

avatar image Footman Apr 15 '17 at 04:49 PM

I have server running on Windows started with -server shortcut from installed editor. If I package windows client EXE with nativized blueprints than everything is fine. But if i package Android App with nativized blueprints than this error pops out on server. Without nativization everything is fine.

avatar image Matthew J Apr 18 '17 at 05:13 PM

Hello Footman,

Can you try testing this in a blank project to see if it may be caused by the blueprints in your project or if it's something that can be reproduced without the need of any special assets?

avatar image lotodore Aug 12 '17 at 02:28 PM

I also have this issue. Steps to reproduce: 1. Download the Epic Games network tutorial project ("SteamProject") https://forums.unrealengine.com/showthread.php?118246-Steam-Blueprint-Multiplayer-Project-Files&p=570490#post570490 2. Open it with Unreal Engine 4.16.3 3. Build shaders etc. 4. Package the project for Windows x64 twice to different locations, one with inclusive blueprint nativization, one without blueprint nativization (e.g. SteamProject and SteamProjectNativized). 5. Start the nativized version. Host a game (use play method LAN). 6. Start the non-nativized version (works on same PC). Choose "Find a match", confirm join 7. Client will disconnect immediately

Running the nativized version or the non-nativized version twice will result in successful connection.

avatar image Matthew J Aug 21 '17 at 08:16 PM

Hello lotodore,

Thank you for following up on this but that behavior is expected. If the two versions are different in any way (such as being nativized and not being nativized) it is expected that the two versions would not be able to connect properly. If two of the same version are able to connect, then there are no issues present at this time.

avatar image lotodore Sep 10 '17 at 05:53 PM

Hello Matthew, thank you for your reply. I understand that this is by design, but please consider the consequences:

1) As far as I know, it is not possible to build a dedicated server with blueprint nativization, because the server is only built in Visual Studio, not packaged, so there are no nativization options. So I need to build the dedicated server without nativization.

2) I cannot combine nativized / non nativized games as far as networking is concerned (I read this from your reply).

Now if I combine the points 1 and 2, this means that you cannot use blueprint nativization in any network based game which requires a dedicated server - and this is a real bummer. This basically means that you cannot use blueprint nativization in any but the most trivial network based games.

Citing the original entry of this bug report "When I use blueprint nativization in UE 4.15 the Linux dedicated server and Win64 client of my game build without problems [...] but once I try to connect to the server the connection drops [...]" the only workaround seems to be not to use nativization.

Is it really by design that nativization is not available for network based games?

avatar image Matthew J Sep 11 '17 at 07:19 PM

I apologize, I missed that this was specifically speaking about Dedicated servers and that raises a good question. There is someone that is more suited to answer this so they'll be taking a look at this and giving you a response.

Have a nice day!

avatar image sks-xovangam Sep 11 '17 at 07:59 PM

Hi lotodore,

RE #1, this is possible, however it's a bit of a manual process in 4.15. Apologies as I don't believe this was documented. Here's what you'll need to do in order to build a nativized dedicated server EXE from within Visual Studio:

  1. Before you build the "server" target in VS, check the contents of your project folder (this should be after the File->Package Project->Win64 step for the client side). You should have an "Intermediate" folder that contains a "Plugins/WindowsNoEditor/NativizedAssets" folder.

  2. Right-click the folder and "Cut." Then navigate back out to your project's root folder (the one that contains the "Intermediate" folder). If it doesn't exist, create a new folder called "Plugins", then paste the "NativizedAssets" folder into it.

  3. Now switch back to Visual Studio and build the server target. It should pick up the sources from the NativizedAssets plugin folder.

  4. If you need to switch back to building the "Editor" config in Visual Studio, you'll need to make sure to remove the "NativizedAssets" folder from the "Plugins" folder inside the root folder of your project. Generally you can just move it back into the "Intermediate/Plugins/WindowsNoEditor" folder.

FWIW, this process was improved a bit in 4.17 as the .uproject file is auto-updated to include the intermediate plugins folder when you change the nativization method inside the Project Packaging settings. That helps to avoid the need to manually copy the plugin folder around when switching between building editor/game/server configs in VS. However it does have a few issues we've since found that are still being ironed out.

Let me know if this does not work for you, hope this helps! -phil.

avatar image lotodore Sep 12 '17 at 08:11 PM

Thank you very much! This works like a charm with Unreal Engine 4.16.3. It is a great feature as it considerably improves the performance. You really made my day!

I will also point to your reply in this issue: https://answers.unrealengine.com/questions/667931/dedicated-server-and-blueprint-nativization.html as it was also requested there.

I cannot test with 4.17 yet due to different issues, but for now, all is great!

avatar image sks-xovangam Sep 12 '17 at 10:03 PM

No problem! Glad it worked out!

avatar image lotodore Oct 25 '17 at 07:37 PM

I'm afraid I cannot make this work with the new 4.18 release. I copied the nativized assets from Intermediate\Plugins\NativizedAssets\Windows\Game to Intermediate\Plugins\NativizedAssets\Windows\Server, because I got a compiler warning message about missing assets when building the server. The compiler message no longer occurs, but the server still does not run properly and complains about missing assets :-(. Could you please give me a hint how this is done in 4.18?

avatar image sks-xovangam Oct 25 '17 at 09:11 PM

Hi lotodore,

Apologies - the Blueprint nativization build pipeline has changed a bit in 4.18. There is some documentation of this in the release notes here (see the "Upgrade Notes" and "Programming Upgrade Notes" sections towards the bottom), and we are working to update the official documentation with more details.

Briefly, it is no longer necessary to manually copy the plugin folder around like it was in 4.15 in order to build the C++ target after cooking. Additionally, it is no longer necessary to add '-nativizeAssets' to the command line; instead, the tools now just look at the current value of the 'BlueprintNativizationMethod' setting in the Project settings->Packaging UI (it is also possible to override that setting on the command line, let me know if you need to do that).

So that I understand, are you building both the 'Game' and 'Server' configurations? Or are you building a 'Client' and 'Server' configuration?

From your description, it sounds like you are building 'Game' and 'Server'. In that case, make sure you run a separate cook for both the 'Game' and 'Server' targets (TargetPlatform=WindowsNoEditor and TargetPlatform=WindowsServer, respectively). That should result in a NativizedAssets plugin for each cooked configuration. Once you've done that, then you should have the proper cooked content/source required for each target, and you can run your C++ build tasks for both the game and server binaries.

Let me know if that doesn't resolve the issue for you. Hope this helps! -phil.

avatar image lotodore Oct 26 '17 at 08:17 PM

Thanks, cooking with TargetPlatform=WindowsServer separately, then it works like a charm! This is really a great feature! I suppose you've put a lot of work into this - some documentation would really be great, this surely is useful for most network games.

avatar image sks-xovangam Oct 26 '17 at 08:22 PM

Awesome!

Yes this part has been a bit fluid over the past few releases but we'll try and get some more detailed documentation in place soon, thanks!

avatar image lotodore Jan 02 '18 at 09:51 PM

Sorry to be reusing this issue again, with 4.18 this was working fine, but now using 4.18.2 I can no longer cook content with TargetPlatform=WindowsServer, I'm getting Assertion failed: PlatformFormats.Num() [File:D:\Games\Unreal Launcher\Epic Games\UE_source\Engine\Source\Runtime\Engine\Private\TextureDerivedData.cpp] [Line: 371]. Cooking textures for the server is probably not needed, but I don't know how to cook only Blueprints for Nativization. So again I cannot use nativization for the server. Should I create a new issue for this or is there a different approach which I don't know?

avatar image sks-xovangam Jan 03 '18 at 02:11 PM

Apologies for the breakage. What's the callstack at the time of the assertion?

Sounds like a regression may have been introduced in the hotfix if it wasn't occurring for you in 4.18. Would you be able to confirm if it happens without Blueprint nativization enabled as well? If so, this will be a new issue.

avatar image lotodore Jan 03 '18 at 07:13 PM

I have posted a new Issue: https://answers.unrealengine.com/questions/742653/assertion-failed-when-cooking-content-for-windowss.html with all the information you requested. However, since I cannot reproduce this using a minimal project, I fear I have to give up on nativization :-(. Thanks for the feedback.

avatar image eg_xovangam Jan 03 '18 at 09:26 PM

Ah, sorry to hear. Are you able to tell which of your assets are being cooked at the point of failure? I'm wondering if maybe it requires a specific type or asset that currently exists in your project that is not necessarily mirrored in a minimal test project.

avatar image lotodore Jan 05 '18 at 08:31 AM

There is no logging at this point, but by debugging UE4-EditorCmd I found out that the asset causing this issue was "InvalidLightmapSettings". Since this is provided by UE4, I followed the hint in the issue I posted to completely rebuild the engine in a different folder (deleting intermediate etc. did not help). With the new engine folder, the Assertion no longer occurs. Sorry for the noise, as this turned out to be not nativization related. From now on I will rebuild UE4 in new folders even for minor releases.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
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