No announcement yet.

Warning: Kismet nodes and prefabs do not copy & paste!

  • Filter
  • Time
  • Show
Clear All
new posts

    Warning: Kismet nodes and prefabs do not copy & paste!


    i just encountered a very strange (maybe buggy) problem using kismet and prefabs. Basically if u copy&paste kismet nodes out of a prefab sequence, all the nodes will still somehow reference to this org. prefab.
    I don't mean object variables or assigned actors, even if u replace and clear all those there is still a hidden reference to the prefab!

    This means if u somehow (like i did) try to delete this org. prefab it wont be possible because of those hidden references to the copied nodes and if try to be "cleaver" and move the prefab to a trash package and delete this package than, chances are all your copy&pasted sequences will break or the map will crash if u try to load it.

    Here is a simple test to understand the problem:

    1) Create a prefab with some kismet code. (save it)
    2) Create a new prefab, but copy&paste some kismet nodes from the old prefab (1.), but assign the new actor for objects/events.
    3) Now delete all prefab instances out of the map and try to delete the first (1.) prefab.

    Edit: It will only allow u to delete the PF1 if u first delete PF2, so there is a reference handed over while copy&pasting the nodes from PF1 even if assigned new object members!

    U will get the error that there are still references and the delete will fail. If u try the trick and move the first prefab to a "trash" package and physically delete this package, your second prefab that has the copy&paste nodes in it will show some strange "outdated" errors in your nodes or the map will simply crash if u have instances placed.

    I still don't understand why kismet nodes copied from a prefab have some internal references to the org. prefab even if the node itself is now in a complete different sequence and has different variables assigned?

    In practice this means u should never copy&paste or cut&paste kismet nodes outside its current prefab sequence! Even if u try to export them to a asset and reimport, they still have the references.

    The only "clean" way to work, is to export a seq. to a asset before u create the prefab and reimport this asset if u need to reuse for other prefabs, or to create a "clean" copy of the kismet nodes before u create the prefab and they get moved into it.

    Any ideas whats going on here any why? Is this a bug since it looks very strange to me that a kismet node will save permanent prefab references to itself.

    bye Andy

    PS: Im using the May 8364 version, can anyone reproduce this with older version's?

    Small update:

    I tested several versions back to 12/2009 and this "problem" is in all of them, so it seems to be a general "feature" or older "design flaw". For me it makes working with prefabs and kismet more complicated, since i always have to copy&paste the code before creating the final prefab and store this "clean" copy somehow for re-usage.

    I came up with the idea to create some sort of "clipboard" sequence i can keep, that acts as general place to store and reuse "clean" nodes.
    The problem with this is, that right-clicking on a prefab and use "find kismet seq. for this instance" to directly get to a working copy, is more easy than opening kismet go to the "clipboard" sequence and manually check what pieces of kismet nodes i may looking for.

    bye Andy


      Problem still in 07/2011