Game works in slow motion after the build

Hello everyone I’m creating a WebGL game, and everything is fine in the editor. And when I run the build in the browser on the computer, everything works correctly, but when I run the game in the browser on the phone, the game time is slow, as if the timescale is reduced, but it’s not. Physics and animations also start working in slow motion. How to solve this problem?

Is it just that it’s running at a slow framerate due to the performance of the phone?

No, the proof of this is that if I select “Unscaled delta time” on the animator, the animations start running at normal speed.
By the way, here is a similar topic, but his solution doesn’t suit me:

Add Graphy to your scene. Observe your FPS. If it falls below 60 behaviour will be different depending on how or what gets multiplied by delta time and what isn’t.

Mobiles are easily overtaxed by even the simplest web builds, or by using a feature that desktop happily churn through while mobiles struggle, ie heavyweight postprocessing.

Thank you for your advice, it’s a very handy tool, it’s amazing that I didn’t know about it before. I watched the fps on the phone, it’s really quite low, but that doesn’t explain the time dilation. Of course, it’s possible that the engine is trying to compensate for low fps in this way, but I’ve never encountered this before.

Check Project Settings - Time. There’s a setting relating to “max fixed timestep” or something to that effect. FixedUpdate will stop trying to run multiple times per frame past this threshold which then leads to physics running more slowly.

That’s the same effect as in classic arcade games that were vsync-locked and no delta time was applied to game logic. Every time the game rendered just too much, framerate would drop from 60 to 30 (or 50 to 25) fps and everything ran at half speed for a short while.

You were absolutely right. It’s about maximum timestep. My mistake is that from the very beginning of using unity, I did not correctly understand how it works. In fact, the Maximum timestep limits the maximum frame processing time. And if the frame is drawn longer than this time, unity starts slowing down the time in the game so that the frame can be drawn in the specified time interval. Thank you for your help!