{"componentChunkName":"component---src-templates-single-post-js","path":"/posts/las-meta-case-study/","result":{"data":{"post":{"frontmatter":{"meta":null,"title":"LasMeta Case Study","template":"SinglePost","subtitle":null,"excerpt":"Multiplayer card-dealer scene in Unity with Photon Fusion. Turn control through state authority, RPC-synced animation and audio, pooled card objects. Code on GitHub.","featuredImage":"https://mdsakibhasan.com/images/lasmeta-card.jpg","hidden":null,"categories":[{"category":"Games"}]},"html":"<blockquote>\n<p><em>Technical case study, May 2025. Code sample.</em></p>\n</blockquote>\n<p><a href=\"https://github.com/sakibh20/lasmeta-case-study\"><img src=\"https://img.shields.io/badge/GitHub-View_Code-181717?style=for-the-badge&#x26;logo=github&#x26;logoColor=white\" alt=\"GitHub\"></a></p>\n<ul>\n<li><strong>Engine:</strong> Unity, C#</li>\n<li><strong>Networking:</strong> Photon Fusion 2 (Shared Mode)</li>\n<li><strong>Scope:</strong> Solo technical case study</li>\n</ul>\n<p>A small multiplayer poker scene where players ask a dealer to deal cards. The goal was a \"deal cards\" interaction that stays correct and in sync across clients.</p>\n<h4>Networking</h4>\n<ul>\n<li>Player joins and spawning handled through <strong>NetworkEvents</strong>.</li>\n<li>Only the player whose turn it is can deal: turns are enforced with <code>RequestStateAuthority</code> and <code>ReleaseStateAuthority</code>.</li>\n<li>Dealer animation, card sound and effects are broadcast with <strong>RPCs</strong>, so every client sees the same thing.</li>\n<li>Shared game state kept in <strong>Networked Properties</strong>.</li>\n</ul>\n<h4>Gameplay and UI</h4>\n<ul>\n<li>Round-based dealing, one card at a time, with animated 3D cards (DoTween).</li>\n<li>Card objects are pooled and reused to cut allocations and GC spikes.</li>\n<li>Custom UI designed in Figma, with an animated game-state panel.</li>\n<li>Third-person camera with orbit and zoom, plus a first-person roaming mode.</li>\n</ul>\n<h4>Performance</h4>\n<ul>\n<li>Static light baking, with real-time lights limited by layer masks to the objects that need them.</li>\n</ul>\n<h4>What I'd change next</h4>\n<p>The <code>IPlayerJoined</code> callback did not fire as expected, so I fell back to <code>NetworkEvents</code>, and some state authority delays needed careful event ordering. For a production version I would move from Shared Mode to Fusion Server Mode for stronger authority.</p>\n<h4>Demo</h4>\n<p>Two clients side by side, staying in sync:</p>\n<div class=\"gatsby-resp-iframe-wrapper\" style=\"padding-bottom: 56.25%; position: relative; height: 0; overflow: hidden; \" > <iframe src=\"https://www.youtube.com/embed/Ydty5jxR3ZE\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen style=\" position: absolute; top: 0; left: 0; width: 100%; height: 100%; \"></iframe> </div>","id":"e9b0bfc2-0096-520d-b372-aa4712fe9998"},"allPosts":{"edges":[{"node":{"id":"0781289b-af59-59eb-aae6-36440c7295e7","fields":{"slug":"/posts/toon-war-idle/"},"frontmatter":{"title":"Toon War Idle","date":"2025-04-13T00:00:00.000Z","pin":8,"hidden":null,"categories":[{"category":"Games"}]}}},{"node":{"id":"c3ac4409-b360-599a-9aa1-2dd1d2e99fef","fields":{"slug":"/posts/clemon-lemon-ninja/"},"frontmatter":{"title":"Clemon Lemon Ninja","date":"2025-04-14T00:00:00.000Z","pin":null,"hidden":true,"categories":[{"category":"Games"}]}}},{"node":{"id":"d62cd5fb-d0fa-5ada-ab76-dfe0a4e3fa64","fields":{"slug":"/posts/mojo-haat-to-home/"},"frontmatter":{"title":"Mojo Haat To Home","date":"2025-04-14T00:00:00.000Z","pin":null,"hidden":true,"categories":[{"category":"Games"}]}}},{"node":{"id":"5b31cd2f-99e4-5fdf-8dfa-2a8aec0e837c","fields":{"slug":"/posts/island-digger-3-d/"},"frontmatter":{"title":"Island Digger 3D","date":"2025-04-15T00:00:00.000Z","pin":null,"hidden":null,"categories":[{"category":"Games"}]}}},{"node":{"id":"76585740-ae2b-50d6-9a9f-805b8f2f04ba","fields":{"slug":"/posts/scriptable-object-custom-inspector/"},"frontmatter":{"title":"Scriptable Object Custom Inspector","date":"2025-04-15T00:00:00.000Z","pin":null,"hidden":null,"categories":[{"category":"Tools"}]}}},{"node":{"id":"04bf28db-a7db-5e94-938a-8a62315ba70c","fields":{"slug":"/posts/skitto-dour/"},"frontmatter":{"title":"Skitto Dour","date":"2025-04-15T00:00:00.000Z","pin":null,"hidden":null,"categories":[{"category":"Games"}]}}},{"node":{"id":"86801356-cf0d-5945-a3f0-982ee20caad5","fields":{"slug":"/posts/4-g-rider/"},"frontmatter":{"title":"4G Rider","date":"2025-04-17T00:00:00.000Z","pin":null,"hidden":true,"categories":[{"category":"Games"}]}}},{"node":{"id":"625483a2-5d42-5f9d-86ff-56f3e7b3cf4c","fields":{"slug":"/posts/scriptable-object-manage-window/"},"frontmatter":{"title":"Scriptable Object Manage Window","date":"2025-04-15T00:00:00.000Z","pin":6,"hidden":null,"categories":[{"category":"Tools"}]}}},{"node":{"id":"2ba38331-4327-5365-8485-4c5f153a7983","fields":{"slug":"/posts/bijoy-itihas/"},"frontmatter":{"title":"Bijoy Itihas","date":"2025-04-17T00:00:00.000Z","pin":null,"hidden":true,"categories":[{"category":"XR"}]}}},{"node":{"id":"d9aaae07-3440-537d-8393-00a99cf3016c","fields":{"slug":"/posts/archviz-lab/"},"frontmatter":{"title":"Archviz Lab","date":"2025-04-17T00:00:00.000Z","pin":null,"hidden":true,"categories":[{"category":"XR"}]}}},{"node":{"id":"f16d093f-a373-5a4e-9e89-db30013292fa","fields":{"slug":"/posts/bmw-ar/"},"frontmatter":{"title":"BMW AR","date":"2025-04-17T00:00:00.000Z","pin":null,"hidden":null,"categories":[{"category":"XR"}]}}},{"node":{"id":"5ab35eb7-5345-5e01-b099-bb8c152bf36a","fields":{"slug":"/posts/digital-world-2020/"},"frontmatter":{"title":"Digital World 2020","date":"2025-04-17T00:00:00.000Z","pin":2,"hidden":null,"categories":[{"category":"Applications"}]}}},{"node":{"id":"4f0b057d-0cd1-5093-827c-2b489ec44942","fields":{"slug":"/posts/epitaphe-ar/"},"frontmatter":{"title":"Epitaphe AR","date":"2025-04-17T00:00:00.000Z","pin":null,"hidden":true,"categories":[{"category":"XR"}]}}},{"node":{"id":"53dc8356-e1b3-512e-8fc8-e445fb184789","fields":{"slug":"/posts/virtual-cafela/"},"frontmatter":{"title":"Virtual Cafela","date":"2025-04-17T00:00:00.000Z","pin":null,"hidden":true,"categories":[{"category":"XR"}]}}},{"node":{"id":"96a8d48d-6cf4-5237-a0db-588fa017d9c3","fields":{"slug":"/posts/vr-cricket/"},"frontmatter":{"title":"VR Cricket","date":"2025-04-17T00:00:00.000Z","pin":null,"hidden":null,"categories":[{"category":"XR"}]}}},{"node":{"id":"2ef62f40-e804-5ad5-894d-10fb7e4a0ef6","fields":{"slug":"/posts/wcit-2021/"},"frontmatter":{"title":"WCIT 2021","date":"2025-04-17T00:00:00.000Z","pin":4,"hidden":true,"categories":[{"category":"Applications"}]}}},{"node":{"id":"1cbb87cd-da1e-588a-9bfe-906ba48e566f","fields":{"slug":"/posts/virtual-shopping-mall/"},"frontmatter":{"title":"Virtual Shopping Mall","date":"2025-04-23T00:00:00.000Z","pin":5,"hidden":null,"categories":[{"category":"Applications"}]}}},{"node":{"id":"e9b0bfc2-0096-520d-b372-aa4712fe9998","fields":{"slug":"/posts/las-meta-case-study/"},"frontmatter":{"title":"LasMeta Case Study","date":"2025-05-24T00:00:00.000Z","pin":3.5,"hidden":null,"categories":[{"category":"Games"}]}}},{"node":{"id":"351bad7a-c3e7-5231-aa5b-b88f5c6f5206","fields":{"slug":"/posts/virtual-try-on/"},"frontmatter":{"title":"Virtual TryOn","date":"2023-03-23T00:00:00.000Z","pin":null,"hidden":null,"categories":[{"category":"Applications"}]}}},{"node":{"id":"c744a959-3cb6-5ec6-9981-e517ef213b8d","fields":{"slug":"/posts/bluff-game/"},"frontmatter":{"title":"Bluff Game","date":"2025-09-09T00:00:00.000Z","pin":null,"hidden":null,"categories":[{"category":"Games"}]}}},{"node":{"id":"1ff12af6-d902-507c-8ffa-07d2fc9268e8","fields":{"slug":"/posts/eco-quest/"},"frontmatter":{"title":"Eco Quest","date":"2025-09-09T00:00:00.000Z","pin":null,"hidden":null,"categories":[{"category":"Applications"}]}}},{"node":{"id":"7afd280b-d3c8-5cf7-bf0a-f93b3cfb8164","fields":{"slug":"/posts/pahela-baishakh/"},"frontmatter":{"title":"Pahela Baishakh","date":"2025-04-17T00:00:00.000Z","pin":null,"hidden":true,"categories":[{"category":"Applications"}]}}},{"node":{"id":"7e62de40-dce4-5922-b7aa-1134c50fea65","fields":{"slug":"/posts/hyper-casual-prototypes/"},"frontmatter":{"title":"Hyper Casual Prototypes","date":"2022-12-15T00:00:00.000Z","pin":null,"hidden":null,"categories":[{"category":"Games"}]}}},{"node":{"id":"07cc8adc-3015-5794-be20-0a036ad89f26","fields":{"slug":"/posts/this-is-blast/"},"frontmatter":{"title":"This Is Blast","date":"2025-10-20T00:00:00.000Z","pin":7,"hidden":null,"categories":[{"category":"Games"}]}}},{"node":{"id":"c69358ed-8ec0-5cd9-a7ea-da4180046901","fields":{"slug":"/posts/virus-armageddon/"},"frontmatter":{"title":"Virus Armageddon","date":"2021-02-04T00:00:00.000Z","pin":3,"hidden":null,"categories":[{"category":"Games"}]}}},{"node":{"id":"95191f24-7bd1-5195-93fc-075f7c77fc79","fields":{"slug":"/posts/tic-tac-toe-glow/"},"frontmatter":{"title":"Tic Tac Toe Glow","date":"2026-07-25T00:00:00.000Z","pin":1,"hidden":null,"categories":[{"category":"Games"}]}}},{"node":{"id":"65180c49-f733-5936-9a6d-61c09a6de222","fields":{"slug":"/posts/furniture-lab/"},"frontmatter":{"title":"Furniture Lab","date":"2025-04-17T00:00:00.000Z","pin":null,"hidden":true,"categories":[{"category":"XR"}]}}},{"node":{"id":"7e26b361-be8c-5d25-884d-80e2502b2ee7","fields":{"slug":"/posts/grameen-phone-roaming-journey/"},"frontmatter":{"title":"Grameen Phone Roaming Journey","date":"2025-04-17T00:00:00.000Z","pin":null,"hidden":true,"categories":[{"category":"XR"}]}}}]}},"pageContext":{"id":"e9b0bfc2-0096-520d-b372-aa4712fe9998","hidden":false}},"staticQueryHashes":["424689129"]}