diff --git a/Projects/Server.Tests/Tests/Json/JsonDiscoverableTypeAttributeTests.cs b/Projects/Server.Tests/Tests/Json/JsonDiscoverableTypeAttributeTests.cs
new file mode 100644
index 000000000..437b674ff
--- /dev/null
+++ b/Projects/Server.Tests/Tests/Json/JsonDiscoverableTypeAttributeTests.cs
@@ -0,0 +1,30 @@
+using Server.Json;
+using Xunit;
+
+namespace Server.Tests.Json;
+
+public class JsonDiscoverableTypeAttributeTests
+{
+ [JsonDiscoverableType]
+ private sealed class DefaultName { }
+
+ [JsonDiscoverableType("custom")]
+ private sealed class Overridden { }
+
+ [Fact]
+ public void DefaultDiscriminator_IsNull()
+ {
+ var attr = (JsonDiscoverableTypeAttribute)System.Attribute.GetCustomAttribute(
+ typeof(DefaultName), typeof(JsonDiscoverableTypeAttribute), false);
+ Assert.NotNull(attr);
+ Assert.Null(attr.Discriminator);
+ }
+
+ [Fact]
+ public void OverrideDiscriminator_IsReturned()
+ {
+ var attr = (JsonDiscoverableTypeAttribute)System.Attribute.GetCustomAttribute(
+ typeof(Overridden), typeof(JsonDiscoverableTypeAttribute), false);
+ Assert.Equal("custom", attr.Discriminator);
+ }
+}
diff --git a/Projects/Server/Json/JsonDiscoverableTypeAttribute.cs b/Projects/Server/Json/JsonDiscoverableTypeAttribute.cs
new file mode 100644
index 000000000..0246b44ae
--- /dev/null
+++ b/Projects/Server/Json/JsonDiscoverableTypeAttribute.cs
@@ -0,0 +1,32 @@
+/*************************************************************************
+ * ModernUO *
+ * Copyright 2019-2026 - ModernUO Development Team *
+ * Email: hi@modernuo.com *
+ * File: JsonDiscoverableTypeAttribute.cs *
+ * *
+ * This program is free software: you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation, either version 3 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program. If not, see . *
+ *************************************************************************/
+
+using System;
+
+namespace Server.Json;
+
+///
+/// Marks a concrete class as a discoverable polymorphic JSON derived type. A consumer
+/// (e.g. SpawnerJsonSerializer) scans assemblies for marked subclasses of a chosen
+/// base and registers them for System.Text.Json polymorphism. Optionally overrides the
+/// $type discriminator value (defaults to the type's ).
+///
+[AttributeUsage(AttributeTargets.Class, Inherited = false)]
+public sealed class JsonDiscoverableTypeAttribute : Attribute
+{
+ public JsonDiscoverableTypeAttribute(string discriminator = null) => Discriminator = discriminator;
+
+ public string Discriminator { get; }
+}