{"id":545,"date":"2022-06-28T10:00:00","date_gmt":"2022-06-27T23:00:00","guid":{"rendered":"https:\/\/studios.nomoss.co\/blog\/?p=545"},"modified":"2023-12-13T15:11:22","modified_gmt":"2023-12-13T04:11:22","slug":"photon-fusion-101","status":"publish","type":"post","link":"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/","title":{"rendered":"Photon Fusion 101"},"content":{"rendered":"\n<p>A while back, Marty, our studio\u2019s senior developer, ran a Photon Fusion workshop on our<a href=\"https:\/\/discord.gg\/Ka8suskKcs\"> community discord server. <\/a>The<a href=\"https:\/\/youtu.be\/lLSv1memaBA\"> recap video is available on Youtube<\/a>, but we thought a blog post might make the content more accessible and easily referable! (And no, we\u2019re not affiliated with Photon, it\u2019s just a tool we\u2019ve found extremely useful in our projects and felt would be valuable to the game development community!)<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"nv-iframe-embed\"><iframe loading=\"lazy\" title=\"Photon Fusion 101\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/lLSv1memaBA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/div>\n<\/div><\/figure>\n\n\n\n<p>Without further ado, here\u2019s an abridged transcript of our Photon Fusion 101 workshop, sharing what Fusion is, the pros and cons to it as a networking tool, and an overview of the different network topologies it supports. We also have a public Photon Sample Project you can check out! Read on to learn more!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">What is Photon Fusion?<\/h2>\n\n\n\n<p>Photon Fusion is a networking framework, which is a fancy way of saying it&#8217;s a tool that allows you to make a game where lots of different people on different devices can play the game together in some way, shape or form. Fusion is a brand new stack that is currently still in beta, but is still stable enough to use in a production workflow.&nbsp;<\/p>\n\n\n\n<p>Fusion is an evolution of some of the older Photon products such as PUN and BOLT. PUN is older and likely one of the most well-known networking solutions used by Unity, and was very much client authoritative in design. BOLT on the other hand, is a more server authoritative networking solution. Fusion brings both of those concepts together in a much more modern framework.<\/p>\n\n\n\n<p>In particular, it has some really nice support for rigid body or physics-based networking including things such as physics rollback and interpolation of physics objects. With its competitive pricing, amazing support, and suitability for a wide variety of games, ranging from competitive esports to MMO style experiences, Fusion is overall, pretty cool.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/dev-note-1-1024x576.jpg\" alt=\"Screenshot of Innchanted, one of our past projects with Dragon Bear Studio, where we used Photon PUN2.\" class=\"wp-image-549\" srcset=\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/dev-note-1-1024x576.jpg 1024w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/dev-note-1-600x338.jpg 600w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/dev-note-1-300x169.jpg 300w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/dev-note-1-768x432.jpg 768w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/dev-note-1-1536x864.jpg 1536w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/dev-note-1.jpg 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">For Innchanted, one of our past projects with DragonBear Studios, we used PUN2 for the co-op game&#8217;s networking! Several of our upcoming projects are networked using Fusion though!<\/figcaption><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\">Pros and Cons<\/h2>\n\n\n\n<p>As a summary, here are some pros and cons you might want to consider when deciding on Fusion as a networking tool.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table class=\"has-background has-fixed-layout\" style=\"background-color:#fdf8ff\"><tbody><tr><td><strong><em>Pros <\/em><\/strong><\/td><td><strong><em>Cons<\/em><\/strong><\/td><\/tr><tr><td><strong>1. Flexible, supports a varieties of Network Topologies and Architectures<\/strong><br><br><strong>2. Out of the box components to suit a variety of games:<\/strong><br>With Fusion, you have quite a few components that are similar to what most other networking frameworks would give you. This gives you the ability to very rapidly prototype and get different things up and running to iterate on and sort of test different things out.<br><br><strong>3. Next level performance compared to other networking frameworks:<br><\/strong>Fusion\u2019s overall performance is very solid compared to most other networking frameworks on the market. It is easily one of the most performant, both in terms of bandwidth usage and in general, the actual amount of cpu usage. Fusion has really nice delta compression across the board or with their eventual consistency mode, where you can specify a level of bandwidth to not exceed.<br><br><strong>4. Competitive Pricing<\/strong> (Free to 20 CCU, $95USD for 100 CCU\/year)<br><br><strong>5. Supports all traditional platforms and webGL<\/strong><br><\/td><td><strong>1. It\u2019s not free*<\/strong><br>You get what you pay for! With Fusion you are paying for a very solid, very mature stack. Having that level of support is valuable, but also highly dependent on your particular needs and business case.<br><br><strong>2. All connections must use Photon Cloud, and Fusion doesn\u2019t support direct IP connections<\/strong><br>Fusion needs some workarounds for dedicated server hosting. Every connection has to go through Photon Cloud which does give you some nice features (Eg. Network Address Translation punch through and guaranteed connectivity.)<br><br>However, if you are working with a back-end matchmaking service that just wants you to connect by direct IP and direct port, you may run into some complications. (There are workarounds, of course!)<br><br><strong>3. Some unique design patterns, could be difficult to refactor to a different stack if required<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Network Topologies<\/h2>\n\n\n\n<p>When we discuss network topologies, we\u2019re talking about how different clients will connect to each other and which computer is in charge of what&#8217;s actually happening within the networked session.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Server<\/h3>\n\n\n\n<p>Server is the most traditional model, and means that you have a dedicated server hosted somewhere (Eg. AWS, Playfab and Google) and it is your authority for a game session.&nbsp;<\/p>\n\n\n\n<p>Generally, you would spin up a dedicated server instance on this back end. Your client would connect directly to that system, and it would have full state authority over the simulation (Eg. all of your gameplay logic.) Because of this, the opportunities players would have for malicious activity (Eg. hacking or cheating) becomes significantly fewer.<\/p>\n\n\n\n<p>Unfortunately, this wouldn&#8217;t prevent things such as wall hacks, depending on what information you are synchronising through to each of your potential clients.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/pun-2.jpg\" alt=\"Illustration of two player experiences: One is lagging and the other player is taking advantage to win.\" class=\"wp-image-550\" width=\"338\" height=\"206\" srcset=\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/pun-2.jpg 1000w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/pun-2-600x366.jpg 600w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/pun-2-300x183.jpg 300w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/pun-2-768x468.jpg 768w\" sizes=\"(max-width: 338px) 100vw, 338px\" \/><figcaption class=\"wp-element-caption\">Preventing cheating is a priority if you want positive player experiences!<\/figcaption><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\">Host<\/h3>\n\n\n\n<p>Host is similar to Server, in that you still have a single authority as far as the session is concerned, but one of the clients themselves will be one that creates the session. Fusion does support host migrations, so you can move who the host is to different clients if needed. Check out Fusion\u2019s documentation and examples on Host migration <a href=\"https:\/\/doc.photonengine.com\/en-us\/fusion\/current\/samples\/technical-samples\/fusion-host-migration\">here<\/a>.<\/p>\n\n\n\n<p>One of the main positives to the Host model is, of course, the cost-savings! As sessions are being hosted by clients running the game, you can save on back-end servers.&nbsp;<\/p>\n\n\n\n<p>Unfortunately, there are also the downsides to do with sacrificing player experiences. Because the authoritative instance is running on one of your client&#8217;s computers, if that instance or that client is hacked or manipulated in any way, player experiences in-game might be affected. Connection quality is also dependent on your client\/host\u2019s connection. For example, a host with a 3G connection from a bus might result in poor gameplay experiences for everyone within the session.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/fusion3-1024x684.png\" alt=\"Illustration of someone riding a bus whilst playing their game, with a long loading screen.\" class=\"wp-image-551\" width=\"556\" height=\"369\"\/><figcaption class=\"wp-element-caption\">It&#8217;s simply no fun being a part of sessions like that.<\/figcaption><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\">Shared<\/h3>\n\n\n\n<p>Shared authority is where each client has state authority over objects assigned to them.&nbsp;<\/p>\n\n\n\n<p>For example, if you think of a game like Rocket League, it would mean that each client would have agency or authority over each of their cars. This is great if you have a game which is very responsive and needs very precise input controls because, from the local player&#8217;s perspective, it will feel very much as if they were just playing a single player game.<\/p>\n\n\n\n<p>The downside to that is that you may still be relying on the client&#8217;s own connection quality, affecting the other player\u2019s experiences. Besides this, it may not be as suitable depending on the type of game. Shared authority works when it makes more sense for each client to have authority over particular objects, but it might not be the right fit if you had a lot of shared objects or heavy physics driven scenes.<\/p>\n\n\n\n<p>The Shared model is a nice middle ground between the first two models. Generally speaking, running Photon servers will be significantly more cost efficient than running a full dedicated headless Unity instance. This model is often used for games that have large numbers of players and games which are \u201cless competitive\u201d. You wouldn&#8217;t want to do this for games like Battle Royale, which are more server heavy, but this would be appropriate for PVE MMO style games.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/maxresdefault-1024x576.jpg\" alt=\"Screenshot of Rocket League, where precision in input controls are important to gameplay experience.\" class=\"wp-image-552\" srcset=\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/maxresdefault-1024x576.jpg 1024w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/maxresdefault-600x338.jpg 600w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/maxresdefault-300x169.jpg 300w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/maxresdefault-768x432.jpg 768w, https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2022\/06\/maxresdefault.jpg 1280w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Rocket League, where precision in input controls are important to gameplay experience.<\/figcaption><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\">Quantum<\/h3>\n\n\n\n<p>Quantum is another solution offered by Photon that is a full deterministic simulation. It has its own application layer, while Unity sits on top as more of a visualisation layer. So\u2014 although it is technically using Unity, it is very much like learning a new engine.<\/p>\n\n\n\n<p>They have their own physics frameworks for 2D\/3D, update loops and other elements, hence a steeper learning curve. Besides this, Quantum does still require a back-end server similar to Shared mode. This means there is still the ongoing server cost in addition to whatever costs associated with using it. Having said that, it is the appropriate mode for games where you&#8217;re expecting players connecting globally with very different latencies, packet loss or situations.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Photon Fusion Sample Project<\/h3>\n\n\n\n<p>Marty and Grant came together to make this sample project using Photon Fusion, called Fusion Pong! You can check out the public repo <a href=\"https:\/\/link.nomoss.co\/fusionpong4\">here<\/a>. Enjoy!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p>To conclude, we hope this has been helpful in helping you understand the different type of networking solutions Fusion offers that would be appropriate for the game you\u2019re making! Feel free to send us your questions (<a href=\"mailto:studios@nomoss.co\">studios@nomoss.co<\/a>), follow us <a href=\"https:\/\/twitter.com\/NoMossStudios\">on Twitter<\/a> or <a href=\"https:\/\/discord.gg\/Ka8suskKcs\">join our discord<\/a> for future similar events and\/or discussions.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Learn the pros and cons of using Photon Fusion as a networking tool, and how to use Photon Fusion for multiplayer game development!<\/p>\n","protected":false},"author":2,"featured_media":670,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[48,40,46],"tags":[28,31,23,39,6],"ppma_author":[66],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Photon Fusion 101 | Dev Blog<\/title>\n<meta name=\"description\" content=\"Learn the pros and cons of using Photon Fusion as a networking tool, and how to use Photon Fusion for multiplayer game development!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Photon Fusion 101 | Dev Blog\" \/>\n<meta property=\"og:description\" content=\"Learn the pros and cons of using Photon Fusion as a networking tool, and how to use Photon Fusion for multiplayer game development!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/\" \/>\n<meta property=\"og:site_name\" content=\"Noble Steed Games\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/NobleSteedAU\" \/>\n<meta property=\"article:published_time\" content=\"2022-06-27T23:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-13T04:11:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/06\/Photon-Fusion-101-Header.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"900\" \/>\n\t<meta property=\"og:image:height\" content=\"378\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ann Li\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@NobleSteedAU\" \/>\n<meta name=\"twitter:site\" content=\"@NobleSteedAU\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ann Li\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/\"},\"author\":{\"name\":\"Ann Li\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#\/schema\/person\/e1ecad2a4535220e14a91d9fd215e53f\"},\"headline\":\"Photon Fusion 101\",\"datePublished\":\"2022-06-27T23:00:00+00:00\",\"dateModified\":\"2023-12-13T04:11:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/\"},\"wordCount\":1451,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/06\/Photon-Fusion-101-Header.jpg\",\"keywords\":[\"game development\",\"indie dev\",\"Networking\",\"photon fusion\",\"Unity\"],\"articleSection\":[\"E-Books &amp; Downloadable Resources\",\"Gamedev Resources\",\"Multiplayer Game Networking Resources\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/\",\"url\":\"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/\",\"name\":\"Photon Fusion 101 | Dev Blog\",\"isPartOf\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/06\/Photon-Fusion-101-Header.jpg\",\"datePublished\":\"2022-06-27T23:00:00+00:00\",\"dateModified\":\"2023-12-13T04:11:22+00:00\",\"description\":\"Learn the pros and cons of using Photon Fusion as a networking tool, and how to use Photon Fusion for multiplayer game development!\",\"breadcrumb\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/#primaryimage\",\"url\":\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/06\/Photon-Fusion-101-Header.jpg\",\"contentUrl\":\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/06\/Photon-Fusion-101-Header.jpg\",\"width\":900,\"height\":378,\"caption\":\"An illustration of Marty, a senior multiplayer networking developer, with his cats and computer.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/noblesteedgames.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Photon Fusion 101\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#website\",\"url\":\"https:\/\/noblesteedgames.com\/blog\/\",\"name\":\"Noble Steed Games\",\"description\":\"Stories from Development\",\"publisher\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/noblesteedgames.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#organization\",\"name\":\"Noble Steed Games\",\"url\":\"https:\/\/noblesteedgames.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/PFP.jpg\",\"contentUrl\":\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/PFP.jpg\",\"width\":1374,\"height\":1374,\"caption\":\"Noble Steed Games\"},\"image\":{\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/NobleSteedAU\",\"https:\/\/x.com\/NobleSteedAU\",\"https:\/\/www.instagram.com\/noblesteedau\/\",\"https:\/\/www.linkedin.com\/company\/18263569\/\",\"https:\/\/www.youtube.com\/channel\/UC-CE2Op8dEH0LET0t9Zw79g\",\"https:\/\/twitter.com\/NobleSteedAU\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#\/schema\/person\/e1ecad2a4535220e14a91d9fd215e53f\",\"name\":\"Ann Li\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/noblesteedgames.com\/blog\/#\/schema\/person\/image\/52a637c29fa4d4959e331915d4a8c4ee\",\"url\":\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/T04BCCRJU9M-U04D8Q5K2R0-8125c3e23c8c-512.jpg\",\"contentUrl\":\"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/T04BCCRJU9M-U04D8Q5K2R0-8125c3e23c8c-512.jpg\",\"caption\":\"Ann Li\"},\"url\":\"https:\/\/noblesteedgames.com\/blog\/author\/annnomoss-co\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Photon Fusion 101 | Dev Blog","description":"Learn the pros and cons of using Photon Fusion as a networking tool, and how to use Photon Fusion for multiplayer game development!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/","og_locale":"en_US","og_type":"article","og_title":"Photon Fusion 101 | Dev Blog","og_description":"Learn the pros and cons of using Photon Fusion as a networking tool, and how to use Photon Fusion for multiplayer game development!","og_url":"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/","og_site_name":"Noble Steed Games","article_publisher":"https:\/\/www.facebook.com\/NobleSteedAU","article_published_time":"2022-06-27T23:00:00+00:00","article_modified_time":"2023-12-13T04:11:22+00:00","og_image":[{"width":900,"height":378,"url":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/06\/Photon-Fusion-101-Header.jpg","type":"image\/jpeg"}],"author":"Ann Li","twitter_card":"summary_large_image","twitter_creator":"@NobleSteedAU","twitter_site":"@NobleSteedAU","twitter_misc":{"Written by":"Ann Li","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/#article","isPartOf":{"@id":"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/"},"author":{"name":"Ann Li","@id":"https:\/\/noblesteedgames.com\/blog\/#\/schema\/person\/e1ecad2a4535220e14a91d9fd215e53f"},"headline":"Photon Fusion 101","datePublished":"2022-06-27T23:00:00+00:00","dateModified":"2023-12-13T04:11:22+00:00","mainEntityOfPage":{"@id":"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/"},"wordCount":1451,"commentCount":0,"publisher":{"@id":"https:\/\/noblesteedgames.com\/blog\/#organization"},"image":{"@id":"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/#primaryimage"},"thumbnailUrl":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/06\/Photon-Fusion-101-Header.jpg","keywords":["game development","indie dev","Networking","photon fusion","Unity"],"articleSection":["E-Books &amp; Downloadable Resources","Gamedev Resources","Multiplayer Game Networking Resources"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/","url":"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/","name":"Photon Fusion 101 | Dev Blog","isPartOf":{"@id":"https:\/\/noblesteedgames.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/#primaryimage"},"image":{"@id":"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/#primaryimage"},"thumbnailUrl":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/06\/Photon-Fusion-101-Header.jpg","datePublished":"2022-06-27T23:00:00+00:00","dateModified":"2023-12-13T04:11:22+00:00","description":"Learn the pros and cons of using Photon Fusion as a networking tool, and how to use Photon Fusion for multiplayer game development!","breadcrumb":{"@id":"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/#primaryimage","url":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/06\/Photon-Fusion-101-Header.jpg","contentUrl":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/06\/Photon-Fusion-101-Header.jpg","width":900,"height":378,"caption":"An illustration of Marty, a senior multiplayer networking developer, with his cats and computer."},{"@type":"BreadcrumbList","@id":"https:\/\/noblesteedgames.com\/blog\/photon-fusion-101\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/noblesteedgames.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Photon Fusion 101"}]},{"@type":"WebSite","@id":"https:\/\/noblesteedgames.com\/blog\/#website","url":"https:\/\/noblesteedgames.com\/blog\/","name":"Noble Steed Games","description":"Stories from Development","publisher":{"@id":"https:\/\/noblesteedgames.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/noblesteedgames.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/noblesteedgames.com\/blog\/#organization","name":"Noble Steed Games","url":"https:\/\/noblesteedgames.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/noblesteedgames.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/PFP.jpg","contentUrl":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/PFP.jpg","width":1374,"height":1374,"caption":"Noble Steed Games"},"image":{"@id":"https:\/\/noblesteedgames.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/NobleSteedAU","https:\/\/x.com\/NobleSteedAU","https:\/\/www.instagram.com\/noblesteedau\/","https:\/\/www.linkedin.com\/company\/18263569\/","https:\/\/www.youtube.com\/channel\/UC-CE2Op8dEH0LET0t9Zw79g","https:\/\/twitter.com\/NobleSteedAU"]},{"@type":"Person","@id":"https:\/\/noblesteedgames.com\/blog\/#\/schema\/person\/e1ecad2a4535220e14a91d9fd215e53f","name":"Ann Li","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/noblesteedgames.com\/blog\/#\/schema\/person\/image\/52a637c29fa4d4959e331915d4a8c4ee","url":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/T04BCCRJU9M-U04D8Q5K2R0-8125c3e23c8c-512.jpg","contentUrl":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/T04BCCRJU9M-U04D8Q5K2R0-8125c3e23c8c-512.jpg","caption":"Ann Li"},"url":"https:\/\/noblesteedgames.com\/blog\/author\/annnomoss-co\/"}]}},"authors":[{"term_id":66,"user_id":2,"is_guest":0,"slug":"annnomoss-co","display_name":"Ann Li","avatar_url":{"url":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/T04BCCRJU9M-U04D8Q5K2R0-8125c3e23c8c-512.jpg","url2x":"https:\/\/noblesteedgames.com\/blog\/wp-content\/uploads\/2023\/12\/T04BCCRJU9M-U04D8Q5K2R0-8125c3e23c8c-512.jpg"},"user_url":"","last_name":"Khaw","first_name":"Ann Li","job_title":"","description":""}],"_links":{"self":[{"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/posts\/545"}],"collection":[{"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/comments?post=545"}],"version-history":[{"count":9,"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/posts\/545\/revisions"}],"predecessor-version":[{"id":1259,"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/posts\/545\/revisions\/1259"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/media\/670"}],"wp:attachment":[{"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/media?parent=545"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/categories?post=545"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/tags?post=545"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/noblesteedgames.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}