Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Push metadata changes to skeleton class as well as generated class #12

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

MagForceSeven
Copy link
Contributor

While working on custom blueprint nodes that leveraged the metadata information, I found that only the generated class was being modified. It is also very useful to immediately update the skeleton class with the same information so that it can be immediately reflected my blueprint nodes without having to recompile (assuming the property already has the metadata field available after a first compile).

@BenVlodgi
Copy link
Collaborator

Hey @MagForceSeven thanks for the PR.
Could you give example steps to follow where the behavior of the plugin is different before and after with this change?

@MagForceSeven
Copy link
Contributor Author

I don't have one from the Engine. The plugin that I'm working on should be pushed soon.

However I was working on a node very similar to/based on UK2Node_CreateDelegate which you can check out as using the skeleton class in a number of cases. In my node I use the metadata (specifically the BaseStruct one from the other PR) in order to check the compatibility of delegate and the target function's instanced struct parameter.

What I noticed (and discussed with Dylan) was that editing the metadata didn't seem to invalidate my delegate node until after the blueprint was compiled. I wanted/expected/hoped it would invalidate as as soon as the metadata change was committed.

Thanks for taking a look.

@BenVlodgi
Copy link
Collaborator

Thanks for the explanation.
If we can be sure this doesn't have any unintended behavior, it sounds like a good change.
Do you have a link to the repo where you're using this functionality?

@MagForceSeven
Copy link
Contributor Author

I just pushed it out yesterday! https://github.com/MagForceSeven/Starfire/tree/main/StarfireMessenger

While it's hard to be 100% sure, but given the narrowness of the change I'd have high hopes that it would be pretty safe.

It's possible that without the change, the dropdown for a blueprint instanced struct member might contain the wrong classes right after you edit it. I know that to show the metadata editor initially, you've got to compile the blueprint. But after that I'm not sure if the details panel is pulling from the generated or skeleton classes. If it's pulling from the skeleton, then this change would cause the dropdown to be correctly filtered after editing and before recompiling.
But that wasn't a test I tried at all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants