Phase 6 updates

Phase 6 · Slice 45 ·

A third round of corpus projects

  • Fourteen more MIT projects in corpus/projects.json (37 in all): an RTS tutorial, a third-person controller, an FPS maze, gravity racing, a roguelike, two tower defenses, a 3D platformer template, crystal-fall, Nitrate (URP render features), pocket-planet, Intruder (Cinemachine 3 and ML-Agents), a Breakout and a FishNet co-op demo. libot-adventure was left out: its Git LFS budget is spent, so it can't be fetched.
  • APIs they needed, checked by a new corpus_apis_2 scenario recorded in 6000.3: HelpURL; UnityEngine.Assertions (compiled away, as scripts build without UNITY_ASSERTIONS like a release player; AssertionException's message as Unity's); the Profiler, Sampler, CustomSampler, Recorder and ProfilerMarker APIs as a player without the profiler; Material.globalIlluminationFlags, GetTag (overrides, then the shader's tag: built-ins' RenderType from their blending, project shaders' own tags) and SetOverrideTag, texture scale and offset by property ID; Camera.allowHDR/allowMSAA (Render warns); renderers' probe usage; BlendMode, RenderQueue, ReflectionProbeUsage, MaterialGlobalIlluminationFlags, MotionVectorGenerationMode; Mesh blend shapes (frames kept, not drawn); RenderParams with Graphics.RenderMesh and RenderMeshInstanced; the Type-taking GetComponent(s)InChildren/InParent overloads; Resources.LoadAll by type and FindObjectsOfTypeAll; Application.isBatchMode; the legacy Animation component's API and defaults (clips and states kept, nothing moves yet; it warns once), GUIText and GUITexture (not drawn); ScreenCapture (unsupported, warns); TerrainData and TerrainCollider (no terrain yet).
  • Corpus: 27 of 37 compile and load (all 23 earlier ones still do). Of the new projects, unity-third-person, gravity-clutch-racing, pocket-planet and BossIsComing play. Left, by cause:
    • Project-side: the FPS maze's Standard Assets and Crate-Shift's FishNet aren't committed.
    • Packages Tassix doesn't have: Cinemachine (crystal-fall; Cinemachine 3 in Intruder), ML-Agents and Inference Engine (Intruder), Visual Scripting (Breakout, the platformer template), URP's ScriptableRendererFeature and RenderGraph (Nitrate).
    • Small APIs next: TerrainData.size (the RTS), GeometryUtility, StaticBatchingUtility, Application.HasProLicense, MonoBehaviour.useGUILayout (the roguelike's A* Pathfinding), Object.DestroyObject and Transform.DetachChildren (the tower defense's Standard Assets), SerializeReference and the Input System's custom composites (the platformer template).
  • Next: those small APIs; then Cinemachine, Visual Scripting or URP render features; legacy Animation playback.