The best way for handling your situation would be to update the prices for the simple products. Consider using Magento's import to update prices that should go fast enough whithout spending to much time on that. Here is the documentation:
https://docs.magento.com/m2/ce/user_guide/system/data-import.html
A second option is to hook in at catalog_product_save_after
event, check if it is a confugurable product and modify the prices of all children. Some observer code like the following should work:
//observer code
if($product->getTypeId() == \Magento\ConfigurableProduct\Model\Product\Type\Configurable::TYPE_CODE){
$children = $product->getTypeInstance()->getUsedProducts($configProduct);
foreach ($children as $child){
$child->setPrice($product->getYourPriceAttribute())->save();
}
}
If you really want to modify Magento's price calculation you can create a plugin after the method getFinalPrice()
in the Product model and manipulate the price the way you want (for example taking the price from somewhere else). If there are no other changes to Magento's price calculation in your system yet, you should be able to change your prices with that approach.
Depending on your expectations (for example should catalog price rules work on your prices you may place your plugin before the getFinalPrice()
method or even after getPrice()
method.
Anyway I strongly recommend the usage of Magento's import! If for what ever reason that's not possible, try the observer approach.
I hope that helps. Feedback would be nice :-)