Skip to content

Releases: mrdav30/FixedMathSharp-Unity

FixedMathSharp for Unity v7.0.0

Choose a tag to compare

@mrdav30 mrdav30 released this 09 Aug 04:55

This major release upgrades both Unity package variants to FixedMathSharp 7.0.0 and expands the Unity adapter layer with clearer, deterministic math, geometry, bounds, transform, frustum, and curve interop.

Highlights

  • Added Unity camera and projection-matrix conversion to FixedBoundFrustum, including caller-owned plane buffers for allocation-conscious workflows.
  • Added exact Unity AnimationCurveFixedCurve conversion, explicit sampled baking for unsupported curves, and FixedCurve export back to Unity.
  • Expanded interop for Vector4d, rays, planes, rectangles, bounds, matrices, and FixedTransform hierarchies.
  • Corrected matrix conversion between Unity's column-vector convention and FixedMathSharp's row-vector convention.
  • Added atomic Try* conversions and transform application that safely reject semantic loss or leave targets unchanged.
  • Improved Unity serialization coverage for non-zero Fixed64, Vector2d, Vector3d, and Vector4d values in ScriptableObjects and prefabs.
  • Published a searchable DocFX API reference and package changelog.

Breaking changes

  • Vector and bounds projections now use explicit XY/XZ names such as ToVector2dXY, ToVector3dXZ, and ToFixedBoundAreaXZ.
  • Transform factory methods now use CreateTransform*; removed 3×3 rotation-scale transform helpers are replaced by FixedTransform components or strict Fixed4x4 application.
  • Fixed-to-Unity rays and matrix/transform application now reject non-unit directions, shear, perspective, singular matrices, and unrepresentable hierarchy conversions instead of silently normalizing or partially mutating state.
  • Matrix conversions now transpose elements to preserve transform semantics. Audit code that depended on the previous direct-copy layout.
  • FixedMathSharp 7.0.0 contains additional core breaking changes; review the migration guide before upgrading.

Upgrade resources

Full Changelog: v6.0.0...v7.0.0

FixedMathSharp-Unity v6.0.0

Choose a tag to compare

@mrdav30 mrdav30 released this 01 Jul 03:51

Breaking

  • migrated FixedMathSharp from v5.0.5 to v6.0.0

See MIGRATION.md for more details.

FixedMathSharp-Unity v5.0.5

Choose a tag to compare

@mrdav30 mrdav30 released this 24 Jun 15:24

Fixes

  • removed stray Samples~.meta

FixedMathSharp-Unity v5.0.4

Choose a tag to compare

@mrdav30 mrdav30 released this 24 Jun 06:20

Bug Fix

  • Fixed Samples import

FixedMathSharp-Unity v5.0.3

Choose a tag to compare

@mrdav30 mrdav30 released this 22 Jun 02:55
  • Fixed sample scene import path for Unity 6.5

FixedMathSharp-Unity v5.0.2

Choose a tag to compare

@mrdav30 mrdav30 released this 20 Jun 04:02

Maintenance

  • bumped FixedMathSharp to v5.0.2

FixedMathSharp-Unity v5.0.1

Choose a tag to compare

@mrdav30 mrdav30 released this 16 Jun 03:05

Fixed64 Unity Serialization Fix

Fixed Unity persistence for Fixed64-backed authoring fields.

Unity does not serialize readonly fields, so Fixed64 values backed by a readonly long could be edited in the inspector but reload as zero from assets or prefabs. Fixed64 now uses a Unity-compatible raw-value field layout while remaining engine-agnostic and wrapper-free.

Verified

  • Fixed64 persists through ScriptableObject assets and prefabs.
  • Vector2d and Vector3d persist correctly.
  • Nested structs containing Fixed64 persist correctly.
  • List<T> elements containing Fixed64 and Vector3d persist correctly.
  • Existing fixed-point behavior and raw-value representation are unchanged.

FixedMathSharp-Unity v5.0.0

Choose a tag to compare

@mrdav30 mrdav30 released this 10 Jun 17:20

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, and M11-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/M43 and Unity m03/m13/m23.
  • Removed the old standalone Matrix4x4.Extensions.cs and Transform.Extensions.cs organization; those helpers now live with the fixed-type extension surfaces.

Highlights

  • Added clearer Unity/FixedMathSharp coordinate semantics: +X right, +Y up, and +Z forward are preserved across vector, quaternion, matrix, and transform conversions.
  • Added explicit XY and XZ vector projection helpers for 2D/3D Unity interop.
  • Added Unity-to-fixed transform round-trip helpers, including local/world Transform -> Fixed4x4 -> Transform workflows.
  • Hardened inspector drawers for FixedMathSharp v5 serialization, including fixed number, vector, matrix, quaternion, and angle/rotation drawers.
  • Renamed and refreshed bounds interop around FixedBoundBox and FixedBoundArea.
  • 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

Choose a tag to compare

@mrdav30 mrdav30 released this 18 May 18:12

Breaking

  • Upgraded to FixedMathSharp v4.0.0.
  • Moved all *Drawer classes under Editor/Drawers to ease sync management

Internal

  • Added tooling to support multiple packages that share the same base

FixedMathSharp-Unity v3.0.2

Choose a tag to compare

@mrdav30 mrdav30 released this 23 Apr 15:39

This update only impacts the "No-MemoryPack" variant

What's New

  • changed com.mrdav30.fixedmathsharp.nomemorypack to com.mrdav30.fixedmathsharp.lean
    • updated asmdef to use unique name to avoid confusion between standard package