Requirements
Supported Unity Versions
| Unity | Verified with | VRChat SDK | Status |
|---|---|---|---|
| 2022.3 LTS (recommended) | 2022.3.22f1 | com.vrchat.base 3.10.x | ✅ All features (VRChat's recommended environment) |
| Unity 6 (6000.0 LTS) | 6000.0.60f1 | com.vrchat.base 3.10.x | ✅ All features |
| 2021.3 LTS | 2021.3.45f2 | None (there is no VRChat SDK for 2021) | ✅ Verified without the SDK. Every feature works once Harmony is installed as a separate package; without it the Harmony-dependent features are disabled (see "Projects without the VRChat SDK" below) |
| 2019.4 | 2019.4.31f1 | com.vrchat.base 3.4.0–3.4.2 | ✅ Supported except for some features (see "Limitations on Unity 2019.4" below) |
| Others (2020.x, 2022.1–2022.2, 6000.1 and later, etc.) | — | — | Not verified |
Dependencies
| Item | Version |
|---|---|
| VRChat SDK Base (Required via VPM) | com.vrchat.base 3.4.0 or later (3.10.x on 2022.3 / Unity 6, 3.4.0–3.4.2 on 2019.4; Harmony has been bundled since 3.4.0) |
| VRChat SDK Avatars (Optional) | 3.x — enables avatar-only features |
| VRChat SDK Worlds (Optional) | 3.x — enables world-only features |
| Modular Avatar (Optional) | 1.16 or later (for MA-related tools) |
The only required dependency is com.vrchat.base
It is required because most features use the Harmony library bundled with the Base SDK. Avatars / Worlds / Modular Avatar are only needed when you use the corresponding features.
Projects without the VRChat SDK (e.g. Unity 2021)
A project without the Base SDK still compiles, and out of the box only the features that do not depend on Harmony are enabled (verified on Unity 2021.3.45f2). Because VPM dependency resolution would pull in the SDK, install SCE by importing the .unitypackage or by copying the package folder to Packages/net.satania.customeditors (embedded).
Installing just Harmony as a separate package enables every feature. When SCE detects that neither the SDK nor Harmony is present, it shows a notice at startup and an install banner at the top of Editor Setting (the package net.satania.harmony is the unmodified 0Harmony.dll of Lib.Harmony, MIT, editor-only, placed in Packages/net.satania.harmony as an embedded package). Two ways to install:
- Download and install (recommended): fetches the latest version from SCE's distribution site (Cloudflare Pages, next to the VPM listing), verifies the SHA256 and extracts it
- From the bundled copy: writes the Harmony 2.4.2 bundled with SCE. Needs no network
If you add the VRChat SDK (3.4.0 or later) afterwards, it conflicts with the SDK's bundled Harmony, so SCE removes net.satania.harmony automatically at startup (only a brand-new project that receives both at the same time needs Packages/net.satania.harmony deleted by hand).
- Disabled (without Harmony installed): Animator window extension (parameter coloring, Condition overlay, Transition copy & paste, node styles, etc.) / Inspector extension (component header buttons, Debug toggle, Transform symmetry editing, etc.) / SkinnedMeshRenderer BlendShape extension / window backgrounds (Console, Project, Hierarchy) / editor theme / DockArea extension / GameView screenshot / VRCExpressionsMenu value display. Their Editor Setting pages are hidden as well
- Available: Hierarchy extension (component icons, color marking, EditorOnly highlighting and toggle) / Project folder icons / Satania Utility Tools / AnimationClip tools (Binding Checker, Loop Maker, Path Editor, Splitter, Breath Animation Builder) / RichText Builder / Expression Icon Capture / AnimatorController DSL / Gimmick Bundle (except the Avatars-dependent Menu and Parameters parts) / Texture2DArray / Light Probe Generator / the other standalone tools. On Unity 2022.1 and later, New Hierarchy, Asset Reference Tree, Package Manager favorites and SceneView MSAA / selection outline are also available, and Inspector background on 2022.2 and later
macOS (Apple Silicon) needs an extra package
On Apple Silicon Macs the Harmony bundled with the VRChat SDK (0Harmony 2.0.5) does not support macOS memory protection (W^X), so every Harmony patch of SCE / Modular Avatar / NDMF fails with mprotect returned EACCES. Installing anatawa12's Harmony Patches for Apple Silicon (native & Rosetta) (com.anatawa12.apple-silicon-harmony, VPM repository https://vpm.anatawa12.com/vpm.json) fixes it. When SCE detects the failure it offers to install the package in a dialog at startup (you can also install it from the BugFix item of Editor Setting).
Limitations on Unity 2019.4
SCE can also be installed on Unity 2019.4 (verified with 2019.4.31f1), but the following features are unavailable there because the Unity APIs they need do not exist (they are hidden from menus and settings): New Hierarchy window / Asset Reference Tree / SceneView MSAA / SceneView selection outline (Custom) / Package Manager favorites tab / the buttons that open a Properties window (2019 has no Properties window) / VRCExpressionsMenu value display (depends on a type added in SDK 3.7.0). Copy & paste of gradients in the RichText Builder is also unavailable. Use the last VRChat SDK for 2019.4, 3.4.0–3.4.2 (3.2 / 3.3 do not bundle Harmony, so the Harmony patch-based features stay disabled).
Feature Gates (#define)
Features are switched on and off automatically via versionDefines in the asmdef, depending on which dependency packages are present:
| Symbol | Condition | Enabled features |
|---|---|---|
SCE_SDK_BASE_AND_HARMONY | com.vrchat.base 3.4.0 or later (bundles 0Harmony) | Almost all Harmony patch-based features (Required) |
SCE_SDK_AVATARS | com.vrchat.avatars 3.x | Int compression layer / VRC Templates, etc. |
SCE_SDK_AVATARS_3_6_OR_NEWER | com.vrchat.avatars 3.6.0 or later | VRC_AnimatorPlayAudio support in the parameter usage search |
SCE_SDK_AVATARS_3_7_OR_NEWER | com.vrchat.avatars 3.7.0 or later | VRCExpressionsMenu value display (depends on ExpressionsControlField), menu Parameters output in gimmick bundles |
SCE_SDK_BASE_3_10_OR_NEWER | com.vrchat.base 3.10.2 or later | preventRepeats of Parameter Drivers in AnimDsl |
SCE_SDK_WORLDS | com.vrchat.worlds 3.x | SerializedUdonPrograms sorting, etc. |
SCE_MODULAR_AVATAR | Modular Avatar 1.16+ | MA Parameters bit-count classification, etc. |
SCE_NEWTONSOFT_JSON | com.unity.nuget.newtonsoft-json | AnimatorController DSL Import |