-
Notifications
You must be signed in to change notification settings - Fork 332
Use UnityInput to support both legacy and new input systems #804
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Copied from BepInEx to keep support for other plugin loaders.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request adds support for both Unity's legacy and new input systems by introducing an abstraction layer called UnityInput. The code is copied from BepInEx to maintain compatibility with other plugin loaders.
Changes:
- Added
UnityInputabstraction layer that automatically detects and uses the best available input system (legacy Input or new InputSystem) - Migrated all direct
Inputclass usage toUnityInput.Currentthroughout the UI and plugin code - Added Unity.InputSystem.dll references to the project file for both net35 and net6.0 target frameworks
Reviewed changes
Copilot reviewed 7 out of 9 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
| src/XUnity.Common/XUnity.Common.csproj | Added Unity.InputSystem.dll references for both target frameworks |
| src/XUnity.Common/Utilities/UnityInput.cs | New file containing abstraction layer with automatic input system detection and support for both legacy and new input systems |
| src/XUnity.AutoTranslator.Plugin.Core/UI/XuaWindow.cs | Migrated from direct Input usage to UnityInput.Current |
| src/XUnity.AutoTranslator.Plugin.Core/UI/TranslationAggregatorWindow.cs | Migrated from direct Input usage to UnityInput.Current |
| src/XUnity.AutoTranslator.Plugin.Core/UI/TranslationAggregatorOptionsWindow.cs | Migrated from direct Input usage to UnityInput.Current |
| src/XUnity.AutoTranslator.Plugin.Core/UI/GUIUtil.cs | Migrated from direct Input usage to UnityInput.Current |
| src/XUnity.AutoTranslator.Plugin.Core/AutoTranslationPlugin.cs | Migrated from direct Input usage to UnityInput.Current for keyboard input handling |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Copied from BepInEx to keep support for other plugin loaders.
Fixes #329
Fixes #443
Fixes #615
Fixes #728
Fixes #797
Partial #653