Netcode for GameObjects

導入

参考:

Netcode for GameObjects を使ったオンラインマルチプレイゲーム開発 Tips | Colorful Palette

HelloWorld チュートリアルを改造しつつ触ってみた | Activ8 Tech Blog

使い方

参考:

Netcode for GameObjects で VR マルチプレイゲームを作る | 土鍋で雑多煮

Netcode for GameObjects での値の共有方法まとめ | やまゆ

Network Manager

ドキュメント:

NetworkManager | Netcode for GameObjects 2.12 Manual [Official]

NetworkManager | Unity 2023.2 マニュアル [公式]

Network Variables

ドキュメント:

NetworkVariables | Netcode for GameObjects | 2.12 Manual [Official]

参考:

NetworkVariable を使ってパラメータを共有する | あのゲームの作り方

Network Prefab List

参考:

Network Prefab List not working – reddit

RPC

ServerRPC
旧表記
[ServerRpc]
public void ExampleServerRpc(float x)
{
    Debug.Log("Runs on server");
}Code language: C# (cs)
新表記
[Rpc(SendTo.Server)]
public void ExampleServerRpc(float x)
{
    Debug.Log("Runs on server");
}Code language: C# (cs)
ClientRPC
旧表記
[ClientRpc]
public void ExampleClientRpc(float x)
{
    Debug.Log("Runs on clients");
}Code language: C# (cs)
新表記
[Rpc(SendTo.ClientsAndHost)]
public void ExampleClientRpc(float x)
{
    Debug.Log("Runs on clients");
}Code language: C# (cs)

ドキュメント:

Remote procedure calls (RPCs) | Netcode for GameObjects 2.12 Manual [Official]

RPC | Netcode for GameObjects 2.12.0 Manual [Official]

RPC Params | Netcode for GameObjects 2.12 Manual [Official]

Migrate from UNet to Netcode for GameObjects | Netcode for GameObjects 2.12.0 Manual [Official]

参考:

RpcParams を利用して RPC を受けるクライアントの選択を行う | デニッキ!

Netcode for GameObjects について調べたメモ | これちの Post-it

使い分け

  • NetworkVariable 永続的な状態を同期する
  • RPC 一時的なイベントを通知する

ドキュメント:

RPC vs NetworkVariable | Netcode for GameObjects 2.12 Manual [Official]

OnDestroy

参考:

NetworkList を使うとメモリリークが発生してしまう症状の解決方法 | てぷと

OnDestroy / OnNetworkDestroy / isServer – Unity Discussions

RequireOwnership

Server RPC で使用されていた RequireOwnership プロパティは NGO 2.7 以降で廃止された。

旧表記
[ServerRpc(RequireOwnership = false)]
private void ExampleServerRpc(float x)
{
    Debug.Log("Runs on server");
}Code language: C# (cs)
新表記
[Rpc(SendTo.Server, InvokePermission = RpcInvokePermission.Everyone)]
private void ExampleServerRpc(float x)
{
    Debug.Log("Runs on server");
}Code language: C# (cs)

ServerRpc deprecated requireOwnership, but InvokePermission.Everyone doesn’t work properly – Unity Discussions

ドキュメント

Netcode for GameObjects | Unity Manual [Official]

チュートリアル

Netcode for GameObjects を使ってみよう (Unity Japan)

サンプルで学ぶ co-op ゲームの作り方 (Unity Japan)

Complete Multiplayer Tutorial (Code Monkey)

Project Setup (Dilmer Valecillos)

プレイリスト

Multiplayer with Netcode for GameObjects – YouTube

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA