Note that a target may not allow applying the material to an underlying asset, or may not even allow having the material applied to the instance, in which case the function will return false without doing anything.