diff --git a/Engine.Systems/Network/ClientBehaviour.cs b/Engine.Systems/Network/ClientBehaviour.cs
new file mode 100644
index 0000000..889de6f
--- /dev/null
+++ b/Engine.Systems/Network/ClientBehaviour.cs
@@ -0,0 +1,16 @@
+using Engine.Core;
+
+namespace Engine.Systems.Network;
+
+///
+/// Basic client behaviour that finds the in the universe in it's first active frame.
+///
+/// Disclaimer: It implements and in virtual methods.
+///
+public class ClientBehaviour : Behaviour, IFirstFrameUpdate, ILastFrameUpdate
+{
+ public INetworkCommunicatorClient Client { get; private set; } = null!;
+
+ public virtual void FirstActiveFrame() => Client = Universe.FindRequiredBehaviour();
+ public virtual void LastActiveFrame() => Client = null!;
+}
diff --git a/Engine.Systems/Network/ServerBehaviour.cs b/Engine.Systems/Network/ServerBehaviour.cs
new file mode 100644
index 0000000..9ffe2eb
--- /dev/null
+++ b/Engine.Systems/Network/ServerBehaviour.cs
@@ -0,0 +1,16 @@
+using Engine.Core;
+
+namespace Engine.Systems.Network;
+
+///
+/// Basic server behaviour that finds the in the universe in it's first active frame.
+///
+/// Disclaimer: It implements and in virtual methods.
+///
+public class ServerBehaviour : Behaviour, IFirstFrameUpdate, ILastFrameUpdate
+{
+ public INetworkCommunicatorServer Server { get; private set; } = null!;
+
+ public virtual void FirstActiveFrame() => Server = Universe.FindRequiredBehaviour();
+ public virtual void LastActiveFrame() => Server = null!;
+}