RealDocs

ACharacter::ClientAckGoodMove

function Engine Deprecated Since 4.0
Deprecated: Use ClientMoveResponsePacked instead.
#include "GameFramework/Character.h"
Access: public Specifiers: UFUNCTIONunreliableclient

Description

Sent by the server to the owning client to acknowledge that a specific move was accepted without correction. Allows the client to discard the corresponding saved move from its replay buffer.

Caveats & Gotchas

  • Deprecated in favour of ClientMoveResponsePacked. The packed response path bundles acks and corrections into a single RPC, reducing the number of server-to-client messages.
  • Because this is an unreliable RPC, the ack can be dropped. The client only discards saved moves when it receives an ack or correction; a dropped ack means the client retains extra moves in its buffer until the next correction arrives.
  • Only the owning client receives this RPC — simulated proxies and the server itself do not.

Signature

ENGINE_API void ClientAckGoodMove(float TimeStamp)

Parameters

Name Type Description Default
TimeStamp float Timestamp of the acknowledged move.

Return Type

void

Example

Override to clear custom predicted state on ack C++
void AMyCharacter::ClientAckGoodMove_Implementation(float TimeStamp)
{
    Super::ClientAckGoodMove_Implementation(TimeStamp);
    // Safe to discard any client-side predicted state associated with this timestamp
    MyPredictedState.AcknowledgeUpTo(TimeStamp);
}

Version History

Introduced in: 4.0

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.