Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Godot v4.4.dev5 breaks MultiplayerSpawner: Condition "!ResourceLoader::exists(p_path)" is true. #99706

Closed
DomiStyle opened this issue Nov 26, 2024 · 1 comment · Fixed by #99712

Comments

@DomiStyle
Copy link

Tested versions

Reproducible in: Godot v4.4.dev5.mono
Not reproducible in: Godot v4.3.stable.mono

Only tested with C#.

System information

Godot v4.4.dev5.mono - Freedesktop SDK 24.08 (Flatpak runtime) on Wayland - Wayland display driver, Single-window, 2 monitors - Vulkan (Forward+) - dedicated AMD Radeon RX 7900 XTX (RADV NAVI31) - AMD Ryzen 7 5800X3D 8-Core Processor (16 threads)

Issue description

A MultiplayerSpawner where the Auto Spawn List is assigned in Godot 4.4 will not replicate nodes to clients. The Auto Spawn List is reset every time the editor reopens with the following error message:

modules/multiplayer/multiplayer_spawner.cpp:108 - Condition "!ResourceLoader::exists(p_path)" is true.

In addition any MultiplayerSynchronizer errors out on the client with:

ERROR: Node not found: "Game/Network/Player/MultiplayerSynchronizer" (relative to "/root").
   at: get_node (scene/main/node.cpp:1873)
ERROR: Parameter "node" is null.
   at: process_simplify_path (modules/multiplayer/scene_cache_interface.cpp:118)

View in Godot 4.4 (left is host, right is client):
Image

View in Godot 4.3:
Image

(Pill in the back is already present in scene to show that peers are connected)

dev5 should contain #99137, so that didn't seem to fix it.

Steps to reproduce

  1. Open a Godot 4.3 project containing a MultiplayerSpawner in Godot 4.4
  2. Start two instances and observe that everything is working
  3. Clear the Auto Spawn List of the MultiplayerSpawner and assign it again
  4. Start two instances and observe that scenes are not spawned on the client

This works in both directions. An Auto Spawn List assigned in Godot 4.4 will not load correctly in Godot 4.3 until the Auto Spawn List is reassigned.

Minimal reproduction project (MRP)

In the MRP, everything is working as expected since it was edited in Godot 4.3.

To break it: Open the Game.tscn scene and reassign the Auto Spawn List on the MultiplayerSpawner. Add res://Player.tscn.

MultiplayerSpawnerTest.zip

@akien-mga
Copy link
Member

CC @KoBeWi @Faless

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Release Blocker
Development

Successfully merging a pull request may close this issue.

2 participants