unity3d-opencog-game
unity3d-opencog-game copied to clipboard
[Doc] BlockSet Modification Unintended Behavior
- Purpose: To describe an unintended behavior that has been observed when working with BlockSets so that future users can resolve the situation if this happens to them
Situation An error/unintended behavior has been observed but not fully tested or diagnosed: when one makes modifications to a blockset, particularly if that blockset is currently in use by a Map, the blockset will appear all fine and dandy until the game is run. At that point, the blockset will discard all XML information concerning the textures for the block (except for one side of each block).
Best Practices Please commit all changes to blocksets before testing (ie: hitting play). It will almost always be faster to checkout an old commit and nab the uncorrupted file than to try and fix it by hand. Also it might immediately break again after being fixed by hand, and that will make you feel like this: >=(
I recommend only working on blocksets that are not currently being used by Map.
You can also keep a second blockset with identical XML to the first blockset, operating on different textures/materials (or a clone of existing textures/materials). Then if anything happens, you can quickly copy-paste the XML from one blockset to another, and hit import.
Working Solution While the blockset still appears to be fine and dandy (such as after you have rescued it from a commit, or before you ever had a chance to destroy it in the first place), save the project and 'reimport all.' This seems to fix the problem.
Fixing the Bug The cause of this unintended behavior is currently still unknown. As it is not effecting our workflow tremendously at this point, we can study the cause at a later time.