A software engine is a core component of a complex software system.
The word "engine" is a metaphor of a car's engine.
Thus a software engine is a complex subsystem.
There is no formal guideline for what should be called an engine, but the term has become widespread in the software industry.
[1][2][3]