@@PrettyFlyGames quick question though are you going to be adding more to this series because I would love to see that! If you are could you make it so that there are teams, an option menu maybe, or a load out? I know its a lot but just asking if you will be advancing this series because I really enjoy it thanks!
@@inquisitive240 I'm planing to add more content to the series. I just took a short break from it to create a Client/Host series as I was getting a ton of questions about that (ruclips.net/video/a1o3Atye6oA/видео.html) I'll add your suggestions to the request list 👍
These are great, keep them coming! I would like to ask about what is possibly coming in the future, some things I would love to see would probably be matchmaking, steam connection, maybe account progress, networked AI would be super cool to see, maybe some lighter UI topics like scoreboard or hp bars above players or attached to the UI Hopefully some of the ideas you like and maybe want to show Anyway thanks for these videos:)
Glad that you are waiting. Will work on a few more ones shortly but I did create a new series so this might also interest you: ruclips.net/video/a1o3Atye6oA/видео.html
Great video! Although, one thing I noticed is that before you show the countdown timer working at 32:19, you don't mention the code that gets added to the Update function!
In 31:20 you could write all this in 2 lines: isReady = !isReady; buttonReadyText.text = isReady ? "Not ready" : "Ready". Ofc it's just the preference, maybe you knew this, but I thought I could share this idea :)
Hey there, just wanted to say thank you for your tutorials, they are informative + very suitable for my side project im working on. If by any chance you will think about adding different classes oles for players with different abilities to use in-game before game starts, or making a round system inside of single session, this would be really useful and unique content, cause i cant seem to find anything relatable to this subject on fusion, except one demo project on photon quantum. Wish you all the luck with your next projects!
Hey there! Glad that you liked the tutorials 🙏 I'll add those the request list and we'll see in the future what might be added. I'm not sure what you mean with "making a round system inside of single session"?
@@PrettyFlyGames Lets take CSGO as an example. After some win codition is met by any team, round is over, and new one is started, without restarting the whole session and keeping in mind stuff that happened in previous round, so game manager can act upon it, i.e. winners get +3k$ each in new round, while losers get only 1.5k$ each.
Thanks 🙏 You would shutdown the Network runner. That will exit from the session and then you can enter the main menu again to see the list of sessions.
I've done a video about Quickplay for Quantum which works in the same way as Photon Fusion when it comes to this. It can easily be extended with more matchmaking parameters. Check it out ruclips.net/video/womQ9Ygnmo4/видео.html
Hey there! I think you need to provide a bit more information, so the join button next to game session isn't wokring? Is that what you mean? What does it say in the console, is there any error reported?
Hi! I've already made a video describing the different modes, you can watch it here: ruclips.net/video/yrXQSM1cleU/видео.html I'll add those other things the request list.
Do you mean that the other players do not show up in the scene when they join? If yes, that would be a problem since they are not in the same session then.
Your videos are great, do you offer courses or additional materials? Would you like to know how to publish a Fusion to an Amazon EC2 server? do you have any tips?
Glad that you liked them 🙏 Sorry I don't have any courses or such, there are a few jam projects on my Patreon site www.patreon.com/prettyflygames but they are not related to multiplayer. I'm working on a new series for server mode but it is not ready yet. Publishing to EC2 server shouldn't be any problem really, just build it as dedicated server in Unity and you should be good to go.
how can I check the client is not ready and the host can't start the game. Like the host will receive a notification when any the client is not ready yet . I want to have a ready room like this :v
The easiest way to do it is to react to RPC_SetReady and check if isReady is true, then check all other players if they are ready also and then start the game.
Great videos! ha ~ I hava a problem ..so I make an UI to select player , the UI in the game scene , so after I select player and click button, the UI destroy , I get a playerID,start to connect server.The problem is if server choose a character ,other people spawn the same character.. How Can I spawn character base on the playerID(I have player prefab list)
Thanks 🙏 You would solve that in the same way as with the dynamic body parts but instead you use different models. Check out this video ruclips.net/video/TWBnzH7ppvU/видео.html
@@PrettyFlyGames Thanks,yes,I saw the video ,but it's differect from my situation.I use OnPlayerJoind ,and NetworkObject networkPlayer = runner.Spawn(playerPrefabs[roleIndex], spawnPosition, initQuaternion, player); roleIndex is from UI script,roleIndex always equle first join player's value.
@@davidzheng6324 the concept is still the same though. The clients cannot change anything on their own and they need to send an RPC call to the server about the character they wish to use. The host/server then updates a networked variable about which character they have selected and the clients will then react to that when the networked variable updates. I suggest that you join our Discord if you need more assistance as it is easier to provide help there discord.gg/AyYtKXT
@@PrettyFlyGames Yes, I think I know how to solve this problem..after read photon fusion documentation and your video again,haha.Thank you very much ,I will join the Discord.Thanks again.😄
@@davidzheng6324 great! It takes a bit of time to get into the system but the sooner you realize that the host is the king and everyone needs to talk to the king to make things happen the better :) See you on the Discord server.
This tutorial series is for host/client mode but also works for server/client. You'll probably need to make some changes for it to work in shared mode.
That is a hard question to answer. It probably depends more on your needs and what you like. Photon Fusion is more feature rich with support for Host migration, shared mode and better physics handling with rollback and such. I also believe that Photon Fusion is better at handling large scale scenes with many players, heck even Unity promotes it on their site unity.com/demos/photon-fusion-battle-royale . But netcode is still good and could be a great option depending on your needs.
I hope in the future you can also do a tutorial to create a Photon Fusion Dedicated Servers, thanks for your videos it's great, I am developing a game based on your instructions it will be successful and when received get paid i can thank you via paypal hahahaha
Glad that you like the tutorials. I've got plans to make a separate series for dedicated servers later on. I wish you good luck with your game and hopefully it will be a smash hit 💪
Please create a lesson on how to synchronize the position (and status) of objects on the stage (for players who joined not at the very beginning) - for example, if the objects on the map are generated randomly.
I would assume that it shouldn't be very complicated. Add a network object to your randomly generated objects. Ensure that you spawn them from the host and everything else will be taken care of automatically for you even when a new player joins.
the fact that he gives us the whole friggin project for free is just amazing so underrated plus his tutorials are so easy and informative!
Thank you so much for your kind words 🙏
@@PrettyFlyGames no problem!
@@PrettyFlyGames quick question though are you going to be adding more to this series because I would love to see that! If you are could you make it so that there are teams, an option menu maybe, or a load out? I know its a lot but just asking if you will be advancing this series because I really enjoy it thanks!
@@inquisitive240 I'm planing to add more content to the series. I just took a short break from it to create a Client/Host series as I was getting a ton of questions about that (ruclips.net/video/a1o3Atye6oA/видео.html)
I'll add your suggestions to the request list 👍
@@PrettyFlyGames Take your time, and thank you so much! This series is already great as it is!
These are great, keep them coming!
I would like to ask about what is possibly coming in the future, some things I would love to see would probably be matchmaking, steam connection, maybe account progress, networked AI would be super cool to see, maybe some lighter UI topics like scoreboard or hp bars above players or attached to the UI
Hopefully some of the ideas you like and maybe want to show
Anyway thanks for these videos:)
Glad that you liked the videos!
Thanks for the suggestions, I've added them to the request list.
Cheers fam, you make some solid content.
Thank you so much 🙏
I'm really really waiting for the next episode
Glad that you are waiting. Will work on a few more ones shortly but I did create a new series so this might also interest you: ruclips.net/video/a1o3Atye6oA/видео.html
Great video! Although, one thing I noticed is that before you show the countdown timer working at 32:19, you don't mention the code that gets added to the Update function!
That is very possible that something slipped out in the editing process :)
Keep it up
Will do
In 31:20 you could write all this in 2 lines:
isReady = !isReady;
buttonReadyText.text = isReady ? "Not ready" : "Ready".
Ofc it's just the preference, maybe you knew this, but I thought I could share this idea :)
Yes, that is possible but for some reason I find the ? operator not that readable, but maybe that is just me :)
@@PrettyFlyGames Sure, I understand. It became much more readable for me after I was using it for some time.
@@maciejmikos8338 I might have to give it a try in some projects again and see how I feel about it now :)
Hey there, just wanted to say thank you for your tutorials, they are informative + very suitable for my side project im working on.
If by any chance you will think about adding different classes
oles for players with different abilities to use in-game before game starts, or making a round system inside of single session, this would be really useful and unique content, cause i cant seem to find anything relatable to this subject on fusion, except one demo project on photon quantum.
Wish you all the luck with your next projects!
Hey there!
Glad that you liked the tutorials 🙏
I'll add those the request list and we'll see in the future what might be added.
I'm not sure what you mean with "making a round system inside of single session"?
@@PrettyFlyGames Lets take CSGO as an example. After some win codition is met by any team, round is over, and new one is started, without restarting the whole session and keeping in mind stuff that happened in previous round, so game manager can act upon it, i.e. winners get +3k$ each in new round, while losers get only 1.5k$ each.
@@xirouz9235 Ahh then I understand! I've added that to the list also,
Great tutorial... have a question: what should i do if i want to quit the entire session and go back to the main lobby menu?
Thanks 🙏
You would shutdown the Network runner. That will exit from the session and then you can enter the main menu again to see the list of sessions.
Are we going to see matchmaking multiplayer system in this tutorial series ?
I've done a video about Quickplay for Quantum which works in the same way as Photon Fusion when it comes to this. It can easily be extended with more matchmaking parameters. Check it out ruclips.net/video/womQ9Ygnmo4/видео.html
Excellent tutorial, do you know if Photon Fusion has option for friends list? or would you have to implement it with chat?
Thanks!
No, AFAIK there is no such thing as a friend list etc in Photon Fusion, that needs to be handled in other ways.
When you gonna upload another part?
Working on something new which has taken a bit longer than planned.
Hey! So i downloaded the project file. and when i tried it. it didn't work the join button won't worked and i changed the fusion ID and it won't work
Hey there!
I think you need to provide a bit more information, so the join button next to game session isn't wokring? Is that what you mean? What does it say in the console, is there any error reported?
I hope you can make a video and explain what's difference from host vs shared and how to pick an item or open a door
Hi!
I've already made a video describing the different modes, you can watch it here: ruclips.net/video/yrXQSM1cleU/видео.html
I'll add those other things the request list.
when we can get full courrse on patreon :D
🤔
Does it only connect when on the same network? How can I host to WAN so players can connect from anywhere
Nope, it actually only works with connection to WAN. Without a WAN connection I would assume that it will not work at all.
is there a problem? when i join from the "Ready" scene it doesnt show who joined
Do you mean that the other players do not show up in the scene when they join? If yes, that would be a problem since they are not in the same session then.
@@PrettyFlyGames No when we start the game it doesnt tell that we joined
Your videos are great, do you offer courses or additional materials? Would you like to know how to publish a Fusion to an Amazon EC2 server? do you have any tips?
Glad that you liked them 🙏
Sorry I don't have any courses or such, there are a few jam projects on my Patreon site www.patreon.com/prettyflygames but they are not related to multiplayer.
I'm working on a new series for server mode but it is not ready yet. Publishing to EC2 server shouldn't be any problem really, just build it as dedicated server in Unity and you should be good to go.
@@PrettyFlyGames 🙏🙏🙏😍😍😍
how can I check the client is not ready and the host can't start the game. Like the host will receive a notification when any the client is not ready yet . I want to have a ready room like this :v
The easiest way to do it is to react to RPC_SetReady and check if isReady is true, then check all other players if they are ready also and then start the game.
How many tutorials are left in the series?
I don't know, but I do plan to start a new series so then this one will not get as much love but I still think I will add content to it.
Great videos! ha ~ I hava a problem ..so I make an UI to select player , the UI in the game scene , so after I select player and click button, the UI destroy , I get a playerID,start to connect server.The problem is if server choose a character ,other people spawn the same character.. How Can I spawn character base on the playerID(I have player prefab list)
Thanks 🙏
You would solve that in the same way as with the dynamic body parts but instead you use different models. Check out this video ruclips.net/video/TWBnzH7ppvU/видео.html
@@PrettyFlyGames Thanks,yes,I saw the video ,but it's differect from my situation.I use OnPlayerJoind ,and NetworkObject networkPlayer = runner.Spawn(playerPrefabs[roleIndex], spawnPosition, initQuaternion, player); roleIndex is from UI script,roleIndex always equle first join player's value.
@@davidzheng6324 the concept is still the same though. The clients cannot change anything on their own and they need to send an RPC call to the server about the character they wish to use. The host/server then updates a networked variable about which character they have selected and the clients will then react to that when the networked variable updates.
I suggest that you join our Discord if you need more assistance as it is easier to provide help there discord.gg/AyYtKXT
@@PrettyFlyGames Yes, I think I know how to solve this problem..after read photon fusion documentation and your video again,haha.Thank you very much ,I will join the Discord.Thanks again.😄
@@davidzheng6324 great! It takes a bit of time to get into the system but the sooner you realize that the host is the king and everyone needs to talk to the king to make things happen the better :)
See you on the Discord server.
Is it made with "Shared" right?
This tutorial series is for host/client mode but also works for server/client. You'll probably need to make some changes for it to work in shared mode.
Which one is better fusion or netcode?
That is a hard question to answer. It probably depends more on your needs and what you like. Photon Fusion is more feature rich with support for Host migration, shared mode and better physics handling with rollback and such. I also believe that Photon Fusion is better at handling large scale scenes with many players, heck even Unity promotes it on their site unity.com/demos/photon-fusion-battle-royale .
But netcode is still good and could be a great option depending on your needs.
I hope in the future you can also do a tutorial to create a Photon Fusion Dedicated Servers, thanks for your videos it's great, I am developing a game based on your instructions it will be successful and when received get paid i can thank you via paypal hahahaha
Glad that you like the tutorials.
I've got plans to make a separate series for dedicated servers later on. I wish you good luck with your game and hopefully it will be a smash hit 💪
@@PrettyFlyGames thanks :3
Hi dude pls show invector third person tutorial with fusion tutorial.
Hi!
Do you mean a 3rd person camera style tutorial, sort of like Fortnite?
@@PrettyFlyGames yes please
Please create a lesson on how to synchronize the position (and status) of objects on the stage (for players who joined not at the very beginning) - for example, if the objects on the map are generated randomly.
I would assume that it shouldn't be very complicated. Add a network object to your randomly generated objects. Ensure that you spawn them from the host and everything else will be taken care of automatically for you even when a new player joins.
How to despawn or delete other players by host
The host can despawn a network object by calling Runner.Despawn(NetworkObject);
Disconnect a player by calling Runner.Disconnect(PlayerRef);
Please do server auth
Do you mean server authentication or authoritative server?
@@PrettyFlyGames authoritative server. It is more expensive but have to do it for any game that is competitive at all otherwise cheating is too easy.
add a chat for players to communicate 👊🏻😎❤️🔥
Thanks for the suggestion, I've added it to the request list.