Font Error (installed BetterStats)
open stats panel Error (installed BetterStats) Problem seems caused by font replacement in DSPTranslationPlugin mode :0
error log
Exception hit 1 times: NullReferenceException: Object reference not set to an instance of an object DSPTranslationPlugin.UnityHarmony.TextDefaultFont.OnGetFont () <0x000aa> DSPTranslationPlugin.UnityHarmony.Text_Font_Gettter_Harmony.Prefix (UnityEngine.UI.Text) <0x00041> (wrapper dynamic-method) UnityEngine.UI.Text.DMD<UnityEngine.UI.Text..get_font> (UnityEngine.UI.Text) <0x0001c> UnityEngine.UI.FontUpdateTracker.TrackText (UnityEngine.UI.Text) <0x0002a> UnityEngine.UI.Text.OnEnable () <0x00059> UnityEngine.GameObject:AddComponent() BetterStats.BetterStats:UIProductionStatWindow__OnOpen_Postfix(UIProductionStatWindow) UIProductionStatWindow:DMDUIProductionStatWindow::_OnOpen(UIProductionStatWindow) ManualBehaviour:_Open() UIGame:OpenProductionWindow() UIGame:On_P_Switch() UIGameMenu:OnButton5Click() UnityEngine.EventSystems.EventSystem:Update()
Target methods matching by name: UnityEngine.Font UnityEngine.UI.Text::get_font()
Relevant plugins:
harmony-auto-0c769c6a-9475-4114-be4f-ed560b9cec9e - Muchaszewski-DSPTranslationPlugin\DSPTranslationPlugin.dll Postfix[index=0]: static System.Void DSPTranslationPlugin.UnityHarmony.Text_Font_Gettter_Harmony::Prefix(UnityEngine.UI.Text __instance)
Exception hit 2 times: System.NullReferenceException: Object reference not set to an instance of an object
at DSPTranslationPlugin.UnityHarmony.TextDefaultFont.OnGetFont () <0x000aa> at DSPTranslationPlugin.UnityHarmony.Text_Font_Gettter_Harmony.Prefix (UnityEngine.UI.Text) <0x00041> at (wrapper dynamic-method) UnityEngine.UI.Text.DMD<UnityEngine.UI.Text..get_font> (UnityEngine.UI.Text) <0x0001c> at UnityEngine.UI.FontUpdateTracker.UntrackText (UnityEngine.UI.Text) <0x0002a> at UnityEngine.UI.Text.set_font (UnityEngine.Font) <0x00064> at BetterStats.BetterStats.UIProductionStatWindow__OnOpen_Postfix (UIProductionStatWindow) <0x010eb> at (wrapper dynamic-method) UIProductionStatWindow.DMD<UIProductionStatWindow.._OnOpen> (UIProductionStatWindow) <0x0093a> at ManualBehaviour._Open () <0x000b5>
Target methods matching by name: UnityEngine.Font UnityEngine.UI.Text::get_font() virtual System.Void UIProductionStatWindow::_OnOpen()
Relevant plugins:
harmony-auto-0c769c6a-9475-4114-be4f-ed560b9cec9e - Muchaszewski-DSPTranslationPlugin\DSPTranslationPlugin.dll Postfix[index=0]: static System.Void DSPTranslationPlugin.UnityHarmony.Text_Font_Gettter_Harmony::Prefix(UnityEngine.UI.Text __instance)
Exception hit 1 times: NullReferenceException: Object reference not set to an instance of an object DSPTranslationPlugin.UnityHarmony.TextDefaultFont.OnGetFont () <0x000aa> DSPTranslationPlugin.UnityHarmony.Text_Font_Gettter_Harmony.Prefix (UnityEngine.UI.Text) <0x00041> (wrapper dynamic-method) UnityEngine.UI.Text.DMD<UnityEngine.UI.Text..get_font> (UnityEngine.UI.Text) <0x0001c> UnityEngine.UI.Text.UpdateGeometry () <0x0001c> UnityEngine.UI.Graphic.Rebuild (UnityEngine.UI.CanvasUpdate) <0x0006c> UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () <0x00438> UnityEngine.UI.ScrollRect:LateUpdate()
Target methods matching by name: UnityEngine.Font UnityEngine.UI.Text::get_font()
Relevant plugins:
harmony-auto-0c769c6a-9475-4114-be4f-ed560b9cec9e - Muchaszewski-DSPTranslationPlugin\DSPTranslationPlugin.dll Postfix[index=0]: static System.Void DSPTranslationPlugin.UnityHarmony.Text_Font_Gettter_Harmony::Prefix(UnityEngine.UI.Text __instance)
Having the same problem here.
I didn't dig into debugging but maybe this part is the culprit? Seems like BetterStats dynamically creates text objects, and they are enabled before their font gets assigned. If this is the case then it might be a simple fix for either sides -- BetterStats might just delay enabling text objects, or this mod might have a simple null check.