When duplicating a blueprint class, duplicate class looses skookum implementations in IDE


#1

Hi,

I created a class using blueprints (from an empty actor, then added components etc), then implemented its functions, constructor and some more variables in Skookum. It’s an automatic door and it is working fine.
But when I duplicated this blueprint class, when I opened it in SkookumIDE (the duplicated blueprint), it has lost the stuff implemented in Skookum (functions, variables etc).

I was creating a similar type of door, but with some differences - I know I could have inherited from the first door, but there were some different components etc, it was more practical to duplicate it for now.

  • Is that normal?
  • And is there any way I can avoid this?

Thanks in advance,


#2

This is normal from my experience. Usually what I do is go to my original blueprint, go to the :sk: ide and right-click one of the scripts to open the folder for the scripts. Then I just copy the scripts I want over to the new class folder.


#3

This is normal. When you duplicate a blueprint in Unreal, you are only duplicating the data that the Unreal Engine has “knowledge” of. You wrote code specifically for that class in Skookum, Unreal does not “know” this, Unreal will not duplicate this code unless some sort of intervening scanner is made, that would detect such duplication in Unreal, by the Skookum devs.


#4

Thanks for the tip, error454! I didn’t think about it - actually, I feared it would mess SkookumIDE, the stuff it keeps track of etc.


#5

This would be a nice thing to add to SkookumIDE. :slight_smile:


#6

This is one of the many things I love about :sk:. It’s completely no non-sense when it comes to how it stores assets. Everything you care about exists in those folders as a flat text file: methods, variables, co-routines, it’s all right there. This makes it easy to copy, delete, duplicate and modify.


#7

I call it “having an escape hatch”. :door:

Even better would be to have everything polished and automated, though there should always be a workaround.