Thanks for watching! Watch Part 2: ua-cam.com/video/rj0DaT8v17A/v-deo.html Download the Starter Project: doc.photonengine.com/fusion/current/tutorials/multi-climb Photon Dashboard: dashboard.photonengine.com/ Tutorial Series Playlist: ua-cam.com/play/PLAkOwsOxpAvriKhkf8LQKB9DPONAfSEya.html
I like how this is low-level enough that I can learn the different steps required for network gameplay while being abstract enough to allow fast iteration!! Keep up the good work!
Thanks for the feedback! There is more content to come and we will consider your suggestion, but in the meantime consider taking a look at the Shared Mode Basics tutorial on our website (if you haven't already): doc.photonengine.com/fusion/current/tutorials/shared-mode-basics/overview We also just released our Fusion Quiz Network Sample which is a great sample to get started with Fusion Shared Mode: doc.photonengine.com/fusion/current/game-samples/fusion-quiz-network
I'm a noob, I'm up to the inputmanager script section and my visual studio isn't doing what the one in the vid does. So when I try and do the quick actions nothing happens or comes up. That hasn't been a huge drama up to this point as I can just pause and manually copy from the video however in this step the lines go off the edge of the video so I can't see what's there to copy it. Any idea why my VS isn't behaving the same? Or is there somewhere I can pull the code from to get me through this step?
I figured out what was going wrong, in unity I needed to go into edit > preferences > external tools and set the external script editor as visual studio. I'm not sure if you did this and I missed it but thought I'd update here in-case anyone else runs into the issue. :)
honestly its very owerwhelming and alot complexity for new ppls. As new to Fusion (almost new to multiplayer but still) - there is so much components and classes that u adding and start to use right away like its obvious, but i have only questions - "what is this?", "how it works?" , etc, insane amount of new terminology and classes that wasn't explained at all.
Sorry that you feel things were underexplained! The idea behind this series was to cover the basics but still move at a pace that allows us to build a functional game within a few episodes, with more of a focus on the overarching concepts and how things fit together than on what each component does/is used for. It's also easier for us to keep text-based documentation updated than it is to update videos like this in case certain functionality changes. If you're looking for explanations of individual components, keeping our comprehensive documentation handy while watching these videos and reading about anything you need more info about is probably the way to go: doc.photonengine.com/fusion/current/fusion-intro
This is great, but it's too complicated. When using Pun you only need like 3 additional lines of code and then slap on some components and there you have a multiplayer game
It IS complicated But if you follow along a few times you grasp the fundamentals that allow you to replicate these scenarios That in turn when done a few more times gives you the knowledge to write your own systems He does most of this from scratch so it's lucrative to learn this way Also From my understanding These tutorials are.vetted by the creators of the system So you know your doing things the intended way and professionally
Thank you for the suggestion! We will make more tutorials in the future. In the meantime have you seen our Fusion Karts Sample? assetstore.unity.com/packages/templates/tutorials/karts-multiplayer-photon-fusion-213885 We also recently had a stream where we did a post mortem on our upcoming Quantum Racing sample. There are a lot of great takeaways for handling vehicles for multiplayer in the stream: ua-cam.com/video/YdVnrAFGkHE/v-deo.html For Circle Members we also have Vehicle samples for Quantum: doc.photonengine.com/quantum/current/game-samples/arcade-racing/overview doc.photonengine.com/quantum/current/game-samples/keo-vehicular-combat doc.photonengine.com/quantum/current/technical-samples/vehicle-physics
@@PhotonEngine quantum is ecs. Its complex for me. I wanted simple . I also checked battle royal project but the code is very large. Overwhelming 🤕. Is there a very basic project that just explains most aspects of fusion?. It will be very nice if you make a tutorial just like this but everything from scratch. Or using any existing non multiplayer controller and make it multiplayer. Large code base and complexity is barrier to entry. I have no knowledge about multiplayer at all. Any guidance will be very helpful thanks 🙏.
@@ashdev >Or using any existing non multiplayer controller and make it multiplayer. We don't do this because this is the wrong approach when creating a multiplayer game. If you want to build a multiplayer game right, that plays well and smoothly, you start with multiplayer tech from day one. And Vehicle Physics is one of the most complex things to do right in multiplayer. There is no simple solution for "turn my single-player vehicle physics in unity multiplayer" (that plays right/well).
Very cool tutorial thanks. I have a question, why is the camera logic part of the networking logic? As each client has its own camera, and camera shouldn't impact gameplay/logic, I thought the camera would not be networked, and so you would implement camera logic like in any Unity project? (each client has only one camera, positioned based on its own character and inputs, so no networking at all)
Thanks for watching! You are correct-each client has its own camera, and the camera logic itself should not be (and in fact _is_ not) networked. If you look at the CameraFollow class, none of the code in there has anything to do with networking and it could just as well be used in a singleplayer game. However, we do network the mouse input (like other input) because the player's view direction needs to be synchronized so that the server can correctly execute logic that depends on/is affected by it (such as calculating the movement direction or raycasting in the correct direction for things like grappling and shooting).
I tried following and it's all nice and well but what if I want to make my own lobby and game scene...Like it's easy to do when you have Menu class that's already made but that's not really a tutorial is it. Is there somewhere a simple no nonsense guide on Photon Fusion where when I create a game and transition to game scene where I can spawn a player. I tried this tutorial but without Menu Class you provided GameLogic is not getting called. How difficult it is to simply when I StartGame and transition to a next scene that I can simply debug.log(player spawned) or something like that...Enough with abstract bullshit classes
Is there some secret code in all of yours Menu classes and interfaces that makes GameLogic actually be called and actually spawn a player? Because when I simply write the same code as in Asteroid project simple lobby code it doesn't get called...
We have plenty of samples showing how to transition from a menu scene into a gameplay scene such as the Asteroids Simple Sample. Player spawning is done via the INetworkRunnerCallbacks which is explained in the video here and also in the Fusion starter tutorial on our websites.
Troubleshooting coding issues is difficult via UA-cam comments, so if you're still looking for help resolving this please join the community Discord server (you can find the link in your Photon Dashboard) and post a question there. To make it as easy as possible to help you, please include: - The code that's not working as expected. What is it doing or not doing? - Any errors you're getting. - What you mean by "is null". Are you getting a NullReferenceException on that line, is GetInput always returning false, or does the _input_ never contain your key presses?
I downloaded the project and ran it it works fine but when some other person from US try to enter the room they can not , i am from india and my friends from here can join but not from US , Kindly help
Are you clicking "quick play"? That will create or join a lobby in the region that is selected in the settings menu (which defaults to "best," aka the closest one to you ping-wise). If you and your American friend both click "quick play" you'll be on different regions and so you'll be put in separate lobbies. However, if you create a lobby and send your friend the room code, they should be able to join your lobby via the "party menu" button. Hope that helps!
Thanks for watching! If you're getting an error and looking for help to solve it, you'll need to provide more context (what is the full error message, which line of code is producing it, etc). Double check that you don't have any typos on that line, and consider joining our Discord server as it's much easier to troubleshoot issues there than in the UA-cam comments section.
Can we get an actual tutorial on how to make a real game without using a starter project?? I still cant get the runner initialized and changing scenes.. your documentation is almost non existent
@@PhotonEngine You're just 'doing' things without explaining. You write lines and lines of code, then speed it up without explaining how ANY of the methods in the Fusion library work. You just gloss over all the key important aspects and make it way too fast to digest for someone who's actually trying to apply this to a real project that hasn't used fusion.
Thanks for watching!
Watch Part 2: ua-cam.com/video/rj0DaT8v17A/v-deo.html
Download the Starter Project: doc.photonengine.com/fusion/current/tutorials/multi-climb
Photon Dashboard: dashboard.photonengine.com/
Tutorial Series Playlist: ua-cam.com/play/PLAkOwsOxpAvriKhkf8LQKB9DPONAfSEya.html
These videos truly highlight the power of Photon services. Great networking, easy implementation, freedom for developers. Keep on rocking Photon crew!
Thanks for watching and for the kind words! I'll make sure to pass them on to the team ❤
This tutorial really helped me to learn how to use Fusion! Keep the quality content coming 😉
Where have I seen this guy before? 🤔
@@paradonmusic ඞ
@@paradonmusic i wonder where
Hmmm i wonder where... I feel like this person is the one who made this tutorial, but i'm probably wrong ;)
Is this you Tom?
Grats on employment with Photon
Proud of you sir 👏
We do love photon around here
I like how this is low-level enough that I can learn the different steps required for network gameplay while being abstract enough to allow fast iteration!! Keep up the good work!
I'm glad it's hitting that sweet spot, thanks for watching!
Keep it up! Looking forward for more Fusion tutrorials
Thanks for watching! Here is the second part of the series: ua-cam.com/video/rj0DaT8v17A/v-deo.html
Dude it’s so hard to make multiplayer but this makes it easier
I'm glad it's been helpful, thanks for watching!
Awesome tutorial, absolutely loved it!
Finally, Officiel tuto for Fusion2! Thank you !! Is it possible to make another tuto for Shared Mode as Host ??
Thanks for the feedback! There is more content to come and we will consider your suggestion, but in the meantime consider taking a look at the Shared Mode Basics tutorial on our website (if you haven't already): doc.photonengine.com/fusion/current/tutorials/shared-mode-basics/overview
We also just released our Fusion Quiz Network Sample which is a great sample to get started with Fusion Shared Mode: doc.photonengine.com/fusion/current/game-samples/fusion-quiz-network
you guys are amazing! keep it up !❤❤
Nice tutorial
Glad you liked it!
I'm a noob, I'm up to the inputmanager script section and my visual studio isn't doing what the one in the vid does. So when I try and do the quick actions nothing happens or comes up. That hasn't been a huge drama up to this point as I can just pause and manually copy from the video however in this step the lines go off the edge of the video so I can't see what's there to copy it. Any idea why my VS isn't behaving the same? Or is there somewhere I can pull the code from to get me through this step?
I figured out what was going wrong, in unity I needed to go into edit > preferences > external tools and set the external script editor as visual studio. I'm not sure if you did this and I missed it but thought I'd update here in-case anyone else runs into the issue. :)
honestly its very owerwhelming and alot complexity for new ppls. As new to Fusion (almost new to multiplayer but still) - there is so much components and classes that u adding and start to use right away like its obvious, but i have only questions - "what is this?", "how it works?" , etc, insane amount of new terminology and classes that wasn't explained at all.
Sorry that you feel things were underexplained! The idea behind this series was to cover the basics but still move at a pace that allows us to build a functional game within a few episodes, with more of a focus on the overarching concepts and how things fit together than on what each component does/is used for. It's also easier for us to keep text-based documentation updated than it is to update videos like this in case certain functionality changes.
If you're looking for explanations of individual components, keeping our comprehensive documentation handy while watching these videos and reading about anything you need more info about is probably the way to go: doc.photonengine.com/fusion/current/fusion-intro
This is great, but it's too complicated. When using Pun you only need like 3 additional lines of code and then slap on some components and there you have a multiplayer game
Maybe the intent here is to allow more control and flexibility. Usually less code means less freedom. But I font know PUN so maybe it is easier
It IS complicated
But if you follow along a few times you grasp the fundamentals that allow you to replicate these scenarios
That in turn when done a few more times gives you the knowledge to write your own systems
He does most of this from scratch so it's lucrative to learn this way
Also
From my understanding
These tutorials are.vetted by the creators of the system
So you know your doing things the intended way and professionally
@@SandorClegane-TheHound It's a lot easier now that I understand stuff more ;)
Thank you! how to load a scene and keep score, runner etc.. when an object is triggered?
can you make tutorial on multiplayer vehicles? or converting any existing movements to work in multiplayer.
Thank you for the suggestion! We will make more tutorials in the future. In the meantime have you seen our Fusion Karts Sample? assetstore.unity.com/packages/templates/tutorials/karts-multiplayer-photon-fusion-213885
We also recently had a stream where we did a post mortem on our upcoming Quantum Racing sample. There are a lot of great takeaways for handling vehicles for multiplayer in the stream: ua-cam.com/video/YdVnrAFGkHE/v-deo.html
For Circle Members we also have Vehicle samples for Quantum:
doc.photonengine.com/quantum/current/game-samples/arcade-racing/overview
doc.photonengine.com/quantum/current/game-samples/keo-vehicular-combat
doc.photonengine.com/quantum/current/technical-samples/vehicle-physics
@@PhotonEngine quantum is ecs. Its complex for me. I wanted simple . I also checked battle royal project but the code is very large. Overwhelming 🤕.
Is there a very basic project that just explains most aspects of fusion?. It will be very nice if you make a tutorial just like this but everything from scratch. Or using any existing non multiplayer controller and make it multiplayer.
Large code base and complexity is barrier to entry. I have no knowledge about multiplayer at all.
Any guidance will be very helpful thanks 🙏.
@@ashdev
>Or using any existing non multiplayer controller and make it multiplayer.
We don't do this because this is the wrong approach when creating a multiplayer game. If you want to build a multiplayer game right, that plays well and smoothly, you start with multiplayer tech from day one.
And Vehicle Physics is one of the most complex things to do right in multiplayer. There is no simple solution for "turn my single-player vehicle physics in unity multiplayer" (that plays right/well).
@@erickpassos ok got it.
I am waiting for the continuation and completion of this topic.
Thanks for your patience! We've just uploaded the second part: ua-cam.com/video/rj0DaT8v17A/v-deo.html
Very cool tutorial thanks. I have a question, why is the camera logic part of the networking logic? As each client has its own camera, and camera shouldn't impact gameplay/logic, I thought the camera would not be networked, and so you would implement camera logic like in any Unity project? (each client has only one camera, positioned based on its own character and inputs, so no networking at all)
Thanks for watching! You are correct-each client has its own camera, and the camera logic itself should not be (and in fact _is_ not) networked. If you look at the CameraFollow class, none of the code in there has anything to do with networking and it could just as well be used in a singleplayer game.
However, we do network the mouse input (like other input) because the player's view direction needs to be synchronized so that the server can correctly execute logic that depends on/is affected by it (such as calculating the movement direction or raycasting in the correct direction for things like grappling and shooting).
Haha wish i'd of seen this a few days ago
I tried following and it's all nice and well but what if I want to make my own lobby and game scene...Like it's easy to do when you have Menu class that's already made but that's not really a tutorial is it. Is there somewhere a simple no nonsense guide on Photon Fusion where when I create a game and transition to game scene where I can spawn a player. I tried this tutorial but without Menu Class you provided GameLogic is not getting called. How difficult it is to simply when I StartGame and transition to a next scene that I can simply debug.log(player spawned) or something like that...Enough with abstract bullshit classes
Is there some secret code in all of yours Menu classes and interfaces that makes GameLogic actually be called and actually spawn a player? Because when I simply write the same code as in Asteroid project simple lobby code it doesn't get called...
We have plenty of samples showing how to transition from a menu scene into a gameplay scene such as the Asteroids Simple Sample. Player spawning is done via the INetworkRunnerCallbacks which is explained in the video here and also in the Fusion starter tutorial on our websites.
You ever get this set up and working etc?
@@W1LdnKai I did. It was one line of code in Arguments when Spawning. That's why I couldn't get even the Debug.Log through
Does anyone know any good tutorial to implement this but with the Meta Avatars SDK or with ReadyPlayerMe or any other good avatar provider?
i think, PUN is still Better
Fusion integration on Unity is like Hell, worse than Unity Networking (NetCode)
where is the tutorial for host seft server for photon fusion and chat thanks
I'm making an online game and I'm having a problem on input collisionenter
we need this, how to get list of players in room and how to invite friend thanks
Is this tutorial using shared mode or host mode ?
Did u get the answer?
Please let me know as well
This project is built with Host Mode.
6h looking why if (GetInput(out NetInput input)){} is null.... still nothing.
Troubleshooting coding issues is difficult via UA-cam comments, so if you're still looking for help resolving this please join the community Discord server (you can find the link in your Photon Dashboard) and post a question there. To make it as easy as possible to help you, please include:
- The code that's not working as expected. What is it doing or not doing?
- Any errors you're getting.
- What you mean by "is null". Are you getting a NullReferenceException on that line, is GetInput always returning false, or does the _input_ never contain your key presses?
All i see is no cameras rendering black screen. When I am trying to playtest the game at 4:33.. No errors
Maybe you have no main camera and directional light in your scene?
Does it works with Unity WebGL?
No.
Did anyone else slow the video down to 0.25x at 5:33? I had no idea about that shortcut!
You can even press alt+enter then enter again to get all that super fast.
I downloaded the project and ran it it works fine but when some other person from US try to enter the room they can not , i am from india and my friends from here can join but not from US , Kindly help
Are you clicking "quick play"? That will create or join a lobby in the region that is selected in the settings menu (which defaults to "best," aka the closest one to you ping-wise). If you and your American friend both click "quick play" you'll be on different regions and so you'll be put in separate lobbies.
However, if you create a lobby and send your friend the room code, they should be able to join your lobby via the "party menu" button. Hope that helps!
@@PhotonEngine same problem here and the solution above not working
Yoooo its tom
👀
Invalid token '=>'?
Thanks for watching! If you're getting an error and looking for help to solve it, you'll need to provide more context (what is the full error message, which line of code is producing it, etc).
Double check that you don't have any typos on that line, and consider joining our Discord server as it's much easier to troubleshoot issues there than in the UA-cam comments section.
tom weiland w
A common occurrence 😏
Can we get an actual tutorial on how to make a real game without using a starter project?? I still cant get the runner initialized and changing scenes.. your documentation is almost non existent
Change to FishNet. It has been revolutionary for us. Photons documentation has been lacking for years.
awful tutorial
We're sorry you didn't like it-what can we do to improve the next one?
@@PhotonEngine You're just 'doing' things without explaining. You write lines and lines of code, then speed it up without explaining how ANY of the methods in the Fusion library work. You just gloss over all the key important aspects and make it way too fast to digest for someone who's actually trying to apply this to a real project that hasn't used fusion.