I'm not really using a game engine for this, just C# + OpenTK 4, a framework that handles input/graphics. Kind of like how Minecraft is Java + LWJGL. I am also using SoLoud as my sound library, it's pretty useful.
For monsters/entities, I'm doing an entity component system. I'm not sure if I'm doing it "correctly", but at the very least entities are made up of components, with behaviours instead of inheriting behaviours from a superclass. Like the player is made up of a Player component, a Health component and a Physics component right now.
If you check the link to my bluesky on my creator page I've got videos on there of zombies that walk around and attack the player. Also wrote an importer for blockbench so I can create/animate entity models way faster.