Is it possible to use plugins to override core engine functions and have the engine use the overriden functions instead of the native ones?

Hi,

I would like to know if it’s possible to override core engine functions with a plugin and tell somehow the Unreal engine to use my overridden function instead of the core engine function by default.

For example, let’s say I wanted to override some core functions inside the UMG_API FWidgetRenderer class?

Could I create a plugin and override the functions of this class and have the engine use my version of that function? Basically, I just want to replace the core engine function with my own version with a plugin.

For example: FWidgetRenderer(bool bUseGammaCorrection = false, bool bInClearTarget = true);

Is there a way to make that happen? Or is the only way to modify the source code and recompile it (not possible with a plugin and what I think could be possible to do)?

Thanks.

Did you or somebody else find something on this question ?

Unfortunately, no.

I would say fortunately so. It could easily become a disaster of what classes are being used in places it wasn’t expected.

However the engine does allow to override certain classes in the config file like with WorldSettingsClassName in Engine.h

I guess it depends on you specific project’s needs. Let’s say you wanted to create a custom rendering pipeline or override the physics engine, and distribute these changes with a plugin, would this approach be that bad? But I get your point, for most standard use cases, it would be a bad idea, I agree.

Thank you for your responses.