Phase 6 updates

Phase 6 · Slice 48 ·

Cinemachine

  • dotnet/Unity.Cinemachine is Cinemachine 3 (its assembly and namespace); dotnet/Cinemachine builds the same sources with CINEMACHINE_2 as Cinemachine 2's assembly and namespace (field names differ where 2's scripts use them: m_Priority, m_StandbyUpdate, m_DefaultBlend...; scenes' old names load through FormerlySerializedAs). A project's scripts see the build its manifest's com.unity.cinemachine names; 2 and 3 share their scripts' GUIDs, so scenes resolve them to that build's namespace.
  • The brain, cameras (CinemachineCamera; 2's CinemachineVirtualCamera with its hidden "cm" pipeline object), components, extensions, blends and input axis controllers, as in docs/compatibility.md.
  • Worked out from Unity's recordings: damping leaves 1% after the damping time (per axis, exponential); follow damping happens along the view from the camera's offset toward the target (world up), rotation damping on the Euler angles of the change in the previous orientation's frame; lazy follow damps the camera itself toward the offset, turned to face the target; composers turn by pitch about the camera's right and yaw about world up, the screen's +y is down, a position composer's dead zone is sized at its camera distance; blends aim at the blended look-at point and blend the field of view by the height framed at the look-at distance; pan and tilt use the axes' values as set (input clamps them); components added at run time keep their field initializers (no editor Reset).
  • Checked by six scenarios recorded in Unity 6000.3 with Cinemachine 3.1.6 (the conformance project now has it): defaults and placement, follow damping in four binding modes, composers, blends (interrupted, Linear, HardIn, Cut), third-person and pan-tilt, Cinemachine 2's components (Transposer, Composer, FramingTransposer, 3rdPersonFollow) and the extension stages; an e2e test (projects with Cinemachine 2 and 3 compile against their build; a brain in a prefab resolves by GUID with 2's field names).
  • Also for the corpus: YAML keys whose values end with a colon (a quoted string folded onto the next line) parse; Camera's physical properties (sensorSize, lensShift, gateFit, focalLength...) are kept as data.
  • Corpus: 30 of 37 compile and load. unity-third-person's camera follows the character at its shoulder; crystal-fall (Cinemachine 2.10) loads and plays, but its level art isn't committed; Intruder needs ML-Agents.
  • Not exact: LockToTargetNoRoll and LazyFollow (within a few hundredths of a unit), third-person damping (a lag in the target's pitch, within 0.08); left out of the recordings. Not yet: FreeLook and orbital follow, state-driven, clear-shot and mixing cameras, group framing, confiners, collider and deoccluder extensions, impulses, dolly tracks and splines, Timeline, the noise presets inside the package.
  • Next: skinning and clips in models (third-person's character stands in bind pose); Visual Scripting; URP render features; Cinemachine's FreeLook and confiners as projects need them.