Skip to content

feat: job-safe transform math and transform handle allocator (batched transforms 1/5) - #4231

Draft
NoelStephensUnity wants to merge 1 commit into
develop-3.x.xfrom
feat/batched-transform-1-math-and-handles
Draft

NoelStephensUnity wants to merge 1 commit into
develop-3.x.xfrom
feat/batched-transform-1-math-and-handles

Conversation

@NoelStephensUnity

@NoelStephensUnity NoelStephensUnity commented Oct 29, 2026 •

Copy link
Copy Markdown
Member

Purpose of this PR

Adds the job-safe math NetworkTransform needs and the allocator for compact transform handles. Nothing calls either yet, so behaviour is unchanged.

Stack (replaces #4123, review in order): #4231 math and handles → #4232 static delta check → #4233 native interpolator and sync mode setting → #4234 blittable state and reliability → #4235 batched send path. Each PR targets the branch of the one before it; the diff shown is that PR alone.

PR Scope:

  • NetworkTransformMath: Burst-compatible replacements for the engine math NetworkTransform uses (Euler conversion, delta angle, lerp and smooth dampening).
  • QuaternionCompressor and HalfVector3: static, job-safe forms of the existing encode and decode paths. The existing public methods call them, so their output is unchanged.
  • TransformHandleAllocator: hands out a ushort handle per NetworkTransform and holds released handles for a few seconds before reuse.

Out of scope:

Jira ticket

N/A

Documentation

  • No documentation changes or additions were necessary (internal API only).

Testing & QA (How your changes can be verified during release Playtest)

  • NetworkTransformMathTests checks the job-safe math against the engine math.
  • TransformHandleAllocatorTests covers allocation, release, hold and reuse.

Functional Testing

Manual testing :

  • Manual testing done

Automated tests:

  • Covered by existing automated tests
  • Covered by new automated tests

Does the change require QA team to:

  • Review automated tests?
  • Execute manual tests?
  • Provide feedback about the PR?

Up-port

N/A (develop-3.x.x only).

Backports

No backport is required.

First of five PRs that replace #4123. Adds Burst-compatible math for NetworkTransform (position deltas, half-float vectors, quaternion compression) and the allocator that gives each NetworkTransform a handle into native storage. Nothing calls either yet.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant