diff --git a/src/FilterSignature.cs b/src/FilterSignature.cs
index 4965cd1..8fd65ec 100644
--- a/src/FilterSignature.cs
+++ b/src/FilterSignature.cs
@@ -3,7 +3,7 @@ using System.Collections.Generic;
 
 namespace MoonTools.ECS
 {
-	public struct FilterSignature
+	public struct FilterSignature : IEquatable<FilterSignature>
 	{
 		public readonly HashSet<int> Included;
 		public readonly HashSet<int> Excluded;
@@ -40,5 +40,15 @@ namespace MoonTools.ECS
 
 			return hashcode;
 		}
+
+		public static bool operator ==(FilterSignature left, FilterSignature right)
+		{
+			return left.Equals(right);
+		}
+
+		public static bool operator !=(FilterSignature left, FilterSignature right)
+		{
+			return !(left == right);
+		}
 	}
 }