as i seen you can only do a cpp class and then do a blueprint that derive from it, cant i just use the cpp only?
You can but it depend on what you planning to do with it and what you mean by ‘use’.
A cpp file can use other cpp file, or you can also create global function to be used in bp, these doesnt need to be converted to child bp.
now if you making a Character cpp and you want to set it asset(mesh, material, vfx etc…) directly on the cpp, you can use other cpp file to spawn that character cpp but this is not recommended since all cpp file are loaded when the game start into the memory.
That why we create only parent class cpp with only code and no loading asset file, and we convert these cpp into bp so that this bp is loaded into memory only when needed(spawn/place on level map).
In short, cpp file are loaded into memory when we launched our game and bp are loaded when spawned/place.
right so cpp to bp always