I hope I can explain that well, cause I have no idea what could cause this problem, maybe the new replication system?
In my card game the servers sees the decks just as it should be, stacked on each other, face down. The client sees all the cards at one place, and changing them about every half second between 2-4 cards.
Oh, and when building up two other piles in the middle, those also work also well, and this strange anomaly didn’t happen in 4.13.1
Can you give me more detail as to why this is a bug with the Unreal Engine? More so than that it didn’t happen before.
1.Well, if it works in 4.13.1, and immediately after changing to 4.14.P, this strange anomaly appears, then it must be caused by the version conversion.
- Every other place holders are the same DeckBP, they use the very same Events and options and they don’t have any problems. I’ll try to recreate the defected ones, to see if it changes something.
- The changing cards all use CardBP, and at the CardBP “Replicate Movement” is checked (and “Replicates” too) so wherever the cards are, should be replicated to the clients. But on the client it looks like the didn’t move and they should have.
- In previous version, as far as I saw it, when the faces of two objects were exactly at the same place, they showed a kind of merged texture. “A bit of this, a bit of that”. But here, it shows card #1 in one time, and #2, or #3/#4 at other times, without anything to cause them to change.
+1. In the Epic Games Launcher, the project is still labeled as a [4.13] project, even if it was already converted to 4.14. (and I chose not to make a copy, because I usually don’t have problems with Preview builds)
- I had the chance to try it out on Steam with a friend of mine. She was the client, and she only saw her deck unarranged, which is only filled when the client is joining in, the other one is filled sooner. (The GameMode’s EventOnPostLogin calls the PlayerState’s “InitialSetup” Event, that finds the decks and calls their filling event)
My guess is the client is not properly replicating Events that happen very soon after joining the game. But it still doesn’t explain why the cards’ location is not replicated, since the “MovementReplication” is checked in.
Here is the link to the project, zipped by hand, I hope I didn’t leave out an important folder
I slowed down the movements of the cards (longer timeline), and now, it’s easier to see what happens. The cards slowly slide to their place, then for a reason, they jump back to the relative 0,0,0. Jumps shouldn’t ever happen, because every movement that the cards do are called through the same event, which slowly moves the card.
Secondary problem, that happen much more frequently now that the cards are slowed down, is that on the client they stop before reaching their final place, and will stay there, until destroyed, or maybe moved again.
I’m not sure about the second option, because I tried to fix it by putting a “SetRelativeTransform” node on the Timeline’s Completed pin too, (so ordering them to move to their final place again, without lerp) but that didn’t solve the problem.
Is it possible that both problems are caused by the same error? Could it be that the replication of a timeline is the main cause of the problems?
Here is a video of the problem(s)
Without Timeline and Lerp, it works normally (but this way it only teleports, and no animation)
Can you explain how this is a bug with the Unreal Engine and not just a issue with your project? As in, if you were to make a different game could you replicate any of the same issues with replication as what you are experiencing?
Well, it is about moving attached components that are spawned when the players login, so it is not simple to remake (But I understand that it is hard to find the problem also), so I made a clone of the project, and I cleared out evvverything that is not necessary for the mechanics or the visuals of the problem.
Now all the project has: 1 map, 1 game mode, that finds the decks, and tells them to fill up. 1 DeckBP, which can only spawn attached cards and rearranges them.
See that by default, the client window sees this bug: The cards move to their place slowly (I set it to 2 sec), then at the end every card jumps back to Relative(0,0,0).
If you open the CardBP, and at the MoveTo event you rearrange 2 connections so the card would jump to its place without Timeline and Lerp, then the cards stay where they should be.
I have no idea what could be the problem.
Bonus Bug: I couldn’t delete the UI folder from the Editor
This seems like this has more to do with the Timeline and the Lerp node than anything to do with the update to the networking system in UE4. Because of that, we do not believe that what you describing is a bug with the Unreal Engine.
If at anytime you have more evidence that your issue with the cards moving differently than you like is a bug with the Unreal Engine, please update this post and we can investigate further.