[Unit price:] "You can specify a value only if UseStandardPrice is set to false."

[UseStandardPrice:] Indicates whether this object uses the standard price defined in the standard Pricebook2 object (true) or not (false). If set to true, then the UnitPrice field is read-only, and the value will be the same as the UnitPricevalue in the corresponding PricebookEntry in the standard price book (that is, the PricebookEntry object whose Pricebook2Id refers to the standard price book and whose Product2Id and CurrencyIsoCode are the same as this object). For PricebookEntry objects associated with the standard Pricebook2 object, this field must be set to true.