diff --git a/Robust.Serialization.Generator/Generator.cs b/Robust.Serialization.Generator/Generator.cs
index 83c3b20dc9..357ee629cf 100644
--- a/Robust.Serialization.Generator/Generator.cs
+++ b/Robust.Serialization.Generator/Generator.cs
@@ -188,6 +188,7 @@ public class Generator : IIncrementalGenerator
builder.AppendLine($$"""
// Implicit constructor
#pragma warning disable CS8618
+ [RobustAutoGenerated]
public {{definition.Type.Name}}()
#pragma warning restore CS8618
{
@@ -218,6 +219,7 @@ public class Generator : IIncrementalGenerator
baseCopy = $$"""
///
+ [RobustAutoGenerated]
[Obsolete("Use ISerializationManager.CopyTo instead")]
public override void Copy(ref {{baseName}} target, ISerializationManager serialization, SerializationHookContext hookCtx, ISerializationContext? context = null)
{
@@ -227,6 +229,7 @@ public class Generator : IIncrementalGenerator
}
///
+ [RobustAutoGenerated]
[Obsolete("Use ISerializationManager.CopyTo instead")]
public override void Copy(ref object target, ISerializationManager serialization, SerializationHookContext hookCtx, ISerializationContext? context = null)
{
@@ -240,6 +243,7 @@ public class Generator : IIncrementalGenerator
{
baseCopy = $$"""
///
+ [RobustAutoGenerated]
[Obsolete("Use ISerializationManager.CopyTo instead")]
public {{modifiers}} void Copy(ref object target, ISerializationManager serialization, SerializationHookContext hookCtx, ISerializationContext? context = null)
{
@@ -252,6 +256,7 @@ public class Generator : IIncrementalGenerator
builder.AppendLine($$"""
///
+ [RobustAutoGenerated]
[Obsolete("Use ISerializationManager.CopyTo instead")]
public {{modifiers}} void InternalCopy(ref {{definition.GenericTypeName}} target, ISerializationManager serialization, SerializationHookContext hookCtx, ISerializationContext? context = null)
{
@@ -260,6 +265,7 @@ public class Generator : IIncrementalGenerator
}
///
+ [RobustAutoGenerated]
[Obsolete("Use ISerializationManager.CopyTo instead")]
public {{modifiers}} void Copy(ref {{definition.GenericTypeName}} target, ISerializationManager serialization, SerializationHookContext hookCtx, ISerializationContext? context = null)
{
@@ -278,6 +284,7 @@ public class Generator : IIncrementalGenerator
builder.AppendLine($$"""
///
+ [RobustAutoGenerated]
[Obsolete("Use ISerializationManager.CopyTo instead")]
public {{interfaceModifiers}} void InternalCopy(ref {{interfaceName}} target, ISerializationManager serialization, SerializationHookContext hookCtx, ISerializationContext? context = null)
{
@@ -287,6 +294,7 @@ public class Generator : IIncrementalGenerator
}
///
+ [RobustAutoGenerated]
[Obsolete("Use ISerializationManager.CopyTo instead")]
public {{interfaceModifiers}} void Copy(ref {{interfaceName}} target, ISerializationManager serialization, SerializationHookContext hookCtx, ISerializationContext? context = null)
{
@@ -313,6 +321,7 @@ public class Generator : IIncrementalGenerator
// TODO make abstract once data definitions are forced to be partial
builder.AppendLine($$"""
///
+ [RobustAutoGenerated]
[Obsolete("Use ISerializationManager.CreateCopy instead")]
public {{modifiers}} {{definition.GenericTypeName}} Instantiate()
{
@@ -324,6 +333,7 @@ public class Generator : IIncrementalGenerator
{
builder.AppendLine($$"""
///
+ [RobustAutoGenerated]
[Obsolete("Use ISerializationManager.CreateCopy instead")]
public {{modifiers}} {{definition.GenericTypeName}} Instantiate()
{
@@ -335,11 +345,13 @@ public class Generator : IIncrementalGenerator
foreach (var interfaceName in InternalGetImplicitDataDefinitionInterfaces(definition.Type, false))
{
builder.AppendLine($$"""
+ [RobustAutoGenerated]
{{interfaceName}} {{interfaceName}}.Instantiate()
{
return Instantiate();
}
+ [RobustAutoGenerated]
{{interfaceName}} ISerializationGenerated<{{interfaceName}}>.Instantiate()
{
return Instantiate();
diff --git a/Robust.Shared.CompNetworkGenerator/ComponentNetworkGenerator.cs b/Robust.Shared.CompNetworkGenerator/ComponentNetworkGenerator.cs
index e2e7b1958a..422f03bc8e 100644
--- a/Robust.Shared.CompNetworkGenerator/ComponentNetworkGenerator.cs
+++ b/Robust.Shared.CompNetworkGenerator/ComponentNetworkGenerator.cs
@@ -612,6 +612,7 @@ public partial class {componentName}{deltaInterface}
[System.Serializable, NetSerializable]
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
+ [RobustAutoGenerated]
public sealed class {stateName} : IComponentState
{{{stateFields}
{cloneMethod}
diff --git a/Robust.Shared/Analyzers/RobustAutoGeneratedAttribute.cs b/Robust.Shared/Analyzers/RobustAutoGeneratedAttribute.cs
index bc37004a85..6ecee23844 100644
--- a/Robust.Shared/Analyzers/RobustAutoGeneratedAttribute.cs
+++ b/Robust.Shared/Analyzers/RobustAutoGeneratedAttribute.cs
@@ -10,7 +10,7 @@ namespace Robust.Shared.Analyzers;
/// Users should never use this attribute themselves, it silences a significant number of useful warnings and is
/// meant strictly for generated code.
///
-[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Interface)]
+[AttributeUsage(AttributeTargets.All)]
public sealed class RobustAutoGeneratedAttribute : Attribute
{
}