diff --git a/Content.Shared/Atmos/TileAtmosphere.cs b/Content.Shared/Atmos/TileAtmosphere.cs
index 9b1b5dbd62..eeddd625c6 100644
--- a/Content.Shared/Atmos/TileAtmosphere.cs
+++ b/Content.Shared/Atmos/TileAtmosphere.cs
@@ -9,7 +9,8 @@ namespace Content.Shared.Atmos;
/// Use the public APIs in instead.
///
[Access(typeof(SharedAtmosphereSystem), typeof(SharedGasTileOverlaySystem), typeof(SharedAtmosDebugOverlaySystem))]
-public sealed class TileAtmosphere : IGasMixtureHolder
+[DataDefinition]
+public sealed partial class TileAtmosphere : IGasMixtureHolder
{
///
/// The last cycle this tile's air was archived into .
diff --git a/Content.Shared/Changeling/Components/ChangelingIdentityComponent.cs b/Content.Shared/Changeling/Components/ChangelingIdentityComponent.cs
index dcb65d5641..110db2503e 100644
--- a/Content.Shared/Changeling/Components/ChangelingIdentityComponent.cs
+++ b/Content.Shared/Changeling/Components/ChangelingIdentityComponent.cs
@@ -132,6 +132,7 @@ public sealed partial class ChangelingIdentityData
/// A net-serializable version of used for networking purposes.
/// It needs to be like this because EntityUid cannot be networked, so we convert it to NetEntity and send it over to the client using this class.
///
+[DataDefinition]
[Serializable, NetSerializable]
public sealed partial class ChangelingNetworkedIdentityData
{
diff --git a/Content.Shared/DeviceLinking/DevicePortPrototype.cs b/Content.Shared/DeviceLinking/DevicePortPrototype.cs
index bf062ddce4..ca09bb009a 100644
--- a/Content.Shared/DeviceLinking/DevicePortPrototype.cs
+++ b/Content.Shared/DeviceLinking/DevicePortPrototype.cs
@@ -7,7 +7,8 @@ namespace Content.Shared.DeviceLinking;
///
/// A prototype for a device port, for use with device linking.
///
-public abstract class DevicePortPrototype
+[DataDefinition]
+public abstract partial class DevicePortPrototype
{
[IdDataField]
public string ID { get; private set; } = default!;
diff --git a/Content.Shared/EntityConditions/SharedEntityConditionsSystem.cs b/Content.Shared/EntityConditions/SharedEntityConditionsSystem.cs
index 02b3a3b4ba..b41adf926c 100644
--- a/Content.Shared/EntityConditions/SharedEntityConditionsSystem.cs
+++ b/Content.Shared/EntityConditions/SharedEntityConditionsSystem.cs
@@ -140,7 +140,8 @@ public abstract partial class EntityCondition
///
/// The Condition we're checking
[ByRefEvent]
-public record struct EntityConditionEvent(T Condition) where T : EntityConditionBase
+[DataRecord]
+public partial record struct EntityConditionEvent(T Condition) where T : EntityConditionBase
{
///
/// The result of our check, defaults to false if nothing handles it.
diff --git a/Content.Shared/Guidebook/GuideEntry.cs b/Content.Shared/Guidebook/GuideEntry.cs
index 7ee43afd32..a73be1aabd 100644
--- a/Content.Shared/Guidebook/GuideEntry.cs
+++ b/Content.Shared/Guidebook/GuideEntry.cs
@@ -9,8 +9,8 @@ public sealed partial class GuideEntryPrototype : GuideEntry, IPrototype
public string ID => Id;
}
-[Virtual]
-public class GuideEntry
+[Virtual, DataDefinition]
+public partial class GuideEntry
{
///
/// The file containing the contents of this guide.
diff --git a/Content.Shared/StationRecords/GeneralStationRecord.cs b/Content.Shared/StationRecords/GeneralStationRecord.cs
index 2ca34a4ffb..1306ddbe7b 100644
--- a/Content.Shared/StationRecords/GeneralStationRecord.cs
+++ b/Content.Shared/StationRecords/GeneralStationRecord.cs
@@ -6,8 +6,9 @@ namespace Content.Shared.StationRecords;
///
/// General station record. Indicates the crewmember's name and job.
///
+[DataDefinition]
[Serializable, NetSerializable]
-public sealed record GeneralStationRecord
+public sealed partial record GeneralStationRecord
{
///
/// Name tied to this station record.
diff --git a/Content.Shared/StationRecords/StationRecordKey.cs b/Content.Shared/StationRecords/StationRecordKey.cs
index 3693c0f57d..bedc788e0a 100644
--- a/Content.Shared/StationRecords/StationRecordKey.cs
+++ b/Content.Shared/StationRecords/StationRecordKey.cs
@@ -6,7 +6,8 @@ namespace Content.Shared.StationRecords;
/// This refers to both the id and station. This is suitable for an access reader field etc,
/// but when you already know the station just store the id itself.
///
-public readonly struct StationRecordKey : IEquatable
+[DataRecord]
+public readonly partial struct StationRecordKey : IEquatable
{
[DataField]
public readonly uint Id;
diff --git a/Content.Shared/StatusIcon/StatusIconPrototype.cs b/Content.Shared/StatusIcon/StatusIconPrototype.cs
index 5c615ec967..a7a138b246 100644
--- a/Content.Shared/StatusIcon/StatusIconPrototype.cs
+++ b/Content.Shared/StatusIcon/StatusIconPrototype.cs
@@ -88,6 +88,7 @@ public partial class StatusIconData : IComparable
///
/// but in new convenient prototype form!
///
+[DataDefinition]
public abstract partial class StatusIconPrototype : StatusIconData, IPrototype
{
///