Question on creating data assets at runtime

For my project I have game play abilities that the player can execute and the values for these abilities are stored in data assets based off of a primary data asset. I also want to let users change the values of the abilities and thought that the best way to do this would be to duplicate the data asset and manipulate the new one while keeping the original values. I’m using the Asset Tools which has a function to duplicate data assets but it seems to be an editor only command.

So my question is am I going about this incorrectly or is there a way to duplicate data assets on runtime?