Update: The weird bandwidth stuff seems to be a factor of the PIE in-editor testing/profiling (big surprise) or something was fixed by 5.1. DataTables have slightly elevated bandwidth but not much.
My new test, specific RPC testing:
1 - Blank Project (UE 5.1), Blank Level (the level consisted of a Cube, Directional Light and Player Start).
2 - Created a new GameMode with accompanying assets: Character, HUD, Controller, GameState, PlayerState, Spectator left to default. Set as the GameMode Override.
2a - To isolate only RPCs, character has Replicate Movement off, Replicated off and Net Load on Client off.
3 - Packaged project for Dedicated Server and Client.
4 - LAN environment; Dedicated Server and Client on separate PCs.
5 - The test code below setup with a keybind to remotely start the test. This was repeated for Actor variables, Bools, DataTables, Vector and Integers.
6 - Code will repeat the RPC 5 times before turning off, to check for consistency.
Bool Results:
DataTable Results:
Integer Results:
Other random findings:
Some form of caching occurs. I randomized DataTable values to send to the client through an RPC. For example (set of 5):
RPC1: DataTable7
RPC2: DataTable5
RPC3: DataTable6
RPC4: DataTable7
RPC5: DataTable2
The first time an RPC sends a DataTable it will have a bandwidth spike. The second time (RPC4) will not require additional bandwidth.
Sample:
In addition, I tried a dramatically larger DataTable in non-simplified project and it did increase the bandwidth but the RPC bytes remained the same.