Sync Doctor — Changelog
Esta página aún no está disponible en tu idioma.
All notable changes to this pack are recorded here.
The format follows Keep a Changelog and the pack follows Semantic Versioning.
The version below must always match the one declared in Editor/AssemblyInfo.cs — that is
the version the FOS Hub shows, and the one the Hub compares against the installed Core.
Nothing yet.
1.0.0 — 2026-08-20
Section titled “1.0.0 — 2026-08-20”First release. Free. Requires FOS Essentials Core 1.1.0.
Audit window — FOS Essentials > FOS Sync Doctor > Audit
- Synchronised variables with no
OnDeserialization, the most common late-joiner bug. A field carrying[FieldChangeCallback]is not reported: that pattern already works. RequestSerialization()called fromStart(), which VRChat documents as not reaching players who join later.- Manual sync that never calls
RequestSerialization(), so nothing is ever sent. RequestSerialization()called with no ownership check nearby, where it silently does nothing for anyone who is not the owner.- Continuous sync carrying an array or a string, over the ~200 byte per-behaviour cap.
- No
[UdonBehaviourSyncMode]declared, reported as a note.
Scope mistakes — code written as if it ran on one machine
- A network event broadcast to every client whose body acts on the local player. The local player is a different one on each machine, so the action hits everybody — the teleport meant for one person that moves the whole instance.
OnPlayerTriggerEnterand the other player events used without checkingplayer.isLocal. They fire on every client, for every player entering.SendCustomNetworkEventtargeting a method whose name starts with an underscore, which VRChat refuses to run remotely. The call leaves and nothing happens.
Documentation
- Every finding carries a Documentation button opening the online guide directly at the section explaining that case.
Reliability
- Findings are split between certain — read from the compiled types — and probable, deduced from the source text because a method body cannot be inspected otherwise. The window tags the probable ones rather than presenting every finding as a verdict.
Scope
- The FOS packs and the SDK sample scripts are skipped by default; a toggle includes the FOS packs.
- Every finding links to its script.
- Interface translated into English, French, Spanish and German.
- Editor code only. No component, no prefab, no runtime cost, nothing added to the world.
The pack therefore ships without a
Runtimeassembly or aPrefabsfolder. - The audit reads scripts, not scenes. A correct behaviour wired to the wrong object is outside what it can see.
