Egg group unique identifiers

Hi all,

I need a way to save out modifications to child groups of an egg when it’s been instanced multiple times in my editor. I’ve come up with some ideas but they have their drawbacks:

  1. Tag each egg child node with a guid during some import process, so I know which node the user has made a change to. Although this is probably the least error prone method, it requires the user to reimport the asset when changes are made so the guid can be reapplied.

  2. Work out which node is which based on name and position in the hierarchy. The problem here is that the egg syntax supports nodes with the same name at the same level in the hierarchy. The user would be able to re-author the asset however, and if the names matched they wouldn’t lose their modifications in the scene.

  3. Write the egg to bam for each instance the user makes a modification to. I don’t want to do this as it duplicates a lot of data on disk.

Does anyone have any suggestions? Thanks in advance!

Hmmm… If a model is changed, are such modifications still valid? What do you do with modifications to elements that have disappeared, or that have been rearranged, for example? Perhaps it might be better to cancel such modifications when an asset is changed, preferably with a warning dialogue to inform the user of this?

I think it’s fair that any modifications made to nodes which cannot be found are lost. If there is no way to reliably reapply the modifications to a node it’s probably a better idea to drop them rather than risk applying to the incorrect node.

I can put a warning dialog up but it might get annoying if a user has changed ~100 assets!