- 3D physics (
physics_queries): SphereCastAll/BoxCastAll/CapsuleCastAll on PhysX's sweepMultiple and their NonAlloc forms, OverlapBox/OverlapCapsule NonAlloc, the CapsuleCast overload without a hit; initial overlaps report distance 0 and a zero point, as Unity does. Physics.ClosestPoint and ComputePenetration (PxGeometryQuery on the collider's own shape at the pose given), ClosestPointOnBounds on colliders and bodies, Rigidbody.SweepTest/SweepTestAll (each collider swept, the body's own colliders skipped, one hit per collider and shape). Physics.IgnoreCollision/GetIgnoreCollision: colliders carry a pair id in the simulation filter's word2, and the filter shader kills ignored pairs (a global set, as the shader has no scene); pairs survive disabling a collider. - 2D physics (
physics2d_queries): new Box2D shim functions for fixture pairs (distance with Unity's overlap measure: the manifold's average point and separation, normal from pointB to pointA; overlap; time-of-impact cast; contacts of a fixture; AABBs). Collider2D/Rigidbody2D/Physics2D Distance, ClosestPoint, Cast (a body reports each collider's hits, centered on the body), Overlap/OverlapCollider, GetContacts in all forms (collider is the other one, as in callbacks), CanContact (layers, ignored pairs, body types), GetRayIntersectionNonAlloc. - Time and Screen (
time_screen): captureDeltaTime/captureFramerate (FrameTime advances by the capture delta; the conformance runner sets it to the fixed step, as Unity's recorder does), timeSinceLevelLoad (reset by Single scene loads), fixedUnscaledTime, smoothDeltaTime, renderedFrameCount, maximumParticleDeltaTime. Screen: SetResolution and fullScreen/fullScreenMode queue a request the player applies to its winit window after the frame (exclusive full screen picks the closest video mode), currentResolution and resolutions from the window's monitor, plus orientation, autorotation and sleepTimeout with the values Unity reports on the desktop; Resolution, RefreshRate, FullScreenMode, ScreenOrientation, SleepTimeout. Checked in a window: SetResolution(800, 500) resized it. - MaterialPropertyBlock (
property_blocks) with Renderer.Set/Get/HasPropertyBlock, for all materials or one index: a renderer with a block draws an override material (a copy of its material with the block applied), refreshed when the material changes; the material itself stays as it is. Colors are stored linear (GetColor converts back; a vector stays raw); floats and integers are separate kinds. Sample:property_blocks.json. - Named colors: the 146 Unity 6 colors, generated bit for bit from Unity's recording (
ColorNames.cs). - Native API 37 (172 slots). 55 scenarios pass on the JIT, through the editor's JSON form, and on NativeAOT. CoreModule coverage 1730 → 1956 members (65% of present types' members), Physics2D 61%, Physics 46%.
- Not yet: Rigidbody2D.Slide, Physics2D shapes, Display, MoveMainWindowTo, block arrays and matrices reaching shaders (no custom shaders yet).
Phase 6 · Slice 5 ·