Changing component types causes corrupted BP

UME_CharacterCollisionComponent derives from UCapsuleComponent
UME_CharacterMovementComponent derives from UCharacterMovementComponent

I’m not sure what you mean by ‘inside the constructor’ ? As far as I was aware, the only way to use the SetDefaultSubObjectClass() method was in the way I did it there. Anywhere else in the constructor gives me a compile error - “Subobject class setup is only allowed in base class constructor call (in the initialization list)”