Releases: mrdav30/FixedMathSharp-Unity
FixedMathSharp-Unity v5.0.0
This release updates both Unity Package Manager variants to FixedMathSharp 5.0.0 and aligns the Unity adapters with the core v5 API and coordinate semantics.
Breaking Changes
- Updated the embedded FixedMathSharp binaries and XML docs to v5.0.0.
- Unity adapter code now follows the core v5 naming model, including PascalCase vector, quaternion, bounds, and matrix members such as
X/Y/Z,W, andM11-style matrix fields. - Matrix and transform conversions now use explicit semantic mapping between FixedMathSharp row-vector matrices and Unity transforms, including translation mapping between FixedMathSharp
M41/M42/M43and Unitym03/m13/m23. - Removed the old standalone
Matrix4x4.Extensions.csandTransform.Extensions.csorganization; those helpers now live with the fixed-type extension surfaces.
Highlights
- Added clearer Unity/FixedMathSharp coordinate semantics:
+Xright,+Yup, and+Zforward are preserved across vector, quaternion, matrix, and transform conversions. - Added explicit
XYandXZvector projection helpers for 2D/3D Unity interop. - Added Unity-to-fixed transform round-trip helpers, including local/world
Transform -> Fixed4x4 -> Transformworkflows. - Hardened inspector drawers for FixedMathSharp v5 serialization, including fixed number, vector, matrix, quaternion, and angle/rotation drawers.
- Renamed and refreshed bounds interop around
FixedBoundBoxandFixedBoundArea. - Added EditMode tests covering vector projections, coordinate conventions, matrix translation semantics, and transform round trips.
- Added package version sync tooling and refreshed developer guidance for maintaining the base package source and generated UPM variants.
FixedMathSharp-Unity v4.0.0
Breaking
- Upgraded to FixedMathSharp v4.0.0.
- Moved all
*Drawerclasses underEditor/Drawersto ease sync management
Internal
- Added tooling to support multiple packages that share the same base
FixedMathSharp-Unity v3.0.2
This update only impacts the "No-MemoryPack" variant
What's New
- changed
com.mrdav30.fixedmathsharp.nomemorypacktocom.mrdav30.fixedmathsharp.lean- updated
asmdefto use unique name to avoid confusion between standard package
- updated
FixedMathSharp-Unity v3.0.1
This release adds a second Unity package variant to better support Burst AOT workflows.
What's New
- Added a
NoMemoryPackpackage variant:com.mrdav30.fixedmathsharp.nomemorypack
- Kept the standard package variant with
MemoryPacksupport:com.mrdav30.fixedmathsharp
- Reorganized the repository to host both Unity packages from a single Git repo
- Updated installation documentation for Git URL installs and variant selection
Which Package Should You Use?
- Use
com.mrdav30.fixedmathsharpif you want the standard package withMemoryPacksupport - Use
com.mrdav30.fixedmathsharp.nomemorypackif you are targeting Unity Burst AOT or want to avoid theMemoryPackdependency
Notes
If you use Unity Burst AOT, prefer the NoMemoryPack build. MemoryPack's Unity support is centered on IL2CPP via its .NET source-generator path, so the no-MemoryPack variant is the safer choice for Burst AOT scenarios.
Upgrade Impact
This is primarily a packaging and distribution update. Core FixedMathSharp-Unity functionality is otherwise unchanged from v3.0.0.
FixedMathSharp-Unity v3.0.0
This release updates the project to FixedMathSharp v3.0.0.
While the dependency is mostly internal, FixedMathSharp numerics are part of our public API surface, so this is released as a breaking update.
- Breaking
- Upgraded to
FixedMathSharpv3.0.0. FixedMathSharpremoved/renamed precision-related members and tightened deterministic numeric APIs (including float-overload removals), which may require consumer code changes.- Tolerance/epsilon behavior in numeric comparisons may differ from previous versions.
- Upgraded to
- What This Means For Consumers
- Rebuild and run tests against this release before promotion.
- Update any call sites relying on removed float-based numeric overloads.
- Replace
Precision-style usage with the newMinIncrement/updated tolerance semantics where applicable. - Re-validate tolerance-sensitive logic (movement thresholds, comparisons, convergence checks, serialization expectations).
FixedMathSharp-Unity v2.2.0
This release updates the Unity package to FixedMathSharp v2.1.1 and adds a major Unity interop pass across transforms, matrices, and bounds.
Highlights
- Added Transform conversion helpers for Fixed4x4 and Fixed3x3, including local/world rotation and rotation-scale variants.
- Added reverse helpers to apply Fixed4x4 and Fixed3x3 data back onto Unity Transforms, plus factory methods for creating preview transforms from fixed matrices.
- Added Matrix4x4 interop for round-tripping between Unity matrices and Fixed4x4/Fixed3x3.
- Added Bounds interop for BoundingBox and BoundingArea.
- Added custom editor drawers for Fixed3x3 and Fixed4x4 to make matrix inspection much easier in Unity.
- Added a new demo scene with FixedTransformInteropDemo and FixedBoundsInteropDemo for visual validation of the new conversion pipeline.
- Refreshed the README and package metadata, and bundled the additional runtime dependencies required by the updated core library.
FixedMathSharp-Unity v2.1.1
- removed old
MessagePackreference
FixedMathSharp-Unity v2.1.0
Fixed missing package dependencies for MemoryPack
FixedMathSharp-Unity v2.0.0
Breaking Change
- Bumped FixedMathSharp to v2.0.0
- drops MessagePack support in favor of MemoryPack
FixedMathSharp-Unity v1.1.3
Removed dditor build conditional from extension runtime classes