← Packet index

Packet 29

UpdateAttributesPacket

Update Attributes

Occasionally updating player attributes (buffs/debuffs, health, etc)

Packet datagramWire order
HeaderID 29varuint
0Target Runtime IDActorRuntimeID · variable
1Attribute Listarray<AttributeData> · variable
2TickPlayerInputTick · variable

Serialized fields

3 top-level fields
  1. 0Target Runtime IDActorRuntimeID
    1. 0Actor Runtime IDCompressionvaruint64
  2. 1Attribute ListAttributeDataas array<AttributeData>
    1. 0Min Valuefloat
    2. 1Max Valuefloat
    3. 2Current Valuefloat
    4. 3Default Min Valuefloat
    5. 4Default Max Valuefloat
    6. 5Default Valuefloat
    7. 7ModifiersAttributeModifieras array<AttributeModifier>
      1. 1Namestring
      2. 2Amountfloat
      3. 3Operationint32
      4. 4Operandint32
      5. 5Is Serializable?boolean
  3. 2TickPlayerInputTick
    1. 0Input tickIn server authoritative movement mode the client supplies this in PlayerAuthInputPacket. For any client-bound packets containing a tick, the server should supply the tick value corresponding to the most recently processed PlayerAuthInputPacket. This allows the client to adjust any client predictions made while the packet was in flight. If the packet is being sent to the client but not relating to data of the player or a client-predicted vehicle, it can be zero. It is also acceptable to specify zero for players, although this may lead to minor visual flickers and less smooth application of CorrectPlayerMovePredictionPacket.Compressionvaruint64

Changelog

Stable releases

Changes between stable protocol releases.

No stable release changes are recorded for this packet.