Hi ,
Kaiagan is a user of my CCG Toolkit and I just thought I would also jump in on this and give some more details about the issue we are seeing.
That is correct. When a struct is nested inside of another struct, and changes are made to that nested struct after it has been added to its parent, the linkage somehow breaks which disconnects many different elements throughout the project.
An example of this occurring:
Before making any changes to the nested structs.
Within one of the nested structs, I simply changed an already existing variable type to an array and the parent struct then fails to compile, as seen with the icon on the top left. The nested struct itself compiles fine.
At this point, the engine has also broken and unlinked references to any variable type which used this. that results in being unable to play the game, and gives what you see below.
As the project is heavily based around the data passed around in these structures, this is essentially breaking the any blueprint which has a reference and the user most of the time has no clue what has gone wrong. If you remove the nested-struct and re-add it, then a lot of the time this can fix the parent struct compile issue, however If you have already added a lot of functionality tied around the nested struct then you will need to recreate / relink any references which have spawned off the parent.
From there, the user will also be required to go through all the blueprints with unresolved compiler issues and relink any references which were disconnected in the first place.
On top of this, at times fixing these errors in the current editor session will get the user back to their previous state, but then after closing and reopening the issue re-occur and the process starts again, as mentioned by Kaiagan above.
Startup Log: [link text][4]
As you would be able to see, this could take several hours, or even several days for an in-experienced user to fix or find out where the issue lies if at all.
I have gone ahead and started a new Top Down Blueprint project which I have put together a really basic example of this and the breakage that occurs.
What I did:
- Created new project
- Added 3 new structs.
- Added two structs to a parent structure (No nested struct changes)
- Saved everything
- Went into the first nested struct file and added several variables of different types. Made 1 or two of them arrays.
- Saved, and went back to the parent struct which now appears broken and fails to compile on the nested struct.
You can find this project here: Dropbox - StructProj.zip - Simplify your life
If you delete the first broken nested struct and re-add it, then everything will compile fine. This example project does not include any references in any other blueprints but as you can see the issue can evolve into throwing a rock in a glass museum! haha
Note: This only appears to occur on nested structs. I was not able to get this to occur when all variables were held in a single structure.
If you have access to the CCG Toolkit (Marketplace) on your end, feel free to grab that and follow similar steps above to see the issue in its entiry.
Hope this helps in terms of information. I have seen a number of bugs already raised which are related to this but I feel not in its entirety. Let me know If you would like any further details.