I’ve finally figured it out. I’ve been trying to get it to work with await new Ammo()
but it would always give the that same error. So I tried a different approach
Ammo().then(ammo => {
engine.runRenderLoop(() => {
scene.render()
})
})
Making the engine wait for ammo before starting the main loop seems to have done the trick. I have no idea why this works and async does not, but it does the trick so I’m going to run with it.
Thanks all for your helpful suggestions!