/Engine/Source/Runtime/InteractiveToolsFramework/Public/InteractiveToolBuilder.h
AUInteractiveToolBuildercreates a new instance of an InteractiveTool (basically this is a Factory). These are registered with the InteractiveToolManager, which callsBuildTool()ifCanBuildTool()returns true. In additionCanBuildTool()will be queried to (for example) enable/disable UI buttons, etc. This is an abstract base class, you must subclass it in order to create your particular Tool instance
class UInteractiveToolBuilder : public [UObject](API\Runtime\CoreUObject\UObject\UObject)