Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Error Log Messages:
Exception filling window for RimWorld.Dialog_ManageApparelPolicies: System.NullReferenceException: Object reference not set to an instance of an object
[Ref DC2644F1]
at Verse.ThingDef.get_DescriptionDetailed () [0x000e6] in <d2f9716cc2ac4cda9c2a174cc147bf37>:0
- TRANSPILER OskarPotocki.VEF: IEnumerable`1 VEF.Apparels.VanillaExpandedFramework_ThingDef_StatOffsetFromGear_Transpiler:Transpiler(IEnumerable`1 instructions)
at Verse.Listing_TreeThingFilter.DoThingDef (Verse.ThingDef tDef, System.Int32 nestLevel, Verse.Map map) [0x000c8] in <d2f9716cc2ac4cda9c2a174cc147bf37>:0
at Verse.Listing_TreeThingFilter.DoCategoryChildren (Verse.TreeNode_ThingCategory node, System.Int32 indentLevel, System.Int32 openMask, Verse.Map map, System.Boolean subtreeMatchedSearch) [0x000f4] in <d2f9716cc2ac4cda9c2a174cc147bf37>:0
at Verse.Listing_TreeThingFilter.ListCategoryChildren (Verse.TreeNode_ThingCategory node, System.Int32 openMask, Verse.Map map, UnityEngine.Rect visibleRect) [0x0004a] in <d2f9716cc2ac4cda9c2a174cc147bf37>:0
at Verse.ThingFilterUI.DoThingFilterConfigWindow (UnityEngine.Rect rect, Verse.ThingFilterUI+UIState state, Verse.ThingFilter filter, Verse.ThingFilter parentFilter, System.Int32 openMask, System.Collections.Generic.IEnumerable`1[T] forceHiddenDefs, System.Collections.Generic.IEnumerable`1[T] forceHiddenFilters, System.Boolean forceHideHitPointsConfig, System.Boolean forceHideQualityConfig, System.Boolean showMentalBreakChanceRange, System.Collections.Generic.List`1[T] suppressSmallVolumeTags, Verse.Map map) [0x002a5] in <d2f9716cc2ac4cda9c2a174cc147bf37>:0
at RimWorld.Dialog_ManageApparelPolicies.DoContentsRect (UnityEngine.Rect rect) [0x00020] in <d2f9716cc2ac4cda9c2a174cc147bf37>:0
at RimWorld.Dialog_ManagePolicies`1[T].DoWindowContents (UnityEngine.Rect inRect) [0x001fa] in <d2f9716cc2ac4cda9c2a174cc147bf37>:0
at Verse.Window.InnerWindowOnGUI (System.Int32 x) [0x001a6] in <d2f9716cc2ac4cda9c2a174cc147bf37>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch1 (string)
Verse.Window:InnerWindowOnGUI (int)
UnityEngine.GUI:CallWindowDelegate (UnityEngine.GUI/WindowFunction,int,int,UnityEngine.GUISkin,int,single,single,UnityEngine.GUIStyle)
Mouse position stack is not empty. There were more calls to BeginScrollView than EndScrollView. Fixing.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch1 (string)
Verse.Widgets:EnsureMousePositionStackEmpty ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Root.Update_Patch2 (Verse.Root)
Verse.Root_Play:Update ()
Word wrap was false at end of frame.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch1 (string)
Verse.Log:ErrorOnce (string,int)
Verse.Text:StartOfOnGUI ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.UIRoot.UIRootOnGUI_Patch1 (Verse.UIRoot)
RimWorld.UIRoot_Play:UIRootOnGUI ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Root.OnGUI_Patch1 (Verse.Root)
The Issue:
You opened the Apparel Policy UI.
It attempted to display a Covenant item.
That item’s ThingDef was missing something expected by VEF’s StatOffsetFromGear transpiler.
A null slipped through during DescriptionDetailed, which is called in the UI to display tooltips or stat summaries.
Why the workaround works:
On First Load, the apparel categories (like those added by “HALO - The Covenant”) are loaded into the ThingFilter tree for the Apparel Policy UI.
If any item has invalid stat offsets or missing properties (nulls in statBases, etc.), VEF’s transpiler fails during ThingDef.DescriptionDetailed().
The Character Editor reset forces a full reinitialization of apparel for all pawns:
This process seems to “touch” or re-initialize any bugged ThingDefs before the UI tries to show them.
That sidesteps the crash by triggering fallback behavior or caching the stat offsets/descriptions.
After this "preload", VEF's patched methods operate safely during UI rendering.
Since RimWorld caches a lot of UI and stat calculations in memory, the issue won’t reappear until a full reload of the game session (i.e., next time you start the game).
Proposed Solution:
Manually add dummy or correct entries to the faulty ThingDefs. Example:
xml
Copy
Edit
<ThingDef ParentName="ApparelBase">
<defName>CovenantHelmet</defName>
...
<statBases>
<!-- Even just an empty list helps prevent nulls -->
</statBases>
<modExtensions>
<li Class="VEF.Apparels.StatOffsetFromGearExtension">
<statOffsets>
<!-- Example filler -->
<li>
<stat>MoveSpeed</stat>
<value>0.1</value>
</li>
</statOffsets>
</li>
</modExtensions>
</ThingDef>