Replay System breaks Character Movement after 4.12 upgrade

I have been using replay system since 4.10. Everything seems to be working fine.

However after upgrade to 4.12, it seems to be broken in a very strange way. The bad news is that , even the way it is broken is not consistent. I’m at my wit’s end on what’s going on . Here’s a video of how it’s behaving.

4.12 ( broken )

4.11 (more or less same scenario , works perfect )

i spend the last 2 days diagnosing this here’s what I discovered / tried ;

  • I removed all root animations from animation sequence. Didn’t work still.
  • I have tried uncooked/development/shipping. None works.
  • I have tried recording from server and client. With or without any player joining. Same result
  • Movement seems to be working for player. Note that the player / AI extends from the same char class. And both AI and player works in 4.10/4.11 absolutely flawlessly.

In multiplayer game it worked fine. Character movement are correct and flawless. I’m sure it’s not normal replication issue. but I do notice however that 4.12 have its own changes on replication. Hence if someone can guide me on where else I can look would be great. But right now it seem so strange.

Hey Frozenfire,

Just to clarify some things:

  • Does the movement break after using the replay system? Or, does the movement break when the replay system is enabled but not used?
  • Is the 4.12 ( broken ) video of a replay?
  • Do you have any insight on how to recreate the issue?

Thanks.

  • Normal gameplay is perfectly fine.
  • Both are videos of replay.
  • I need to have some clue on what’s causing it in order to attempt to
    create it. My first suspicion was roorootmation but that was ruled
    out.

I assume there’s no known issue on this at the moment?

I don’t see any known issue reports on this but I am working on seeing if I can replicate it.

If you discover anything on your end please update this post. I will do the same if I figure anything out.

Hey Frozenfire,

Thank you for submitting a bug report. I have reproduced this issue and logged a report for it here: https://issues.unrealengine.com/issue/UE-34097. You can track the report’s status as the issue is reviewed by our development staff.

Just a quick question. I am aware that paragorn has ai mobs as well. Are they doing anything differently? It seems they have it in quite a large number as well

Paragons development is separate from the engine development so I am unable to say for certain if they are having this issue or not. I can say that in the past, if there is a fix for a bug, it may be merged into the engines main branch when cleared by QA.

Keep an eye on the issue page. There should be an update on that whenever a developer has time to look at it.

I just wanted to post that we have seen this internally, and this may or may not fix it, but I wanted to post this to make sure:

Find this code in DemoNetDriver.cpp:

	if (!bDidReplicateActor)
	{
		// Clear external data if the actor didn't replicate for some reason
		PropertyTracker->ExternalData.Empty();
		PropertyTracker->ExternalDataNumBits = 0;
	}

And changed to:

	if ( !GuidCache->NetGUIDLookup.Contains( Actor ) )
	{
		// Clear external data if the actor has never replicated yet (and doesn't have a net guid)
		PropertyTracker->ExternalData.Empty();
		PropertyTracker->ExternalDataNumBits = 0;
	}

This change should be included in the next 4.13 release.

Let us know if that doesn’t work!

Does this require full source? I am working from binary build. In guessing it’s not possible to change that right

fix would require the source code.

If you want to know more regarding it, you can start here:

[][1]

[1]: