nocigs Posted January 5, 2022 Posted January 5, 2022 Title, so it goes like this: - Change my hair - Saved the preset - The hair goes back to default/vanilla hair whenever I load the preset I use Tulius Hair btw, any solutions?
SphereOfDestruction Posted June 29, 2022 Posted June 29, 2022 I am having the same problem. Also with Tullius hair and SG hair 350
traison Posted September 27, 2022 Posted September 27, 2022 (edited) First thing I'd do is find the json file where RM saved the preset. Make sure the hair in there is correct. SKSE\Plugins\CharGen\Presets\*.jslot Spoiler "headParts" : [ { "formId" : 185073176, "formIdentifier" : "KS Hairdo's.esm|07FE18", "type" : 3 } ], "mods" : [ { "index" : 11, "name" : "KS Hairdo's.esm" } Edited September 27, 2022 by traison
xen134 Posted October 25, 2024 Posted October 25, 2024 If anyone is still having this issue, check if you have the Proteus mod. If you have a saved character, I believe you can only save changes to your player if you use the racemenu enhanced option via Proteus menu. 1
ihatemykite Posted January 3, 2025 Posted January 3, 2025 (edited) Quite late reply, but the issue is most likely caused by the hair not being gender flagged in esp. Hair for females should have female flag and for males should have male flag. Interestingly, game actually works without these flags, but Racemenu does not. It needs these flags otherwise it will not correctly load the hair when loading the preset. Out of all hair mods I use, I found this issue only with Tullius SMP Hair 3 806 which I started using recently. As there is way too many hairs in it, I made xEdit script that you can run over all records of the hair mod. If it detects that some hair have neither female/male flag, it will add female flag. If you want to do it for male hairs, you will have to edit the script by changing this part to DATA\Male HairRMFix.zip Spoiler Unit HairRMFix; Var bFileLoaded : Bool; Function Initialize : integer; Begin AddMessage('Init called'); End; Function Process(aeElement: IInterface) : Integer; Var sPatchFilePath : String; sPatchName : String; eExtra : IInterface; ePlayable : IInterface; eFemale : IInterface; eMale : IInterface; Begin If (ElementType(aeElement) = etMainRecord) and (Signature(aeElement) = 'HDPT') Then Begin eExtra := ElementByPath(aeElement, 'DATA\Is Extra Part'); ePlayable := ElementByPath(aeElement, 'DATA\Playable'); eFemale := ElementByPath(aeElement, 'DATA\Female'); eMale := ElementByPath(aeElement, 'DATA\Male'); if ((GetEditValue(eExtra) = '') and (GetEditValue(ePlayable) = '1') and (GetEditValue(eFemale) = '') and (GetEditValue(eMale) = '')) Then Begin AddMessage(Format('Invalid hair %s found. Setting to female',[editorID(aeElement)])); SetElementNativeValues(aeElement,'DATA\Female',1); End; End; End; function Finalize : integer; begin AddMessage('Done'); end; End. Edited January 3, 2025 by ihatemykite Removed some bs 3
Echi Corsair Posted March 11, 2025 Posted March 11, 2025 On 1/3/2025 at 9:27 PM, ihatemykite said: Quite late reply, but the issue is most likely caused by the hair not being gender flagged in esp. Hair for females should have female flag and for males should have male flag. Interestingly, game actually works without these flags, but Racemenu does not. It needs these flags otherwise it will not correctly load the hair when loading the preset. Out of all hair mods I use, I found this issue only with Tullius SMP Hair 3 806 which I started using recently. As there is way too many hairs in it, I made xEdit script that you can run over all records of the hair mod. If it detects that some hair have neither female/male flag, it will add female flag. If you want to do it for male hairs, you will have to edit the script by changing this part to DATA\Male HairRMFix.zip Reveal hidden contents Unit HairRMFix; Var bFileLoaded : Bool; Function Initialize : integer; Begin AddMessage('Init called'); End; Function Process(aeElement: IInterface) : Integer; Var sPatchFilePath : String; sPatchName : String; eExtra : IInterface; ePlayable : IInterface; eFemale : IInterface; eMale : IInterface; Begin If (ElementType(aeElement) = etMainRecord) and (Signature(aeElement) = 'HDPT') Then Begin eExtra := ElementByPath(aeElement, 'DATA\Is Extra Part'); ePlayable := ElementByPath(aeElement, 'DATA\Playable'); eFemale := ElementByPath(aeElement, 'DATA\Female'); eMale := ElementByPath(aeElement, 'DATA\Male'); if ((GetEditValue(eExtra) = '') and (GetEditValue(ePlayable) = '1') and (GetEditValue(eFemale) = '') and (GetEditValue(eMale) = '')) Then Begin AddMessage(Format('Invalid hair %s found. Setting to female',[editorID(aeElement)])); SetElementNativeValues(aeElement,'DATA\Female',1); End; End; End; function Finalize : integer; begin AddMessage('Done'); end; End. How do I run this script to achieve the intended effect? I am a dummy mod user.
Echi Corsair Posted March 11, 2025 Posted March 11, 2025 Nevermind found a mod that fixes the issue. I can also confirm that my issue only happens with Tullius hair packs. https://www.nexusmods.com/skyrimspecialedition/mods/139130
SongsphireArts Posted July 24, 2025 Posted July 24, 2025 On 3/11/2025 at 4:10 PM, Innocent_Squirrel said: Nevermind found a mod that fixes the issue. I can also confirm that my issue only happens with Tullius hair packs. https://www.nexusmods.com/skyrimspecialedition/mods/139130 yeah, this got removed by staff. any chance you still have the mod zip?
Echi Corsair Posted July 25, 2025 Posted July 25, 2025 8 hours ago, SongsphireArts said: yeah, this got removed by staff. any chance you still have the mod zip? here u go ChooeyTulliusHair3Edit.7z
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now