diff --git a/NetSerializer/Settings.cs b/NetSerializer/Settings.cs
index 94880da..54b5471 100644
--- a/NetSerializer/Settings.cs
+++ b/NetSerializer/Settings.cs
@@ -13,6 +13,16 @@ namespace NetSerializer
{
public class Settings
{
+ ///
+ /// Gets called when an object is going to be deserialized.
+ ///
+ public Action BeforeDeserializingObjectWithTypeId;
+
+ ///
+ /// Gets called when an object is going to be serialized.
+ ///
+ public Action BeforeSerializingObjectOfType;
+
///
/// Array of custom TypeSerializers
///
diff --git a/NetSerializer/TypeSerializers/ObjectSerializer.cs b/NetSerializer/TypeSerializers/ObjectSerializer.cs
index 9b8bbd9..0cab29b 100644
--- a/NetSerializer/TypeSerializers/ObjectSerializer.cs
+++ b/NetSerializer/TypeSerializers/ObjectSerializer.cs
@@ -46,6 +46,8 @@ public static void Serialize(Serializer serializer, Stream stream, object ob)
var type = ob.GetType();
+ serializer.Settings.BeforeSerializingObjectOfType?.Invoke(type);
+
SerializeDelegate