Questions about FSM's with Unity Animator

Hi;

I have a few questions about FSM’s created in Unity Animator.

I have 3 states in my FSM which are Chase, Attack and Go To Random Position and each have StateMachineBehaviour scripts.

The FSM works quite well but I’m not very sure about my design and I need to ask about some questions.

Q1: I created a distance parameter in animator to measure distance between enemy and player. But not all enemies attack distance are same. And the animator does not have a feature for not hard coded float conditions, right?
So, I have to decide adding another bool parameter named ‘attack’ and in the Chase state I keep track the distance, once it gets the attack distance it changes the ‘attack’ parameter and the enemy’s state changes to Attack state.
Is this the good solution or is there another more rigid way to implement a distance condition with different attack distances?

Q2: This FSM works well with enemy types that only have Chase and Attack States. But what if I create an another type of enemy that also has another state addition to Chase, Attack and Go To Random Position states? How can handle this?
Is there any good way to tell something like; ‘Use this FSM’s states and add this extra state?’
Am I need to create another FSM for every enemy type?

Thank you.

I haven’t used StateMachineBehavior yet, but they are just a class, so they can have properties and you can set them by using GetBehaviors from the Animator, or should be able. They can be made public

Each one is an instance, so you can set each one on the fly and it will be different from the others.