Do we speak of loading from mass storage to main memory, or from main memory to video memory? Do we speak of a general game engine (as "engine" usually is understood) or of an engine dedicated to a specific game or at least genre? Do we speak of a game with levels or other breakpoints? Do we speak of PCs or other platforms? Do we speak of a game with very large resources, e.g. virtually indefinite terrain? Is the path through the game world fixed, reverse walkable, or is there an open world? What kind of mass storage the resources are eventually to load from? ...
Obviously, there cannot be a yes / no answer to the OP. Even if all of the above issues are answered, I probably would still reply "it depends". My solution to this problem looks generally like so:
* dedicated loading / unloading for specific resource kinds (e.g. streaming for terrain in seamless large worlds)
* for all other resource kinds: loading / unloading by triggering, chosen by the designer: on game start/end, on level N start/end, on demand, ... (where "demand" may include scripted request and in-game triggers)
* also, the designer may choose whether a resource is managed by a LRU cache