M0-07
Unity toolkit gate: Test Framework + Performance Testing (no MCP)
Evidence
From logs/evidence/M0-07/. Click a thumbnail for the full image.
Logs and data (3)
perf-summary.txt · 547 B · open
performance (7 sample groups; median / p95):
BootFrameTimesWithTheSky · FrameTime: 16.7 / 41.2 ms (n=120)
SkyStepAllocatesNothing · Control.Alloc.GC(): 1 / 1 (n=200, sum 200)
SkyStepAllocatesNothing · Control.Alloc: 0.2 / 1.4 µs (n=200)
SkyStepAllocatesNothing · SkyModel+SkyLook.GC(): 0 / 0 (n=200, sum 0)
SkyStepAllocatesNothing · SkyModel+SkyLook: 4 / 5.4 µs (n=200)
SkyStepAllocatesNothing · SkyController.Tick.GC(): 0 / 0 (n=200, sum 0)
SkyStepAllocatesNothing · SkyController.Tick: 5.6 / 6 µs (n=200)
playmode-perf-results.json · 36 kB · open
{
"TestSuite": "Playmode",
"Date": 1791452464371,
"Player": {
"Development": true,
"ScreenWidth": 2940,
"ScreenHeight": 1846,
"ScreenRefreshRate": 60,
"Fullscreen": false,
"Vsync": 1,
"AntiAliasing": 0,
"Batchmode": true,
"RenderThreadingMode": "SingleThreaded",
"MtRendering": false,
"GraphicsJobs": false,
"GpuSkinning": false,
"Platform": "OSXEditor",
"ColorSpace": "Linear",
"AnisotropicFiltering": "Enable",
"BlendWeights": "TwoBones",
"GraphicsApi": "Metal",
"ScriptingBackend": "IL2CPP",
"AndroidTargetSdkVersion": "AndroidApiLevelAuto",
"AndroidBuildSystem": "Gradle",
"BuildTarget": "Android",
"StereoRenderingPath": "MultiPass"
},
"Hardware": {
"OperatingSystem": "Mac OS X 26.5.2",
"DeviceModel": "Mac15,12",
"DeviceName": "(redacted)",
"ProcessorType": "Apple M3",
"ProcessorCount": 8,
"GraphicsDeviceName": "Apple M3",
"SystemMemorySizeMB": 24576
},
"Editor": {
"Version": "6000.3.25f1",
"Branch": "6000.3/staging",
"Changeset": "e1dba0a9aba4",
…playmode-runner-summary.json · 8 kB · open
{
"kind": "playmode",
"result": "pass",
"why": "all tests passed",
"startedAt": "2026-10-08T09:27:05.815Z",
"durationSec": 1046.4,
"unity": "6000.3.25f1",
"exitCode": 0,
"command": "~/Unity/Hub/Editor/6000.3.25f1/Unity.app/Contents/MacOS/Unity -batchmode -projectPath apps/client-unity -runTests -testPlatform PlayMode -testResults logs/test-output/unity/20261008-172705-playmode.xml -perfTestResults logs/test-output/unity/20261008-172705-playmode-perf.json -logFile logs/test-output/unity/20261008-172705-playmode.log",
"tests": {
"total": 6,
"passed": 6,
"failed": 0,
"skipped": 0,
"inconclusive": 0,
"result": "Passed",
"durationSec": 38.08
},
"perf": [
{
"test": "BootFrameTimesWithTheSky",
"group": "FrameTime",
"unit": "ms",
"n": 120,
"median": 16.6881,
"p95": 41.2044,
"max": 95.9923,
"sum": 2312.5830000000014
},
{
"test": "SkyStepAllocatesNothing",
"group": "Control.Alloc.GC()",
"unit": "",
"n": 200,
"median": 1,
"p95": 1,
"max": 1,
"sum": 200
},
{
…Tests
$ node tools/unity-run.mjs playmode$ node tools/unity-run.mjs playmode$ node tools/unity-run.mjs editmode$ pnpm --filter @zoen/wiki exec playwright test --only-changedNotes
2026-10-08 10:55 UTC · No MCP: the CoplayDev/unity-mcp smoke test is skipped by owner direction (UNITY_TOOLKIT.md row Deferred, ENGINE_PLATFORMS.md, stack.json step 15, roadmap card updated). Pins: com.unity.test-framework 1.6.0 (built-in core package) and com.unity.test-framework.performance 3.5.0 (packages.unity.com; was depth 3 via Collections, now depth 0), Unity Companion License (ext.nunit 2.0.5: Unity Package Distribution License; Perfolizer MIT) in LICENSES.md + gate record in UNITY_TOOLKIT.md (no listeners/telemetry; build-time Assets/Resources/PerformanceTestRun* ship in players: strip before release, M11). New PlayMode SkyPerformanceTests: SkyModel.Sample+SkyLook.Evaluate over a whole day and SkyController.Tick (rain, cycle off) = 0 GC allocs in 200 single-call samples; allocating control = exactly 1/call (the package floors allocs per iteration, so 1 iteration per measurement); Boot FrameTime median 16.7 / p95 41.2 ms recorded, no budget (editor numbers). unity-run.mjs passes -perfTestResults (<stamp>-<kind>-perf.json, git-ignored) and prints median/p95 per sample group (summarisePerf, unit test + fixture tools/unity/fixtures/perf-results.json). PlayMode 6/6, EditMode 65/65, verify all green. Evidence logs/evidence/M0-07/ (perf JSON with DeviceName redacted, runner summary, perf-summary.txt).
