Documentation

​
​

Development

User Acquisition

Monetization

Industry

Vivox Unity SDK

Vivox Unity SDK

Vivox
​
​
Vivox Unity SDK
  • Overview
  • Get started
  • Release notes
  • Developer guide
    • Set up your project
    • Create voice and text channels
    • Messaging
      • Channel messages
      • Message metadata
      • Chat history
      • Edit and delete messages
      • Directed messages
      • Offline direct messages
      • Anti-flooding
      • Large text channel setting
      • Retrieve Conversations list
      • Set Chat Markers
    • Player management
    • Device management
    • Audio management
    • Mobile development
    • Text-to-speech
    • Speech-to-text
    • Real-time recording
    • Server-side-recording
    • Troubleshooting
  • Tutorials
  • Reference
  1. Vivox Unity SDK documentation

Set Chat Markers

Set chat markers to track message read status.
Read time 1 minute
Last updated 8 months ago

The Chat Markers API gives you control over the creation of Chat Markers. You can use Chat Markers to mark messages as read. It also provides data for the Conversation list API. This functionality works in both channels and direct messages.
To set a conversation's read marker, sign in to the application and use
VivoxService.Instance.SetMessageAsReadAsync()
. A
VivoxMessage
input is used by the method to determine which type of conversation it belongs to and the
MessageId
of the message to set as read. This method sets a read checkpoint for the relevant conversation at the
MessageId
of the
VivoxMessage
provided.
Note
The marker is created even if the URI or message doesn’t exist. In the future, this information will be used to augment the Conversations API.
The following code is an example of how to set a Chat Marker.
DateTime seenAt = DateTime.Now; // Optional timestamp for when the message was seen. Default is DateTime.Now converted to UTC.var readMessage = await VivoxService.Instance.SetMessageAsReadAsync(message, seenAt);
A
VivoxMessage
with its
IsRead
property set to true is returned upon completion. Note that DateTime is server side time and not client side time.
Since a
VivoxMessage
instance canont be created manually, the input for
VivoxService.Instance.SetMessageAsReadAsync()
needs to come from one of the events or methods in the SDK that provides a
VivoxMessage
to the client. These are some examples of events and methods that provide
VivoxMessage
instances that can be used as input for
VivoxService.Instance.SetMessageAsReadAsync()
:
// EventsChannelMessageReceived;ChannelMessageEdited;ChannelMessageDeleted;DirectedMessageReceived;DirectedMessageDeleted;DirectedMessageEdited;
// MethodsGetChannelTextMessageHistoryAsync();GetDirectTextMessageHistoryAsync();

Copyright © 2026 Unity Technologies
LegalPrivacy PolicyCookiesDocumentation Terms of UseDo Not Sell or Share My Personal InformationYour Privacy Choices (Cookie Settings)

"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S and elsewhere (more info here). Other names or brands are trademarks of their respective owners.

Some pages are machine-translated for convenience, and may contain inaccuracies. In the event of conflicting information, the English version is authoritative.


    Report a problem with this page