Advanced Engram Requirements - Any Ideas?

I am trying to create a little add-on to primitive+ that features a new way of unlocking engrams - instead of based on levels and engram points
the unlocking is based on a concept of knowledge about a previous engram (every time the player crafts the engram the knowledge increases, upon a certain point the next engram is unlocked) and
on the player having seen a certain resource or event (e.g.: Axe is unlocked after pickaxe knowledge has been acquired and flint has been picked up).

Now my question is, is it possible to add a new type of requirement to the EngramRequirementSets?
I have worked with unreal engine before, but only C++ so the concept of Blueprints seems a bit limiting to me.
Any ideas on how to implement that would be much appreciated.

Another question I have is if it is possible to a) create a custom function (blueprint graph?) that determines the quality of the item produced by an engram
and b) to save data to engrams on a per-player base (to store the knowledge value)?

Any help would be much appreciated.

Best regards,
Daniel Eder