
Steamworks SDK 는 cpp로 짜여있습니다. 따라서 이걸 Unity에서 사용하려면 추가적인 플러그인이 필요한데, 가장 유명한건 Steamworks.NET입니다.

네트워크 환경에서의 안정적인 씬 관리 방식과 플레이어를 스폰해보도록 하겠습니다.

Network 환경에서 플레이어들의 Transform 및 Animator 동기화를 통해 모든 사람이 올바른 위치에 있을 수 있도록 하겠습니다.

Unity에서 부모와 자식이 모두 nonkinematic rigidbody 일 때, 부모에게 AddForce를 한다고 해도 자식이 상대위치를 유지하지는 않습니다.

멀티플레이 게임에서 하나의 물건을 동시에 접근하면 안되는 경우가 있습니다.

Unity에서 Host에 연결된 Client는 Host가 연결끊길 경우에 Client들에게 RPC를 통해 알려줄 수 있습니다. 하지만, 예기치 못한 상황에 강제종료를 하게되면 제대로 RPC가 호출되지 않고 Client들은 호스트가 없는 상태에서 게임이 멈춥니다.

멀티플레이 환경에서는 안정성을 위해 매니저 등의 연결을 관리하는 오브젝트들이 들어있는 씬을 언로드/로드 하지 않고, 다른 씬들을 Additive하게 로드하거나 언로드합니다.

게임을 하다보면 이미 적을 죽일 수 있는 투사체가 날라가고 있음에도 해당 적에게 투사체를 날려서 낭비되는 경우가 있습니다. 이를 '오버킬' 이라고 합니다.