# 4.20 ClientAuthorativePosition bug

**URL:** <https://forums.unrealengine.com/t/4-20-clientauthorativeposition-bug/433357>\
**Category:** Multiplayer & Networking\
**Tags:** bug, client-replication, unreal-engine, question\
**Created:** [September 7, 2018, 8:47am UTC](https://forums.unrealengine.com/t/4-20-clientauthorativeposition-bug/433357 "2018-09-07T08:47:14Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![KillerPenguin](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/killerpenguin/32/1005607_2.png) [@KillerPenguin](https://forums.unrealengine.com/u/KillerPenguin)\
**Post date:** [September 7, 2018, 8:47am UTC](https://forums.unrealengine.com/t/4-20-clientauthorativeposition-bug/433357/1 "2018-09-07T08:47:14Z")

</div>

Just upgraded to 4.20.2, and when ClientAuthorativePosition is set to true, CharacterMovement get velocity always return zero on replicated actor. (Used to work fine in 4.19.2)

This is a serious bug, for all those who use this option. Can we get this fix asap?

Best.

---

<div class="post-metadata">

**Author:** ![Jeff\_A](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Jeff\_A](https://forums.unrealengine.com/u/Jeff_A)\
**Post date:** [September 7, 2018, 2:40pm UTC](https://forums.unrealengine.com/t/4-20-clientauthorativeposition-bug/433357/2 "2018-09-07T14:40:19Z")

</div>

Hello,

We’ve recently made a switch to a new bug reporting method using a more structured form. Please visit the link below for more details and report the issue using the new Bug Submission Form. Feel free to continue to use this thread for community discussion around the issue.

[https://epicsupport.force.com/unrealengine/s/](https://epicsupport.force.com/unrealengine/s/)

Thanks

---

<div class="post-metadata">

**Author:** ![KillerPenguin](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/killerpenguin/32/1005607_2.png) [@KillerPenguin](https://forums.unrealengine.com/u/KillerPenguin)\
**Post date:** [October 8, 2018, 9:47am UTC](https://forums.unrealengine.com/t/4-20-clientauthorativeposition-bug/433357/3 "2018-10-08T09:47:26Z")

</div>

Well, i spent 2-3 days confirming this bug with UE staff. (This turned out to be a source built version bug.) Been one month and no answer about when this will be fixed…

So i’m bumping this… :\

---

<div class="post-metadata">

**Author:** ![thegameisfixed](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@thegameisfixed](https://forums.unrealengine.com/u/thegameisfixed)\
**Post date:** [October 16, 2018, 11:51am UTC](https://forums.unrealengine.com/t/4-20-clientauthorativeposition-bug/433357/4 "2018-10-16T11:51:27Z")

</div>

Up this thread as it’s been a long time and it’s a serious problem.  
Anyone found a fix?

---

<div class="post-metadata">

**Author:** ![moadib](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@moadib](https://forums.unrealengine.com/u/moadib)\
**Post date:** [October 20, 2018, 7:44am UTC](https://forums.unrealengine.com/t/4-20-clientauthorativeposition-bug/433357/5 "2018-10-20T07:44:31Z")

</div>

No, unfortunately.

---

<div class="post-metadata">

**Author:** ![thegameisfixed](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@thegameisfixed](https://forums.unrealengine.com/u/thegameisfixed)\
**Post date:** [October 27, 2018, 11:14am UTC](https://forums.unrealengine.com/t/4-20-clientauthorativeposition-bug/433357/6 "2018-10-27T11:14:53Z")

</div>

Hello,  
To all wondering about that problem, it seems a fix exists now (but requiring to build the engine from source, should be patched in UE 4.21 release) :  
[https://github.com/EpicGames/UnrealEngine/commit/1906fed55e0cddc5f7cf3551ce749bfc2efeae3c](https://github.com/EpicGames/UnrealEngine/commit/1906fed55e0cddc5f7cf3551ce749bfc2efeae3c)  
Best,  
TheGameIsFixed

---

<div class="post-metadata">

**Author:** ![KillerPenguin](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/killerpenguin/32/1005607_2.png) [@KillerPenguin](https://forums.unrealengine.com/u/KillerPenguin)\
**Post date:** [October 29, 2018, 1:14am UTC](https://forums.unrealengine.com/t/4-20-clientauthorativeposition-bug/433357/7 "2018-10-29T01:14:41Z")

</div>

Sign… so we have to wait for 4.21? Not too mention that it will take awhile for the new version to be stable.

So theoretically, we can just copy and paste the above code and rebuild the engine right?

---

<div class="post-metadata">

**Author:** ![thegameisfixed](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@thegameisfixed](https://forums.unrealengine.com/u/thegameisfixed)\
**Post date:** [October 31, 2018, 10:28am UTC](https://forums.unrealengine.com/t/4-20-clientauthorativeposition-bug/433357/8 "2018-10-31T10:28:26Z")

</div>

I don’t think we have to wait for 4.21. If we add these corrects lines in the source code of the 4.20 engine and build it I’m pretty sure it will work ! I sadly can’t test it in the future days but I will definitly test it in the future weeks.

---

<div class="post-metadata">

**Author:** ![thegameisfixed](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@thegameisfixed](https://forums.unrealengine.com/u/thegameisfixed)\
**Post date:** [November 1, 2018, 5:57pm UTC](https://forums.unrealengine.com/t/4-20-clientauthorativeposition-bug/433357/9 "2018-11-01T17:57:47Z")

</div>

I can confirm that the solution for 4.20 engine is to build the 4.20 engine from source after modifying the file  
Engine/Source/Runtime/Engine/Private/Components/CharacterMovementComponent.cpp  
Adding the following lines at lines 8414 :

```
// Client may send a null movement base when walking on bases with no relative location (to save bandwidth).
// In this case don't check movement base in error conditions, use the server one (which avoids an error based on differing bases). Position will still be validated.
if (ClientMovementBase == nullptr && ClientMovementMode == MOVE_Walking)
{
  ClientMovementBase = CharacterOwner->GetBasedMovement().MovementBase;
  ClientBaseBoneName = CharacterOwner->GetBasedMovement().BoneName;
}

```

Tested on UE4 4.20.3 source from github and works perfectly as expected
