How do you save your progress while in game?

For the past months I am trying to a
Make a 3d platformer game the only problem is to save you progress
Like for example I beat a level and something happens in the story like a boulder hit the ground if I left the game and join back I want to resume the story but I can never find a solution for this feature.Any help?

You’re probably looking for DataStoreService.

With DataStoreService, you can save data about a player that will persist across game sessions. So, you’ll need to read up about it, but my suggestion is to set “checkpoints” in your story or platformer game where when you touch a certain brick, or complete a quest, it updates your progress and then calls DataStoreService:UpdateAsync to update their progress in the data store. You’ll also want to be able to use GetAsync to read their current progress from the previous game session and teleport them to the appropriate place when they rejoin the game.

This is an intermediate topic that definitely requires some studying, so be ready to spend time on it if you’re a beginner programmer. Also, you’ll want to make sure you don’t overwrite their saves with bad data or earlier checkpoint data.

It would be very long to help explaining Datastore. You can learn more here: Data Stores | Documentation - Roblox Creator Hub

I get how code the data store butI only know how to save only currency not my progress

You’ll probably need to put parts all around your 3D platform game and attach .Touched events to them that trigger the data store saving.