How to change default engine code from plugin.

Hi there.

I would like to make a custom multi-user editing plugin that is better than the original one, because it doesn’t have advanced functionality.

Along the way, I have hit a problem:
I can’t edit default functionality.
The reason I need this is because I would like to apply custom outlines, images and text to the blueprint editor, for example so the user can see where another user is.

I know I can do the replication of nodes and pins etc via a custom class connected to a network port etc etc, but I would need to edit the default blueprint editor functionality for the outlines and other stuff.
Same for the global editor viewport and content browser.

Thanks in advance. :grinning:

I believe you can duplicate an engine plugin into the plugins directory for your project and they will be used instead of the plugin from the engine. You probably have to be careful about other engine plugins that are dependent on the one you’re modifying and not change any of the things they’re dependent on.

The other way to do it would be to switch to a full engine source build, actually modify it in the engine. If you improve it enough you could submit a pull-request through github that Epic (in theory) could merge into the actual engine for everyone else.

I will try this. Would it also work if I just copied the code that does similar things to what I need rather than the whole plugin?

Maybe. You’d likely have to do quite a bit of renaming to avoid name collisions. Plus taking whatever dependencies that the small amount of things you want to take requires, that you might not be able to directly reference from the plugin that you’re taking from because it could be inaccessible from another plugin.