Hi,
How are you? We use social API unity to handle challenges /Achievements. On backend for Android, we can use google play service for Android and as they stop updating for IOS for it we can use Leaderboard.
If your game has a server we can save it there or we can use the local database to save a variable for unlocking the character.
Just inbox me if you have any question or willing to work further.