I am still fairly new to scripting, and had asked a question similar to this previously today, but the answer I had received wasn't exactly what I was looking for, and the question I had asked was more generalized on Data Storage for a game completely. This is for 1 specific part of data storage, and I'd like to understand more about the limitations of what Data Storage can do. The answer I had received on the previous question seemed to pertain to money, or exp, or a IntValue that could be saved to the player. So if the player left, they'd be able to have their leaderboard stats saved, and in the event of Roblox crashing, they'd be able to have their stats protected by a function called pcall(). This is a little different from that. This doesn't pertain to the player, as much as it pertains to the object that the player possesses in their saved storage.
I was looking to see if it is possible to save personalized models to a specific player character, and if specific values that were different from the original model that were in the personalized model could be saved, even if they weren't the same as the model in ReplicatedStorage.
Let me make it clear, I don't want the Original models in Replicated Storage to change, I just want the player's modified model to be saved to their profile in game.
Is this possible at all?

2 comments
Thank you so much, that is exactally what I needed to fix one of my major problems with being able to save the bought models bought from the GUI up to the player.
I had to break your script up into 2 parts, due to the sheer amount of models that will be used in this process. The first part was put into a module script, and protected by a pcall line, the second part is used in each button script to buy the vehicles in question.