You’re right that you could modify the engine, but you’re also on the right track that this is a bad idea.
Generally the solution for this sort of thing is to either a) create an interface that can be inherited by any type in addition to their main parent class or b) build that functionality as a component and attach it to your objects (this is easier if you’re only dealing with actors but it’s not impossible for other types).