Imagine you are making a game where you want to use ACharacter as your base class. However, you do not want to use one of it’s components that is created by default, for example, a CMC (Character Movement Component). You can prevent this component from being created by using object initializer in your subclass constructor function like this:
AMyCharacter::AMyCharacter(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer.DoNotCreateDefaultSubobject(
ACharacter::CharacterMovementComponentName)
{}
