How do you make a turn-based game with physics look lag-free?

I’m currently developing a turn-based physics game using Unity Netcode.
I am building the game in such a way that the game logic is executed on the host and then displayed on the client.
The game runs smoothly on the host, but there is a lag on the client, which makes the game look unnatural.
I want to finish all the physics computation on the host and show it on the client without any lag.
Is it possible to achieve the solution I want?

Record the physics state you are interested in and stream it to the observing client. Have the client play it back with a little delay, essentially buffering, so that small hiccups or inconsistencies in data transfer won’t affect the playback quality.

About the unity NetCode, I assume it’s designed for realtime state replication (I haven’t used the latest model, imo unity keeps trying to figure it out), and that’s not what you want. You can still use it as a transfer layer, but you might want to collect and replay the data using some custom manager of your own. Why? Because Unity will try to replicate the objects in real time, potentially dropping old states if they fail to transfer, and replay them immediately, and you will do best if you send every frame’s data one by one, without dropping, and play it back on client when you decide you have buffered enough for a 100% smooth replay.