Creating Udemy Courses for Photon Fusion & Quantum
Our community is full of talented developers who love to share their wisdom! In this blog, we’re sitting down with Oren and Nikola, who have taken their knowledge about Photon Fusion and Photon Quantum to Udemy. Both offer courses for everyone interested in learning multiplayer development. These courses cover various topics, from the basics to advanced techniques, to help build better multiplayer experiences. But rather than just listing courses, we’re sitting down with the guys themselves and letting them talk about why they started to share their knowledge.
In his course, Oren focuses on Fusion and showcases multiplayer game development in Unity. He covers key topics like the client-host model, client-side prediction, server reconciliation, and object pooling. He will guide you through building a lobby matchmaking system, implementing respawn logic, match timers, player chat bubbles, and synchronizing player visuals. Project files and recommended links are provided after each lesson. You can find the course right here!
Nikola on the other hand has his sights set on Quantum, teaching you how to build a battle royale game from scratch using Photon Quantum 3. You’ll learn essential multiplayer concepts, including smooth character movement, player interactions, and game state management, while gaining a solid foundation for scalable game development. By the end, you should be able to confidently apply these techniques to create cool multiplayer experiences, whether for a small prototype or a fully developed game. Click here to check out his course!
If this grabbed your attention, please continue for a first-hand experience in game development. This will surely provide a lot of insights and learnings for everyone who is interested in starting multiplayer development with Photon.
Hey guys, thanks for your time. What exactly inspired you to create Udemy courses on Photon?
Oren: After spending around six months working with Photon Fusion, I gained a whole new understanding of how netcode works in most competitive real-time games. Seeing an industry-standard netcode solution in action and how it handles complex multiplayer challenges was an eye opening experience, as funny as it may sound.
After making a small game with Fusion, I realized there weren’t many learning resources available for it. Since Fusion was such a big leap compared to the other multiplayer networking solutions I had experimented with in Unity, I wanted to be one of the first to create a structured learning resource, helping other developers get started and make the most of this awesome new tech.
Nikola: I have been using various Photon solutions throughout my career, but once I saw Quantum I was stunned at how easy it is to start creating a Multiplayer game with it, and since there was no courses that are covering the basis with Photon Quantum, I decided to do create one.
And what do you find most rewarding about teaching others how to use Photon?
Nikola: I love teaching people in general ( I am a Certified Unity Instructor tho 😀 ) so teaching people about a technology I’m so passionate about was really fulfilling. What I like about Photon (and all of its products) in general is the fact that I don’t have to think about complicated server orchestrations, and that you guys are doing that for us, whilst we as Unity Devs are only focusing on the fun part.
Oren: Seeing the reviews! Although not all of them are 5 stars, I’ve noticed that many of the students who completed the course experienced that same shift in understanding multiplayer development that I talked about earlier. Also, sometimes they’ll post about being stuck on an issue, and before I can even reply, they’ve already figured out how to solve it. It’s always cool to see that it helped at least some of the people to get the hang of netcode and Fusion.
With all the time you have spent with our products, how do you see Photon evolving in the future of multiplayer game development?
Nikola: I think that Photon established itself as a high-end solution for studios making any type of games. What I would personally think would be cool going forward, would be to see something similar to Distributed Authority from Unity.*
Besides that, when the technology gets fast and recognizable enough in the market, I am 100% sure that Photon can develop a fully fledged decentralized multiplayer solution (i.e. that everything would be happening on the blockchain). As someone who has been in the web3 space for some time I really think that that can happen in the next couple of years 🙂
Oren: I’ve been using Photon products since childhood, for 8 years now, specifically starting with PUN 1 and 2 in Unity. From my perspective, it’s incredible that we (the developers) have access to such top-tier technology that saves us countless hours of development time. I believe Photon will continue to narrow the gap between creating multiplayer games and making the process more seamless.
From what I’ve heard, Photon is planning to release Fusion on Unreal, and I believe that would be a total game changer for Unreal developers, I personally can’t wait for it! Having a library like Fusion to simplify multiplayer development in Unreal would be a massive advantage for developers on the platform as well.
*This kind of product is actually already available. Our “Shared” topology” is available on PUN (since 2012; we actually invented it) and Fusion.
What advice would you give to aspiring game developers who are interested in using Photon?
Oren: I personally recommend coming up with a small game idea you’re passionate about and then joining Photon’s official Discord channel. Ask which netcode suits your game and skill level, then roll with their recommendation! Whether it’s Fusion or Quantum, there are plenty of resources to help.
A quick chat in the Photon Discord can save you tons of time and set you on the right path. It may take time to grasp everything, but treat it as a fun challenge, one step at a time. Also, getting involved in the community is a great motivator to share your progress, ask questions, and keep going!
Nikola: Start small! Make a simple multiplayer game that wouldn’t take you more than a month or two to complete using Fusion (since Fusion is a bit easier for established Unity Developers). Then, try and rework the same game in Quantum 😀
Nikola, your course highlights the ability to create multiplayer games with Photon Quantum without writing netcode. Can you elaborate on this aspect and its significance for developers?
Nikola: Yes! When using other networking solutions (like Fusion), you always have to think about what data people need to sync over the network, you’ll have to have at least 3 instances open to test if things are syncing correctly for all actors in the game (host, you and a proxy). That is quite a daunting (but necessary) process. With Quantum, that’s not needed. You just write the code, and if you didn’t write anything non-deterministic in the execution logic, everything will just work no matter where the other person you’re testing with is at.
Your course description emphasizes the importance of ECS design patterns. How does understanding ECS contribute to efficient multiplayer game development?
Nikola: ECS pattern is an integral part of game development and I think everyone should be familiarized with it one way or the other. Unity itself also has the DOTS stack and it’s insanely fast to the traditional MonoBehaviour approach. The good thing is also that if you learn ECS through Unity OR through Quantum, a lot of the concepts will be shared between them (how to structure the code, what goes where etc.).
The course description says that students will learn how to structure projects for long-term scalability. What are some of the key practices you advocate to help students achieve this?
Nikola: Well in all honesty, with quantum, the ECS pattern and the communication from Quantum simulation to the Unity View, kinda enforces splitting things up quite naturally and components and systems, a lot of times are quite independent from one another. It ‘feels’ like true ‘clean’ architecture is being applied there since there are no ‘God’ objects (a very common thing in traditional Unity development) that are doing multiple things at the same time.
Oren, your course focuses on using Photon Fusion to build a 2D online multiplayer game. What makes Photon Fusion a compelling choice for multiplayer game development, and why did you choose to focus on it in your course?
Oren: Photon has years of experience in multiplayer game development, and from my experience, their products are among the most intuitive and easy to work with. I wanted to create a course that is accessible, practical, and easy to follow. I chose Photon Fusion because, out of all the multiplayer solutions I’ve worked with, it stands out as the most robust and developer friendly.
It offers industry-standard networking capabilities while handling the heavy lifting behind the scenes, making development much smoother – ultimately increasing a developer’s chances of successfully publishing their game.
You cover advanced topics like client-side prediction, server reconciliation, and lag compensation. Why are these topics essential for multiplayer game development, and how do you make them understandable for your viewers?
Oren: That was one of the biggest challenges when creating this course. When I first started working with Fusion, it was the reason I discovered these concepts in a real time netcode environment. Learning them even just theoretically was no easy task. That’s why I made it a priority to explain each of these topics clearly before diving into coding. Understanding the theory behind client side prediction, server reconciliation, and lag compensation is crucial, so I dedicated a short video to each concept, breaking it down with on-screen examples.
Additionally, I provide links to various articles that explore how different games implement these techniques, helping viewers get a broader understanding of real-world applications. My goal was to make these complex topics approachable, visual, and easy to grasp before applying them in practice.
Your course teaches students how to build a lobby matchmaking system, including joining specific rooms or creating random ones. Can you describe some of the most important design considerations when building a matchmaking system?
Oren: I wanted to cover the fundamentals of matchmaking to ensure a game is ready for production, even if it’s not overly complex. That’s why I focused on creating rooms, joining random rooms, and joining specific rooms, these are essential building blocks for any multiplayer game. That being said, the design of a matchmaking system heavily depends on the game type.
For example, in a competitive game, it’s highly recommended to integrate a database and segment players based on their stats, such as ELO or skill levels, to ensure balanced matchmaking. While these advanced topics go beyond the basics covered in my course, I wanted to provide a solid foundation so developers can expand their matchmaking system as needed.
Thank you guys for your time and your valuable insights. For the last question, please tell our community about common mistakes or challenges that developers face when starting with multiplayer game development, and what advice do you give to overcome them?
Oren: One of the biggest mistakes I see (and sometimes fall into myself) is trying to build everything from scratch, especially when it comes to creating your own netcode framework. If you’re too focused on reinventing the wheel, you might as well reinvent the computer, its parts, and even harvest the raw materials yourself! There are already battle-tested solutions built by experts with years of experience in handling the complexities of real-time multiplayer. Why not use them?
You’re already using a PC, an operating system you most likely didn’t build, and a game engine—so leveraging existing multiplayer solutions is simply the next logical step. That’s why I always recommend focusing on what truly matters: making your game! use existing tools, learn how they work, and save yourself countless hours solving problems that have already been solved. (Unless building a custom networking system is your passion—in that case, that’s a whole different topic! 😆)
Nikola: I know that when I joined the WW1 Game Series team (team behind Verdun, Tannenberg and Isonzo), it was quite challenging for me to grasp the concept that what I test out in the local environment won’t always be reproduced the same way on the other clients (due to the nature of the Multiplayer architecture), so the best advice I have is to always test out your game simultaneously with at least 2 clients (With Fusion Host I always test with 3) after you think that you have finished writing up your feature.
With Quantum there is not much necessity to test that (due to the nature of Quantum itself) but it’s always good to do that because maybe you as a developer wrote some non-deterministic code directly in the simulation, which can cause desyncs.
Ready to build your own successful multiplayer game? With Fusion and Quantum by Photon, it’s never been easier to integrate cutting-edge multiplayer features into your project. We offer the industry’s most advanced tools, comprehensive support, and everything you need to get started – from downloadable samples to detailed documentation.
Take the first step today – download Fusion or download Quantum and start building. If you’re looking for in-depth assistance, join our Gaming Circle, where you can connect directly with our developers and get expert guidance throughout your journey.
Your multiplayer success story starts here!
Join us on Discord, YouTube, BlueSky , X and LinkedIn – we can’t wait to see what you create!