There are several weird issues when working with DataTable containing a Class as a variable type.
- Create a structure containing a variable that has a type of “Class” of some Blueprint type
- Create DataTable based on this structure
- Create a new Row and try to set variable to some class.
For example we tried to create DataTable which has a variable of type ClassOf:“Weapon Blueprint”. Then create rows that had various weapons set like “Pistol Weapon Blueprint”, “Rocket Launcher” etc. We got either random crashes or random errors in Blueprints like “PROTO_C_Character is not based on Character_C” even, if all we did was simply creating said DataTable. Basically it looks like creating DataTable with class as a type is messing completely Blueprint system and all Blueprint types.
Unfortunately I couldn’t reproduce it in simple project, nevertheless I’m sending you simple project in which you can see some odd behavior that could potentially create problems in bigger projects. Just copy files to a /FirstPersonBP/ folder in FirstPerson sample project.
There are few things you can check/test: Change type of variable in structure to something other than “TestBPClass2”. Then when you try to edit DataTable, you can try to select some classes. It can result in displaying empty field like on screenshot bellow (DataTable does not properly gather possible classes).
If you don’t change anything and just load files I’ve attached, you will notice that you can’t select “TestBPClass3” in a variable despite “TestBPClass3” having “TestBPClass2” as a parent.
TLDR; We have crashes in our project, and odd behavior in simple project. See screenshot for issues.