Search Unity

I2 Localization ( The most complete Localization solution for Unity )

Discussion in 'Assets and Asset Store' started by Inter-Illusion, Feb 27, 2014.

  1. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
    wonderful!
    I'll test today :)
     
  2. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    Hello I'm copy past my question again cause I didnt get answer :) Its about disabling , locking option of Exporting to google docs.

    "
    But will that also keep our order of keys, empty columns, empty lines etc? Cause after importing your asset is organizing things alphabetical way, we have it organized differently. (we also sometimes make empty lines to make some organization etc. If not just blocking export button would be good and probably easy to implement options"

    Its important for me as it is very easy to export and override now to google docs and break whole format hard work.
     
  3. SugoiDev

    SugoiDev

    Joined:
    Mar 27, 2013
    Posts:
    395
    I ended up removing that part of the code from the source.
    I have an extra post-processing step, so uploading this back to docs would make me lose all metadata I strip with the post-processing.
     
  4. Gua

    Gua

    Joined:
    Oct 29, 2012
    Posts:
    455
    I would love to have an option to press some key binding (like ctrl+L) to trigger import from google sheets option. It would save me so much unnecessary clicks and mouse movements.

     
  5. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    There are a couple simple ways to set that up, but they require changing the code.

    - The easiest is to modify the WebService, so that even if you click the Export button in unity, nothing gets saved in the Spreadsheet. Doing this in the WebService has the benefit that you can update to newer versions of I2 Localization without having to modify the code again.
    To do that, just open the I2GoogleWebService in your google drive and comment line 79 of the main.gs
    Code (csharp):
    1.  
    2. // case "SetLanguageSource" : result = doSetLanguageSource(e); break;
    3.  
    Then deploy the web service again and the spreadsheet will never be modified.

    - If instead, you prefer to modify the unity code, then open the file
    LocalizationEditor_Spreadsheet_Google.cs and comment out line 335
    Code (csharp):
    1.  
    2.    var modeCopy = Mode;
    3.     // GUITools.DelayedCall(() => Export_Google(modeCopy));   <- this line
    4. }
    5.  
    That way, even when buttons are clicked, they won't trigger any code.

    You could also add
    GUI.enabled=false
    at the beggining of that function (OnGUI_ExportButtons) and then
    GUI.enabled=true;
    at the end, so that the buttons show as disabled.

    or even comment out the entire function if you don't want the buttons to show.
     
  6. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    I like that idea.

    Currently the importing/exporting is tied to the LanguageSource inspector, so, it can't be called directly.

    But it should be very simple to add a menu option that could be triggered with a keyboard shortcut.
    And then that action could select the LanguageSource so that the inspector shows up, open the Spreadsheet tab and click the Import button.
    Will try to include that in the next release.
     
    Gua likes this.
  7. Gua

    Gua

    Joined:
    Oct 29, 2012
    Posts:
    455
    It seems that I can't use % symbol in my Key word. Is this a bug or is done by design?



    UPDATE: Same thing happens with other Keywords that have % in it. Unity 2018.4.36.
     
    Last edited: May 1, 2022
  8. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    Thanks for that!
     
  9. overweightcat

    overweightcat

    Joined:
    Aug 23, 2013
    Posts:
    12
    Does this plugin support gender specific parameters that have been an issue within certain languages that require gender-based verbs? Are there any documentation / alternatives for this? Thanks
     
  10. Falondrian

    Falondrian

    Joined:
    Nov 1, 2017
    Posts:
    74
    Hello @Inter-Illusion ,

    I am making heavy use of I2.Loc.LocalizedString as serialized attribute in my scriptable objects. The default editor for this type is still very limited compared to the Localize component. I wonder if you already have an update on the improved editor?

    @overweightcat : it does not, but you can have a look here for a basic implementation: https://forum.unity.com/threads/i2-...olution-for-unity.231226/page-19#post-7569496. You can use the new LocalizationManager.CustomApplyLocalizationParams callback so you dont need to modify the source.
     
  11. EduardoLauer

    EduardoLauer

    Joined:
    Jun 10, 2013
    Posts:
    8
    Hi @Inter-Illusion,

    I'm using the HindiFixer script to fix the order of the "i" vowel, however it doesn't seem to fix one instance:

    म्यूज़िक renders as:
    upload_2022-5-12_10-50-25.png

    Any suggestion on how to modify the script to accommodate this situation?

    Thanks.
     
  12. cagri_unity433

    cagri_unity433

    Joined:
    Mar 30, 2021
    Posts:
    5
    Hello,

    Tried the Arial Unicode but still getting the wrongly parsed output.
     
  13. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
    Is it possible to map some languages to 1? So if we detect a device language we don't have we can use another one instead? For example in Spain there are several languages spoken, but if the device has not the Spanish set, I dont want that device to use English, I want it to use Spanish....

    So is there a way to map languages so I can set Spanish if the device has 'Catalonian, or Basque' set ?
     
  14. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    That functionality is built in
    http://inter-illusion.com/assets/I2LocalizationManual/InitialLanguage.html

    Basically, for Spanish, if you have these three languages in your LanguageSource:
    "Spanish", "Spanish/Mexico", "Spanish/Cuba".
    If the user machine is set to "Spanish/Spain", the plugin first tries to find that variant, if it can't find it, it searches for the base language "Spanish".
    If still can't find it, it searches for any language matching the words "Spanish" or "Spain".
    If still can't find it, the it selects the first language in the list.

    Be aware that this only happens the first time the user opens the game in their devices. After that, the language selection is saved and reused the next time.
    If you want to test the language selection, you will need to first uninstall the game from the mobile device and then reinstall it so that it clears the PlayerPrefs saved data.
     
    SugoiDev likes this.
  15. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
    Not exactly what I was looking for... lets say we have translation for Spanish but not for Catalonian, Catalonian is an own language, is not a variant. So to all people who has the device in Catalonian will get the app in English.

    Anyway I found how to change the mapping in the file GoogleLanguages.cs :D
     
  16. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
    Another question. I've been looking at the docs to change the font for a specific language....

    http://inter-illusion.com/assets/I2LocalizationManual/HowtoChangeFontperLanguage.html

    And this is a truly pain in the ass with all respects, we have to set all the localization components independently? isn't there another way? also we have lots of parts we load the translation or term by code, what to do then?

    Thanks for your support!
     
  17. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    You don't need to set the font in each LocalizeComponent.
    If you create a Term with the same name as the font you are using, the LocalizeComponent will automatically detect it and use that.

    For instance, if you are using a font named Arial.
    You can create a term named "Arial" that has the font for each language.
    Then, if you add a LocalizeComponent to a Text using that font, it will automatically detect that there is a term with the same name as the font and use that.

    The same happens with the Main Term as described here under the "Inferred Terms"
    http://inter-illusion.com/assets/I2LocalizationManual/LocalizeComponent.html

    Hope that helps
     
  18. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
    Actually I dont really get it completely, I would still need to go through all the LocalizeComponents In the project and do that setup correct?
    Could you show an example of how to do this?

    Does this apply to translations done by code? like..
    Code (CSharp):
    1. public static string Welcome         { get{ return LocalizationManager.GetTranslation ("Welcome"); } }
    thanks a lot for your fast answer!
     
  19. simplequeen537

    simplequeen537

    Joined:
    May 28, 2022
    Posts:
    1
    I`m trying to Build fnf apk to Windows Store. But I got these errors! Any suggestion?.
     
  20. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    @Inter-Illusion

    Hi, I have a lot of ingredient files for my games that I'd like to translate the names for. Rather than add the terms manually, is there a way I could add them through code?

    Thanks
     
  21. PolluxDevelopersTeam

    PolluxDevelopersTeam

    Joined:
    Nov 13, 2016
    Posts:
    12
    Hi! I have updated the project from 2021.1.28f to 2021.3.4f1. The translation of the app name does not work in this version. I try reinstall plugin. I also tried to create a new project, but the app name translation doesn't work either. Default app name is returned. How I can solve this problem? Plugin version 2.8.20 f2.

    I have tried several versions and, apparently, this problem starts with version 2021.2.0 and higher.
     
    Last edited: Jun 3, 2022
  22. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
    Hello again, I think I finally got how to languages to different fonts, but I have a question. I create 1 term type font and it has the destiny's type text mesh, that means I cannot intermix text mesh fonts and regular fonts I guess.

    And another one, I'd like not to change the font for a language if the text does not contain letters, I'm aware that this is a quite custom petition, I'm looking inside Localize.cs script if I can find myself the step in which chooses the font to check the content first but if you could give me a hint on where to find that I would be really thankful.

    Thanks a lot!
     
  23. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Depending on the target you are localizing (TextMeshPro, TextMesh, etc), the localize component references a LocalizeTarget that handles the localization.
    If for example you are localizing a TextMeshProUGUI object, then in the LocalizeTarget_TextMeshPro_UGUI.cs

    you can change what font is uses
    Code (csharp):
    1.  
    2. public override void DoLocalize(Localize cmp, string mainTranslation, string secondaryTranslation)
    3. {
    4.         //--[ Localize Font Object ]----------
    5.         TMP_FontAsset newFont = cmp.GetSecondaryTranslatedObj<TMP_FontAsset>(ref mainTranslation, ref secondaryTranslation);
    6.  
    7.         if (newFont != null)
    8.         {
    9.             LocalizeTarget_TextMeshPro_Label.SetFont(mTarget, newFont);
    10.         }
    11.  

    By default, the plugin finds the font with the name referenced as secondaryTranslation (SecondaryTerm).
    But if you have some logic that you want to run to decide for a different font, then change that line and update the newFont variable with the correct font.

    BTW, also remember that if you are using TextMeshPro, you can have a font set with fallback fonts. That way, letters render with some font and emoticons, or other special character can render with a fallback font.
     
  24. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Thanks for reporting this, I will look into it asap!
     
  25. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    derkoi likes this.
  26. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
  27. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
    How do we set the term to empty again?
    I have a Localize component that I update and sometimes I want it to use terms but sometimes I set raw text, for some reason when I set a term, (by code) , after that I can't remove it by code, I tried localComponent.Term=null and localComponent.Term=String.empty but doesn't seem to work, the previous Term stays there.
     
  28. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    The code was ignoring when setting an empty term (which was needed a long time ago, but its no longer the case)
    You can either:

    Modify the SetTerm function by removing the
    if (!string.IsNullOrEmpty(primary))

    or

    modify the internal variables directly until I release a new update with the above change:
    Code (csharp):
    1.  
    2.     localComponent.FinalTerm = null;
    3.     localComponent.mTerm = null;
    4.     localComponent.OnLocalize (true);
    5.  
     
  29. jlanisdev

    jlanisdev

    Joined:
    Jan 18, 2016
    Posts:
    76
    Hi @Inter-Illusion - not a bug report, but I do have a workflow issue (and suggestion!) regarding the built-in tool that helps you find labels that don't have an i2 component, i.e, the Select No Localized Labels button.

    In theory it make sense, however in practice this tool is actually terribly cumbersome to use: in my case I have 100's of objects which don't have i2 components (and some that don't need one) and having to constantly re-select all of them repeatedly while keeping track of which ones I can safely ignore is just a really slow and painful workflow. My suggestion is to display a list of every game object in a separate window, instead of having them all selected in the scene.This would make it easier to go through and evaluate each game object individually.
     
    Inter-Illusion likes this.
  30. cagri_unity433

    cagri_unity433

    Joined:
    Mar 30, 2021
    Posts:
    5
    Hello,

    I'm reposting with the update since this hasn't been resolved.

    We are trying to add Persian to our supported languages list but we received feedback telling that text is not merged correctly. Below you can find the text that is parsed incorrectly.

    Update: Tried the Arial Unicode but still getting the wrongly parsed output.

    We tried the text with following fonts:
    Mirza-Regular
    Lalezar-Regular

    Correct:
    یا میز

    Wrong:
    ﺰیﻣ ﺎی

    Text in context:
    تلفن خود را روی لبه قفسه یا میز قرار دهید تا در نزدیکی بالای قفسه سینه‌تان قرار بگیرد.

    Thanks in advance.
     
  31. Dusty777

    Dusty777

    Joined:
    Jul 23, 2016
    Posts:
    9
    Q: Is it a requirement that we always switch language back before exiting?

    Problem:

    During testing, language changes persist out of edit mode.

    After using this
    http://inter-illusion.com/assets/I2LocalizationManual/ChangingthegameLanguage.html





    Thanks!

    __________________________
    Extra details

    Somehow when I exited play mode, the text was saved in translated form.
    Therefore the keys are no longer recognized (all say "not localized").
    I hope this could never happen in builds.

    Using something like
    OnDisable() { LocalizationManager.CurrentLanguage = "English" }
    doesn't always work either.

    Ps.
    Couldn't post this on InterIllusion website forum. Got an error (see picture below).
    Not sure if that matters.
     

    Attached Files:

    Last edited: Jun 16, 2022
  32. Cpt-McBacon

    Cpt-McBacon

    Joined:
    Dec 15, 2018
    Posts:
    1
    Hello!

    First off, thanks a lot for the work put into you localization package. It definitely helped us a ton to get our game into the hands of so many players!

    Now, for the reason I'm writing this post: we're using I2 Localization in tandem with TMPro and we're bumping our heads into a problem that appears only on RtL languages (eg. Arabic or Hebrew). The tags that we add through Parameters do not get assigned properly.

    We know they have to be written from right to left, but it seems that the closing and opening brackets < and > just switch randomly between themselves. They also seem to change depending on how many there are in a text.

    Here's a couple of examples:

    When having tags for setting and closing the color:

    >roloc/< and >FFFFFF#=roloc< gets written as <roloc/> RtL Text <FFFFFF#=roloc> inside the TMPro RtL input editor.

    So I thought, okay, I'll just flip the brackets around, right? However, doing this, results in the tags being switched between themselves, not only the brackets!

    <roloc/>
    and <FFFFFF#=roloc> appears as <FFFFFF#=roloc> RtL Text <roloc/> inside the TMPro RtL input editor!

    It was even funnier with sprite tags:

    >"s_emit"=eman "snoci_txet_iu"=etirps< resulted in "snoci_txet_iu"=etirps> <"s_emit"=eman

    However, for this one, we found a solution:

    Writing it as "snoci_txet_iu"=etirps> <"s_emit"=eman results in the correct writing inside the RtL editor.

    Unfortunately, if we add any other tags into the same string, everything breaks... :pinch:

    So, my question is: are we doing something wrong or is this a bug in the package?
     
  33. leegod

    leegod

    Joined:
    May 5, 2010
    Posts:
    2,476
    I don't know why, but suddenly all terms keyword become italic style in unity. I know italic style is sign of there is no string in that keyword, but there are localized strings at all keywords. Have used this asset over 1 year and until few days ago, there was no problem with italic style. Then why this happen? and how to fix it to before? v2.8.13
     
  34. Dusty777

    Dusty777

    Joined:
    Jul 23, 2016
    Posts:
    9


    Still seeking answer from 2 weeks ago.
    Language changes should never be persisting out of play mode, correct? (Since it ruins the keys)
    So I'm wondering why this would be happening and how I can avoid. Thanks!
     
  35. LexaMV

    LexaMV

    Joined:
    Feb 20, 2018
    Posts:
    28
    Need a discount on an asset ready to buy)))
     
  36. Deleted User

    Deleted User

    Guest

    Hello,

    I am currently trying to figure out how to use asset bundles with I2L:

    The documentation states all that is needed is to "create a class that inherits from RegisterBundlesManager" but this class does not exist in the plugin's sources... I tried to find someone with a similar issue here but it does not seem be to the case.

    The other step (implementing the LoadFromBundle fonction) seems pretty straitforward and should be no problem, hopefully!

    Thanks
     
  37. Deleted User

    Deleted User

    Guest

    Ok I found my answser. For anyone looking for it: it is in the example folder.

    I think it would be a better idea to put it in the Localization/Scripts folder or indicate in the documentation where to find it, as it is usually a good practice to not bring along the example files with a plugin when importing it to a "main project"

    cheers
     
  38. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539

    I know 3 ms doesn't seem a lot but compared with other operations this is quite expensive. I've read in the forum SetTerm gets slower when you declare 2 fonts, this is our case.. we have a custom font for latin letters and a different one for cirylic... You mentioned it gets slower because it has to ask for the font... is there ANY way this could be pre-cached somehow? any solution that would make the SetTerm faster would be great.
    Thanks a lot in advance.
     
  39. MasterOfKMJ

    MasterOfKMJ

    Joined:
    May 6, 2022
    Posts:
    3
    Hello here, I've encountered a somewhat difficult problem.
    I'm using Unity 2021.3 and newest i2 plugin.

    We're using multiply CSV to manage our localization. So, we've composed a some code to automate that.
    Our code could successfully load all CSV files to i2 system, and it's running good in editor.

    However, the most troublesome issue is that, the save i2Language wouldn't reflect the change to disk, and unity save system also couldn't work. But if we manually edit any term or something, the i2Language would save to disk no problem.

    So, it's there any way to force save i2Language asset from code? or we missed something?

    FYI, we've invoked SaveLanguage(), which doesn't help.
     
    Last edited: Aug 12, 2022
  40. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    If I understand correctly, what may be happening is that you are indeed modifying the scriptableObject but not setting it dirty, so the editor doesn't see there was a change and saves it.

    For an example on how to fix it, see the file
    I2\Localization\Scripts\Editor\Localization\LocalizationEditor_Spreadsheet_Local.cs
    (method Import_Local) (line 251)
    Code (csharp):
    1.  
    2. // In here modify the asset data
    3. .....
    4.  
    5. // Then set the I2Languages to dirty and tell unity to save it
    6. EditorUtility.SetDirty (target);
    7. AssetDatabase.SaveAssets();
    8.  
    Hope that helps,
    Frank
     
  41. MasterOfKMJ

    MasterOfKMJ

    Joined:
    May 6, 2022
    Posts:
    3
    First of all, Thanks for reply!! Furthermore, the solution works ! thank you much!
     
  42. YUTA-LEQUIOS

    YUTA-LEQUIOS

    Joined:
    Apr 8, 2016
    Posts:
    11
    App name translation does not work in Unity 2021.3.8f1 Android.
    I have compared it with Unity 2020's Temp/StagingArea and the configuration is quite different.
    There seems to have been a change in Unity.
     

    Attached Files:

    • src.png
      src.png
      File size:
      726.5 KB
      Views:
      153
  43. mendo

    mendo

    Joined:
    Apr 7, 2013
    Posts:
    7
    Hi there!
    We've noticed that we have Terms that get deleted when doing a build, because they're referenced via string+TermsPopup. When selecting a Term that way, it stills shows up in yellow in the Inspector, so in the end they get deleted when doing a build and the term doesn't show up properly.


    We fixed it by commenting RemoveUnusedReferences @ LocalizeInspector, is there a better way to fix this?

    Thanks!
     

    Attached Files:

  44. LBCstudios

    LBCstudios

    Joined:
    Mar 8, 2017
    Posts:
    8
    Hey, I just set this up and it all works great - except that when I run the game it is automatically using Spanish. In the languages asset it says default language - first in list, or device language. Regardless of what I select it always shows spanish. Spanish is not the default device language nor is it first in the list, but it always displays spanish. Any help would be appreciated.
     
  45. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    I have to investigate this, RemoveUnusedReferences doesn't remove any term, just the references to invalid assets (e.g. sounds, prefabs, fonts, etc).
    What also happens is that the reference counter doesn't take into account LocalizedString in the scripts. It just checks for Localize components. So, if a term is referenced in a LocalizedString inside your script, it will look as if no one is using it (I will fix this).
    But even if it shows yellow, it shouldn't be deleted automatically from the Language Source. I have never seen that behavior, will run some tests and see if I can find why it happens.
     
  46. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    As you mentioned, the initial language selection is based on the steps listed here:
    http://inter-illusion.com/assets/I2LocalizationManual/InitialLanguage.html

    Notice that once you run the app once and select a language, that language will be used from that point on. So the plugin will not try to find the initial language anymore.

    That language selection is saved in the PlayerPrefs and on statup the plugin uses that to decide the language to use initially.
    If you want to run the language selection code again, you will need to delete the PlayerPrefs from your device. The easiest way to do that is to fully delete the app from your mobile device and then install it again.

    If you want to instead disable that by modifying the code, just change the function SelectStartupLanguages in
    Assets/I2/Localization/Scripts/Manager/LocalizationManager_Language.cs
    Code (csharp):
    1.  
    2. // set SavedLanguage to empty so that it runs the initial language selection code
    3. string SavedLanguage = string.Empty;   // PersistentStorage.GetSetting_String("I2 Language", string.Empty);
    4.  
    Hope that helps,
    Frank
     
  47. LBCstudios

    LBCstudios

    Joined:
    Mar 8, 2017
    Posts:
    8
    Perfect! I am actually still just working in the editor, so I was able to just delete the registry key in playerprefs. I think when I first set up the project I must have had Spanish set first. It's fixed now, thanks for the prompt response.
     
    Last edited: Sep 8, 2022
  48. theropodx

    theropodx

    Joined:
    May 1, 2011
    Posts:
    40
    Hey just getting started and so far it's working, but for some reason in EN but not in ES it is reversing the order of the sentences in my imported text. In the inspector it looks fine if I browse that term for both languages, but for english for some reason all the text is there but the sentence order in the paragraph is reversed. TIA!
     
  49. theropodx

    theropodx

    Joined:
    May 1, 2011
    Posts:
    40
    Ok, I figured out the problem. The languages were not named properly in the language source asset. Very odd that it failed only on english. Or I guess it did select english, but scrambled sentence order, but not when set to Spanish.
     
    Inter-Illusion likes this.
  50. Mukaujoka

    Mukaujoka

    Joined:
    Mar 17, 2017
    Posts:
    17
    Hi @Inter-Illusion

    I have a question regarding the 'SpecializationManager' and 'BaseSpecializationManager' classes, more specifically this code snippet.

    Code (CSharp):
    1.         public virtual string GetCurrentSpecialization()
    2.         {
    3.             if (mSpecializations == null)
    4.                 InitializeSpecializations();
    5.  
    6.             #if UNITY_ANDROID
    7.                 return "Android";
    8.             #elif UNITY_IOS
    9.                 return "IOS";
    10.             #elif UNITY_PS4
    11.                 return "PS4";
    12.             #elif UNITY_XBOXONE
    13.                 return "XBox";
    14.             #elif UNITY_STANDALONE || UNITY_WEBGL
    15.                 return "PC";
    16.             #else
    17.                 return (Input.touchSupported ? "Touch" : "PC");
    18.             #endif
    19.         }
    The last statement references Unity's Input System, but my project is using the new Input System, which disables the old one entirely and throws a corresponding error, i.e. 'The name 'Input' does not exist in the current context'.

    My question is how can I get rid of this error without modifying this class directly, seeing as it is inside the plug-in itself and I wouldn't want to touch that to prevent complications when updating. Additionally, how would I be able to add more specializations to this script for example for another console? Thanks!