I am a developer currently organizing a migration infrastructure for quest data stored in an older version in my organization.
The version of the asset I am currently using is 1.2.34, and I am experiencing the following issue.
- Setting 4 conditions on a set of conditions specified in a quest and creating a save
- Reducing the number of condition sets in the same quest to 2 and importing the save
- Throws 'IndexOutOfRange' exception on 'QuestStateSerializer.ReadConditionSetDataFromStream'
This is a maintenance nightmare for version control, so I searched the forums and found the following responses.
https://www.pixelcrushers.com/phpbb/vie ... 872#p28872
If we still have the old version of the quest asset, it's not hard to map it, but I think it's more of a challenge to correctly map the data in a migration environment where we're dealing with low-level data, because we don't even know the schema layout when we only have serialized binary data.It would probably be more robust to remove the quest from your quest database and add a new quest with a new quest ID. Otherwise you might not know if the version in the player's journal is the old version or the new version of the quest. For example, if the old quest's ID is “bakePie”, you could replace it with a new quest with ID “bakePie-v2”.
So, at the very least, I would like to see an option to save this as JSON so that it can be easily migrated via external infrastructure, and additionally, I think there should be some guidance on versioning, even in the official documentation.