Is there a way to change the players Rig type without even resetting the character? it's breaking my scripts

		local Main = game.Players:GetHumanoidDescriptionFromUserId(plr.CharacterAppearanceId)
		local morph =game.Players:CreateHumanoidModelFromDescription(Main,RigType)
		morph:SetPrimaryPartCFrame(plr.Character.PrimaryPart.CFrame)
		morph.Name = plr.Name
		plr.Character = morph
		morph.Parent = workspace	
		char = morph

this is what i just do, i know its not perfect but. when i turn the player to r6. then basically all my scripts break it doesn’t matter where i put it. if it’s in startercharacterscripts it wont work.this also takes into account some server scripts aswell. like my statemanager where it sets the character an attribute and also a table based attribute and all of them goes away the moment i use this.

the server scripts referencing my character will now be set to nil because i just switched rig types which means diff characters which means my character variables will be nil- i’ve been so stumped on this is there any way to have a work around this? :sob:

It’s doesn’t just do a normal roblox reset either which is weird. it gets rid of my playerscripts and breaks my scripts too

thats cause each core script like animate behave differently when rig type is different

what stops you from getting new updated character rather than the reference?
local char = plr.Character --// current character