How kmm-studio/doors works
This Unity package integrates JetBrains Rider as a script editor. The main workflow is selecting or discovering a Rider installation, initializing integration, generating Unity-aware project and solution files, and opening assets in Rider. It also exposes Rider-driven Unity test runs and callbacks, and coordinates with Rider’s editor plugin. Project generation and test execution are distinct product stages. The README contains no architectural detail; broader capabilities are supported by package metadata and the listed source paths, while some subsystem wiring is not shown in the excerpts.
Main entry points: RiderScriptEditor.cs Rider script editor · ProjectGeneration.cs Project generation · RiderTestRunner.cs Rider test runner · RiderAssetPostprocessor.cs Generation postprocessor
Components 18
Editor integration
- Rider script editor
Packages/com.unity.ide.rider/Rider/Editor/RiderScriptEditor.cs - Installation discovery
Packages/com.unity.ide.rider/Rider/Editor/Discovery.cs - Plugin initializer
Packages/com.unity.ide.rider/Rider/Editor/RiderInitializer.cs - Editor state
Packages/com.unity.ide.rider/Rider/Editor/RiderScriptEditorData.cs - Plugin settings
Packages/com.unity.ide.rider/Rider/Editor/PluginSettings.cs
Project generation
- Project generation
Packages/com.unity.ide.rider/Rider/Editor/ProjectGeneration/ProjectGeneration.cs - Assembly metadata
Packages/com.unity.ide.rider/Rider/Editor/ProjectGeneration/AssemblyNameProvider.cs - Project file I/O
Packages/com.unity.ide.rider/Rider/Editor/ProjectGeneration/FileIOProvider.cs - GUID generation
Packages/com.unity.ide.rider/Rider/Editor/ProjectGeneration/SolutionGuidGenerator.cs - Generation postprocessor
Packages/com.unity.ide.rider/Rider/Editor/PostProcessors/RiderAssetPostprocessor.cs
Test execution
- Rider test runner
Packages/com.unity.ide.rider/Rider/Editor/UnitTesting/RiderTestRunner.cs - Test callbacks
Packages/com.unity.ide.rider/Rider/Editor/UnitTesting/TestsCallback.cs - Sync callback handler
Packages/com.unity.ide.rider/Rider/Editor/UnitTesting/SyncTestRunEventsHandler.cs
Rider interop
- Editor plugin interop
Packages/com.unity.ide.rider/Rider/Editor/EditorPluginInterop.cs
Other components
- Unity user
- Unity Editor
- Rider IDE
- Unity Test API
Connections 20
- Unity user → Rider script editor: selects editor
- Rider script editor → Installation discovery: discovers installs
- Rider script editor → Editor state: updates state
- Rider script editor → Plugin initializer: initializes plugin
- Rider script editor → Project generation: syncs projects
- Rider script editor → Editor plugin interop: opens assets
- Rider script editor → Rider IDE: launches editor
- Unity Editor → Rider script editor: provides editor APIs
- Project generation → Assembly metadata: reads assemblies
- Project generation → Project file I/O: writes project files
- Project generation → GUID generation: creates identifiers
- Unity Editor → Generation postprocessor: requests generation
- Generation postprocessor → Rider script editor: checks installation
- Rider IDE → Rider test runner: starts test run
- Rider test runner → Sync callback handler: initializes callbacks
- Rider test runner → Unity Test API: runs tests
- Rider test runner → Test callbacks: registers callbacks
- Unity Test API → Test callbacks: dispatches events
- Sync callback handler → Rider IDE: forwards callbacks
- Editor plugin interop → Rider IDE: invokes plugin