I am trying to figure out how to make a list of quests for players with all the information about the quests such as reward, title, description etc.
I am not certain of the best way to do it, I am using ProfileService to save data but not sure if I should save all the quests data to a table using this?
or create a 2d array on the server and then use this to show the player what quests are available and to store when complete?
This is really more of a design question, and up to personal preference.
If I’m understanding the first option correctly, you want to save the quests you create into a data store, then call the datastore when you want to use a quest? If so, then you should save them in the second way.
Usually for my projects I have a Quests module inside of ReplicatedStorage, that holds all the information such as reward, title, description etc. Then I can use that table on the client and server to get info for a specific quest. Quests modules could be separated up based on theme/location/reward/whatever to make it easier to organize too.