Is it possible to create new actor components?

Is it possible to create a new component that can be added to a blueprint representing an actor under the “Components” tab? Either C++ or Blueprint extensions would be fine for me. I would like to be able to do something like add a component to the root and have it perform some functionality simply by being attached and in turn replacing the “is a” parent extensions I’ve been making for many of my actors.

If you want to add actor as component you can use child actor component

If you want to create new components you can do that in C++ by extending UActorComponent class and add meta=(BlueprintSpawnableComponent) specifier in UCLASS() to make i visible in blueprint component editor