diff --git a/Source/Engine/Animations/Curve.cs b/Source/Engine/Animations/Curve.cs
index 1ff129b57..a0d911141 100644
--- a/Source/Engine/Animations/Curve.cs
+++ b/Source/Engine/Animations/Curve.cs
@@ -465,7 +465,7 @@ namespace FlaxEngine
///
/// A single keyframe that can be injected into linear curve.
///
- [StructLayout(LayoutKind.Sequential)]
+ [StructLayout(LayoutKind.Sequential, Pack = 2)]
public struct Keyframe : IComparable, IComparable
{
///
@@ -720,7 +720,7 @@ namespace FlaxEngine
///
/// A single keyframe that can be injected into Bezier curve.
///
- [StructLayout(LayoutKind.Sequential)]
+ [StructLayout(LayoutKind.Sequential, Pack = 2)]
public struct Keyframe : IComparable, IComparable
{
///
diff --git a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.CSharp.cs b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.CSharp.cs
index eadd45fbc..0cb3c49bf 100644
--- a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.CSharp.cs
+++ b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.CSharp.cs
@@ -1542,7 +1542,7 @@ namespace Flax.Build.Bindings
var structIndent = "";
if (buildData.Target != null & buildData.Target.IsEditor)
structContents.Append(structIndent).AppendLine("[HideInEditor]");
- structContents.Append(structIndent).AppendLine("[StructLayout(LayoutKind.Sequential)]");
+ structContents.Append(structIndent).AppendLine("[StructLayout(LayoutKind.Sequential, Pack = 2)]");
structContents.Append(structIndent).Append("public struct ").Append(structureInfo.Name).Append("Internal");
if (structureInfo.BaseType != null && structureInfo.IsPod)
structContents.Append(" : ").Append(GenerateCSharpNativeToManaged(buildData, new TypeInfo { Type = structureInfo.BaseType.Name }, structureInfo));