diff --git a/RiptideNetworking/RiptideNetworking/RiptideNetworking.csproj b/RiptideNetworking/RiptideNetworking/RiptideNetworking.csproj
index ba535517..9689b619 100644
--- a/RiptideNetworking/RiptideNetworking/RiptideNetworking.csproj
+++ b/RiptideNetworking/RiptideNetworking/RiptideNetworking.csproj
@@ -32,10 +32,6 @@
-
-
-
-
diff --git a/UnityPackage/Runtime/Transports/ICommon.cs b/UnityPackage/Runtime/Transports/ICommon.cs
new file mode 100644
index 00000000..f579d1b7
--- /dev/null
+++ b/UnityPackage/Runtime/Transports/ICommon.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace RiptideNetworking.Transports
+{
+ /// Defines methods, properties, and events which every transport's server and client must implement.
+ public interface ICommon
+ {
+ /// Whether or not to output informational log messages. Error-related log messages ignore this setting.
+ bool ShouldOutputInfoLogs { get; set; }
+
+ /// Initiates handling of currently queued messages.
+ /// This should generally be called from within a regularly executed update loop (like FixedUpdate in Unity). Messages will continue to be received in between calls, but won't be handled fully until this method is executed.
+ void Tick();
+ }
+}
diff --git a/UnityPackage/Runtime/Transports/ICommon.cs.meta b/UnityPackage/Runtime/Transports/ICommon.cs.meta
new file mode 100644
index 00000000..ce14c508
--- /dev/null
+++ b/UnityPackage/Runtime/Transports/ICommon.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0f923261aaf9aff4890018b95f391453
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: