Blueprint Event Problem with Singleton type class

You’re only getting the native calls because your implementation of GetQuestManagerInstance only ever creates an instance of UQuestManager. Regardless of any of the blueprint types you may define, Get Instance will always create a UQuestManager. You’re never creating an instance of your blueprint type so it won’t exist to handle the call. You would need something with TSubclassOf/TSoftClassPtr to specify one of the subtypes that you’ve created.

One solution is the Subsystems. My solution (not because of any particular dislike for Subsystems, it just predates that code and I don’t really have any reason to update it) is TSubclassOf members on my GameMode. The GameMode is then responsible for instancing my “singleton” at level load and not on the first call to a “Get” (which has other setup benefits).