No longer able to call Blueprint Events on CDOs
As of 4.16, if you have a simple class like such:
Create a blueprint version that adds logic to the Bar event (even a simple PrintString), and then simply call the event on the CDO (either through another blueprint or simply grabbing it through C++) of that new Object:
You'll get the following error:
Which comes from this method:
That seems to be related to this change that came in from Fortnite:
Removing that added logic fixes the functionality that existed pre-4.16. Is there another way to manually allow a CDO to call overridden script methods?
CDOs are a convenient way to basically enforce a Singleton-esque pattern and keep down memory usage. If blueprint events are no longer allowed on CDOs - then that's going to increase memory usage as all objects with blueprint events will now have to be instantiated so they can get their PersistantUberGraphFrame.
After discussion, we decided to bring back the persistent ubergraph frames for CDOs other than Macro Libraries. This fix should be in a future hotfix, to fix this problem locally change the return condition at the top of CreatePersistentUberGraphFrame to this:
answered Jun 27 '17 at 07:30 PM
Thank you for the sample project. I have reproduced this issue and logged a report for it here https://issues.unrealengine.com/issue/UE-46534 . You can track the report's status as the issue is reviewed by our development staff. Please be aware that this issue may not be prioritized or fixed soon.
answered Jun 27 '17 at 02:21 PM
Follow this question
Once you sign in you will be able to subscribe for any updates here