Message Batching & Pagination

Handling high-volume history requests

For persistent rooms where history is saved to disk, players can request older messages using the Message Batching API (GetRoomBatchMessages).

The Recommended Approach: UListView

As mentioned in Section 5, we highly recommend using Unreal Engine's native UListView. When loading older history, UListView can effortlessly swallow massive arrays without freezing the game thread, as it simply updates the data payloads of recycled widgets.

The Legacy Approach: ScrollBoxes

If you must use standard ScrollBox, do not inject batched messages directly. Instead, wrap your main ScrollBox in a VerticalBox. Prepend a secondary widget for history to isolate layout recalculations and prevent active chat lockups.