diff --git a/Source/Editor/Windows/Profiler/Network.cs b/Source/Editor/Windows/Profiler/Network.cs
index f0b93a03c..f5bbb6471 100644
--- a/Source/Editor/Windows/Profiler/Network.cs
+++ b/Source/Editor/Windows/Profiler/Network.cs
@@ -65,13 +65,14 @@ namespace FlaxEditor.Windows.Profiler
///
public override void Update(ref SharedUpdateData sharedData)
{
- var peer = FlaxEngine.Networking.NetworkManager.Peer;
- if (peer == null)
+ var peers = FlaxEngine.Networking.NetworkPeer.Peers;
+ var stats = new FlaxEngine.Networking.NetworkDriverStats();
+ foreach (var peer in peers)
{
- _prevStats = new FlaxEngine.Networking.NetworkDriverStats();
- return;
+ var peerStats = peer.NetworkDriver.GetStats();
+ stats.TotalDataSent += peerStats.TotalDataSent;
+ stats.TotalDataReceived += peerStats.TotalDataReceived;
}
- var stats = peer.NetworkDriver.GetStats();
_dataSentChart.AddSample(Mathf.Max((long)stats.TotalDataSent - (long)_prevStats.TotalDataSent, 0));
_dataReceivedChart.AddSample(Mathf.Max((long)stats.TotalDataReceived - (long)_prevStats.TotalDataReceived, 0));
_prevStats = stats;
diff --git a/Source/Engine/Networking/NetworkPeer.cpp b/Source/Engine/Networking/NetworkPeer.cpp
index d86824156..b39b617e0 100644
--- a/Source/Engine/Networking/NetworkPeer.cpp
+++ b/Source/Engine/Networking/NetworkPeer.cpp
@@ -8,9 +8,10 @@
#include "Engine/Platform/CPUInfo.h"
#include "Engine/Profiler/ProfilerCPU.h"
+Array NetworkPeer::Peers;
+
namespace
{
- Array Peers;
uint32 LastHostId = 0;
}
diff --git a/Source/Engine/Networking/NetworkPeer.h b/Source/Engine/Networking/NetworkPeer.h
index 06d8c1ab9..6b36e3278 100644
--- a/Source/Engine/Networking/NetworkPeer.h
+++ b/Source/Engine/Networking/NetworkPeer.h
@@ -15,6 +15,9 @@ API_CLASS(sealed, NoSpawn, Namespace = "FlaxEngine.Networking") class FLAXENGINE
{
DECLARE_SCRIPTING_TYPE_WITH_CONSTRUCTOR_IMPL(NetworkPeer, ScriptingObject);
+ // List with all active peers.
+ API_FIELD(ReadOnly) static Array Peers;
+
public:
int HostId = -1;
NetworkConfig Config;
diff --git a/Source/Engine/Networking/NetworkStats.h b/Source/Engine/Networking/NetworkStats.h
index 42c946aa0..e6f031f3b 100644
--- a/Source/Engine/Networking/NetworkStats.h
+++ b/Source/Engine/Networking/NetworkStats.h
@@ -8,7 +8,7 @@
///
/// The network transport driver statistics container. Contains information about INetworkDriver usage and performance.
///
-API_STRUCT(Namespace="FlaxEngine.Networking") struct FLAXENGINE_API NetworkDriverStats
+API_STRUCT(Namespace="FlaxEngine.Networking", NoDefault) struct FLAXENGINE_API NetworkDriverStats
{
DECLARE_SCRIPTING_TYPE_MINIMAL(NetworkDriverStats);