I have character, to character I am adding inventory system (Subclass of UActorComponent). All actions done in character constructor, at same time I am adding another custom Actor component, interaction system, setup very similar.
During launch of engine in debug mode, I can see how it fall in breakpoint few times, during initialization of that component and in variables it’s not NONE
I have change character blueprint parent class to regular actor, close engine, deleted intermediate folder and rebuild project, and Interaction system component still present. This is one of most painful bugs I ever faced.
Solution. Create another character class child from C++, change parent class in original character blueprint to newly created to not loose references and components structures, close engine, delete intermediate folder, rebuild project, open project set parent back to C++ class, delete newly created BP.
Terrible solution, but I have no another. If someone have better solution, please share
you’ve set “true” to transient when creating a default subobject. that will create issues for sure. you might not know what transient means.
Also you don’t need to call AddInstanceComponent. that’s for components created at runtime (afaik) and not during constructor.
i think those two might be the main cause.
sidenote, that arrow at the right of the value None in the screenshot, means that you’ve changed the default value. clicking the arrow will bring back the default value.
sidenote 2 this could also happen when you use livecoding or hotreload while changing the structure of the class. or when a bp has been corrupted.
sidenote 3 i’ve made an interaction/animation and inventory plugins (amongst others) if you wanna check them out (and check how i’ve implemented stuff, maybe that helps).