Hi, Thanks a lot for the kind words and awesome video. As one of the core devs of Fusion and Quantum I wanted to acknowledge (not that you need) how accurately you got everything. This is incredible value for the community. I just wanted to chime on the topic of always using the photon cloud: - it is also the barebones of host and server migration (the cloud is used as a backup of the server networked game state). If you haven't checked this yet, we automatically select a new host and give the last snapshot of the game data from the previous disconnected server. For dedicated server we'll be using this to offer custom server migration (we have a few customers already preparing to use that for long running games, etc). (edit) I saw now that you do mention host migration in host mode. My point is that we are leveraging that also for dedicated servers, etc. As for the integration of this with hosting providers (like Gameye, Unity's Multiplay, Gamelift, Playfab, etc), we are working with most of them to make sure there's always a unique-match-ID that is available both at the server being instantiated, and in the clients, so you can use that as your "session name" in Fusion. In any case, thanks again for the video, and feel free to ask me anything directly here. Erick
Hi I have a question about Fusion and character control. I notice everywhere you mention using your own "NetworkCharacterControllerPrototype" with no actual documentation on what it does (so its kinda hard to use other character controllers. Anyways I also notice there is a NetworkRigidbody component as well. If i have a local controller moving a rigidbody character, then have the networkRigidbody component on it, would that be better/worse/same as having a networkcharactercontrollerprototype?
Thank you for the helpful video! Since there's a lot to take in, I would imagine that a video series on making a multiplayer game from cratch would be an extremely helpful series for young/new developers.
Thanks for the video! Are you likely to make a video demonstrating a dedicated server game? If not, do you know of any good resources that could help us build one?
Thank you so so much. You explained a lot of the concepts really well and inspired me to make some progress debugging my game again. I am using the new input system which has some quirks to it and I’m trying to see if the component should be part of a player prefab or something global in my scene. Right now my inputs move all spawned players in the scene and also, I don’t know which player is the “local player”. I’ll keep at it but I might be asking for a help video :D
@@workthenplay I know this is quite an old comment, but thought I'd give some insight into how you'd do that, the simpliest thing would be to have a reference to a network object for the player and check the hasInputAuthority bool, because that alone will determine if the player prefab is locally controlled or not. The way I setup the game I'm working on is have references to all players spawned in the scene in a game manager, where I also just to save looping through a list a reference to the local player. For the new input system a good idea would be to limit where the events are registered only to the local player (which I guess loops around to the whole check input authority thing), and if you ever have a game that is multiplayer but also single player, don't rely on input authority, the local reference in something like a game manager will definitely help, but an alternative is to check the network runner to see if the game is running in single player mode or not.
Has this project been made available for download yet? I really want to see the details in how you are utilizing the Change delegation as I don't see this used in other provided examples.
Hmmm, I've somehow missed responding to this... 7 months late! So sorry, but yes, you can find the repo here: link.nomoss.co/fusionpong2 Hopefully you've managed without anyway!!
MY feedback is I felt lost in detail most of the way through. I find stopping at every interface and explaining everything about is is quite jarring and makes it difficult to grasp the overall concept. I find it much better when a tutorial takes the simplest use case and flies through it, showing how to do a simple example. Then later you can come back and explain some other scenarios that are catered for or go more in depth. Hope the feedback is helpful.
@@noblesteedau thanks for the reply. I appreciate that. I've watched a couple of other networking tuts and I'm feeling pulled towards fish-net. The implementation is just so much more intuitive, but if i don't come right I might check out fusion again in future.
little update I'm sure you're aware but just to mention because you have it down as a con; fusion now supports webGL! :)
Hi,
Thanks a lot for the kind words and awesome video.
As one of the core devs of Fusion and Quantum I wanted to acknowledge (not that you need) how accurately you got everything. This is incredible value for the community.
I just wanted to chime on the topic of always using the photon cloud:
- it is also the barebones of host and server migration (the cloud is used as a backup of the server networked game state).
If you haven't checked this yet, we automatically select a new host and give the last snapshot of the game data from the previous disconnected server. For dedicated server we'll be using this to offer custom server migration (we have a few customers already preparing to use that for long running games, etc).
(edit) I saw now that you do mention host migration in host mode. My point is that we are leveraging that also for dedicated servers, etc.
As for the integration of this with hosting providers (like Gameye, Unity's Multiplay, Gamelift, Playfab, etc), we are working with most of them to make sure there's always a unique-match-ID that is available both at the server being instantiated, and in the clients, so you can use that as your "session name" in Fusion.
In any case, thanks again for the video, and feel free to ask me anything directly here.
Erick
Hi I have a question about Fusion and character control. I notice everywhere you mention using your own "NetworkCharacterControllerPrototype" with no actual documentation on what it does (so its kinda hard to use other character controllers. Anyways I also notice there is a NetworkRigidbody component as well.
If i have a local controller moving a rigidbody character, then have the networkRigidbody component on it, would that be better/worse/same as having a networkcharactercontrollerprototype?
Thank you for the helpful video! Since there's a lot to take in, I would imagine that a video series on making a multiplayer game from cratch would be an extremely helpful series for young/new developers.
Many thanks for you sharing, it's really useful for me.
WebGL is working :)
Thanks for the video! Are you likely to make a video demonstrating a dedicated server game? If not, do you know of any good resources that could help us build one?
I've found 0 resources on a *dedicated* photon server :/ having trouble finding, myself!
Thank you so so much. You explained a lot of the concepts really well and inspired me to make some progress debugging my game again. I am using the new input system which has some quirks to it and I’m trying to see if the component should be part of a player prefab or something global in my scene. Right now my inputs move all spawned players in the scene and also, I don’t know which player is the “local player”. I’ll keep at it but I might be asking for a help video :D
The reason I want to know the local player is I want to get my cinemamachine camera to follow the local player and no one else. Any ideas?
@@workthenplay I know this is quite an old comment, but thought I'd give some insight into how you'd do that, the simpliest thing would be to have a reference to a network object for the player and check the hasInputAuthority bool, because that alone will determine if the player prefab is locally controlled or not. The way I setup the game I'm working on is have references to all players spawned in the scene in a game manager, where I also just to save looping through a list a reference to the local player. For the new input system a good idea would be to limit where the events are registered only to the local player (which I guess loops around to the whole check input authority thing), and if you ever have a game that is multiplayer but also single player, don't rely on input authority, the local reference in something like a game manager will definitely help, but an alternative is to check the network runner to see if the game is running in single player mode or not.
Has this project been made available for download yet? I really want to see the details in how you are utilizing the Change delegation as I don't see this used in other provided examples.
Hmmm, I've somehow missed responding to this... 7 months late! So sorry, but yes, you can find the repo here: link.nomoss.co/fusionpong2
Hopefully you've managed without anyway!!
in fusion how check masterclient same PUN 2?
Hey there! Thanks for checking out the vid! Our discord is the place to ask this, as the rest of my colleagues are there!
damn no webgl support yet. thats the reason I was trying to get this set up. well thanks for informing me so I didn't spend too much time!!
fusion supports WebGL now.
It does! This video was made juuuuust a little before then! 😄
MY feedback is I felt lost in detail most of the way through. I find stopping at every interface and explaining everything about is is quite jarring and makes it difficult to grasp the overall concept. I find it much better when a tutorial takes the simplest use case and flies through it, showing how to do a simple example. Then later you can come back and explain some other scenarios that are catered for or go more in depth. Hope the feedback is helpful.
@@noblesteedau thanks for the reply. I appreciate that. I've watched a couple of other networking tuts and I'm feeling pulled towards fish-net. The implementation is just so much more intuitive, but if i don't come right I might check out fusion again in future.