Most likely the return value from your GetAlignment(Text3D.Align); function do not match valid values for the TMP text component which are as follows.
public enum TextAlignmentOptions
{
TopLeft = HorizontalAlignmentOptions.Left | VerticalAlignmentOptions.Top,
Top = HorizontalAlignmentOptions.Center | VerticalAlignmentOptions.Top,
TopRight = HorizontalAlignmentOptions.Right | VerticalAlignmentOptions.Top,
TopJustified = HorizontalAlignmentOptions.Justified | VerticalAlignmentOptions.Top,
TopFlush = HorizontalAlignmentOptions.Flush | VerticalAlignmentOptions.Top,
TopGeoAligned = HorizontalAlignmentOptions.Geometry | VerticalAlignmentOptions.Top,
Left = HorizontalAlignmentOptions.Left | VerticalAlignmentOptions.Middle,
Center = HorizontalAlignmentOptions.Center | VerticalAlignmentOptions.Middle,
Right = HorizontalAlignmentOptions.Right | VerticalAlignmentOptions.Middle,
Justified = HorizontalAlignmentOptions.Justified | VerticalAlignmentOptions.Middle,
Flush = HorizontalAlignmentOptions.Flush | VerticalAlignmentOptions.Middle,
CenterGeoAligned = HorizontalAlignmentOptions.Geometry | VerticalAlignmentOptions.Middle,
BottomLeft = HorizontalAlignmentOptions.Left | VerticalAlignmentOptions.Bottom,
Bottom = HorizontalAlignmentOptions.Center | VerticalAlignmentOptions.Bottom,
BottomRight = HorizontalAlignmentOptions.Right | VerticalAlignmentOptions.Bottom,
BottomJustified = HorizontalAlignmentOptions.Justified | VerticalAlignmentOptions.Bottom,
BottomFlush = HorizontalAlignmentOptions.Flush | VerticalAlignmentOptions.Bottom,
BottomGeoAligned = HorizontalAlignmentOptions.Geometry | VerticalAlignmentOptions.Bottom,
BaselineLeft = HorizontalAlignmentOptions.Left | VerticalAlignmentOptions.Baseline,
Baseline = HorizontalAlignmentOptions.Center | VerticalAlignmentOptions.Baseline,
BaselineRight = HorizontalAlignmentOptions.Right | VerticalAlignmentOptions.Baseline,
BaselineJustified = HorizontalAlignmentOptions.Justified | VerticalAlignmentOptions.Baseline,
BaselineFlush = HorizontalAlignmentOptions.Flush | VerticalAlignmentOptions.Baseline,
BaselineGeoAligned = HorizontalAlignmentOptions.Geometry | VerticalAlignmentOptions.Baseline,
MidlineLeft = HorizontalAlignmentOptions.Left | VerticalAlignmentOptions.Geometry,
Midline = HorizontalAlignmentOptions.Center | VerticalAlignmentOptions.Geometry,
MidlineRight = HorizontalAlignmentOptions.Right | VerticalAlignmentOptions.Geometry,
MidlineJustified = HorizontalAlignmentOptions.Justified | VerticalAlignmentOptions.Geometry,
MidlineFlush = HorizontalAlignmentOptions.Flush | VerticalAlignmentOptions.Geometry,
MidlineGeoAligned = HorizontalAlignmentOptions.Geometry | VerticalAlignmentOptions.Geometry,
CaplineLeft = HorizontalAlignmentOptions.Left | VerticalAlignmentOptions.Capline,
Capline = HorizontalAlignmentOptions.Center | VerticalAlignmentOptions.Capline,
CaplineRight = HorizontalAlignmentOptions.Right | VerticalAlignmentOptions.Capline,
CaplineJustified = HorizontalAlignmentOptions.Justified | VerticalAlignmentOptions.Capline,
CaplineFlush = HorizontalAlignmentOptions.Flush | VerticalAlignmentOptions.Capline,
CaplineGeoAligned = HorizontalAlignmentOptions.Geometry | VerticalAlignmentOptions.Capline,
Converted = 0xFFFF
};
/// <summary>
/// Horizontal text alignment options.
/// </summary>
public enum HorizontalAlignmentOptions
{
Left = 0x1, Center = 0x2, Right = 0x4, Justified = 0x8, Flush = 0x10, Geometry = 0x20
}
/// <summary>
/// Vertical text alignment options.
/// </summary>
public enum VerticalAlignmentOptions
{
Top = 0x100, Middle = 0x200, Bottom = 0x400, Baseline = 0x800, Geometry = 0x1000, Capline = 0x2000,
}
It appears you are mixing alignment values of this Text_3D type with the alignment values that TMP uses as listed above. You will need to do some conversion between these.