• Image
  • Image
  • Image
  • Image
  • Image
  • Image
  • Current Version: 2.2.0: 2024-04-19T09:39:07Z
  • First Published: 2023-07-14T09:33:12Z
  • Size: 238432
  • Supported Unity Versions: 2021.3.34
tools visual-scripting

Integration with Photon Fusion 1 or 2 for Playmaker Visual Scripting

(3 Votes)
$24.95 $24.95

***Warning: If upgrading this asset from versions prior to 2.1.0, please back up your project first. In Version 2.1.0, I have changed up the folder hierarchy. It shouldn't cause any issues, but better safe than sorry.***


***Reach out in my discord if you need help. https://discord.gg/gKnFgdtKfw***


*** This asset is in no way affiliated with Hutong Games, Playmaker, Photon Engine, or Exit Games. ***


*** This package is being used in a personal project, so is constantly in development and evolving. If something is missing, or would make your life easier, don't hesitate to reach out in Discord! Regardless if its general help, or a request for a new feature, I'm there to hear it! ***



Are you a Playmaker user? Or looking to pick up Playmaker because you heard it could help you when it comes to multiplayer networking? You've come to the right place!


For years, Photon PUN2 has been the only option for Playmaker users to build online multiplayer games.


I started this Playmaker integration over a year ago (as of May 2023). At one point, I even gave up, because I thought it wouldn't be possible to build a COMPLETE Fusion integration for Playmaker. Or, at the very least, would be very difficult.


One day, I had an epiphony. If I limit the Playmaker integration to only utilize Fusion's "Shared" game mode, this project became much more doable.


So, be aware, Photon Fusion has three game mode types. Server, Host, and Shared. This integration is only designed to cover the 'Shared' mode. But, who knows. Maybe down the road, I may try experimenting with the other modes.


If you're already a PUN 2 user, you may be wondering, "Is it worth switching to Fusion?" Let me stand up on my desk and shout "YES! YES! YES!". I have three big reasons that back me up on this.


1. I had a PUN2 project, that had a hard time staying in sync if someone with a poor computer, or poor internet joined. Moved the project over to Fusion, and those issues were gone! I can't promise you'll have the same experience, but personally, I will NEVER go back to PUN2 after that experience. I am 100% sold on Fusion.


2. PUN2 has a lot of abilities, that at least with the PUN2 actions available on the Ecosystem, Playmaker users couldn't take advantage of. One of the biggest, was it seemed like, the only reliable data we could send in an RPC was a string. It was super annoying having to convert data TO a string, or FROM a string.


3. More reliable Network Sync Variables! The following variable types can all be network sync using Playmaker:

  • Array (In all the variable types listed below)
  • Float
  • Int
  • Bool
  • String
  • Vector2
  • Vector3
  • Color
  • Rect
  • Quaternion
  • Enum

Take a look below for the Global Events, and Actions that are currently in the package:


Includes the Following Global Events:

  • Fusion / OnConnectedToServer
  • Fusion / OnConnectFailed
  • Fusion / OnConnectRequest
  • Fusion / OnCustomAuthenticationResponse
  • Fusion / OnDisconnectedFromServer
  • Fusion / OnHostMigration
  • Fusion / OnInput
  • Fusion / OnInputMissing
  • Fusion / OnPlayerJoined
  • Fusion / OnPlayerLeft
  • Fusion / OnReliableDataReceived
  • Fusion / OnSceneLoadDone
  • Fusion / OnSceneLoadStart
  • Fusion / OnSessionListUpdated
  • Fusion / OnShutdown
  • Fusion / OnUserSimulationMessage

Includes the Following Actions:

  • FusionBoolRpc
  • FusionBoolRpcPlayer
  • FusionCloseSession
  • FusionColorRpc
  • FusionColorRpcPlayer
  • FusionDespawnNetworkObject
  • FusionDestroyPlayer
  • FusionFloatRpc
  • FusionFloatRpcPlayer
  • FusionGetPlayerCount
  • FusionGetPlayerPing
  • FusionGetPlayerRef
  • FusionGetSessionCount
  • FusionGetSessionInfo
  • FusionGetSessionListAsArray
  • FusionIntRpc
  • FusionIntRpcPlayer
  • FusionJoinSessionLobby
  • FusionMultiTypeRpc
  • FusionMultiTypeRpcPlayer
  • FusionObjectHasInputAuthority
  • FusionObjectHasStateAuthority
  • FusionObjectRequestStateAuthority
  • FusionObjectWhoHasStateAuthority
  • FusionQuaternionRpc
  • FusionQuaternionRpcPlayer
  • FusionRectRpc
  • FusionRectRpcPlayer
  • FusionRpc
  • FusionRunnerShutdown
  • FusionSetScene
  • FusionSpawnNetworkObject
  • FusionStartGame
  • FusionStringRpc
  • FusionStringRpcPlayer
  • FusionToggleSessionVisibility
  • FusionVector2Rpc
  • FusionVector2RpcPlayer
  • FusionVector3Rpc
  • FusionVector3RpcPlayer

Integration with Photon Fusion for Playmaker Visual Scripting

-------------------------

Quick Start Guide

-------------------------

1. Create your Unity Project

2. Install Photon Fusion (https://doc.photonengine.com/fusion/current/getting-started/sdk-download)

3. Install Playmaker

4. Install this asset.

5. Check out the three Demo Scenes.

-------------------------

Creating Your First Scene

-------------------------

1. Create your Scene

2. Navigate to FusionPlaymakerIntegration>Prefabs

3. Drag both Prefabs into your Scene.

4. In your scene, on the 'Playmaker Fusion NetworkRunner', drag the 'Playmaker Fusion RPC Handler' into the 'Rpc Handler' field on the 'Playmaker Fusion Network Runner' component.

5. Begin creating your Connection logic using a Playmaker FSM. Use the Demo scenes as guides.


Congratulations on making it to the bottom of this description! I hope after reading all that, you are ready to make your purchase. For any support, or if you just want to 'hang out' come join my discord here.


Add to cart
This site contains affiliate links, which means that we can receive a commission if you click on a link and buy something that we have recommended.
Although clicking on these links will not cost you anything, they will help us finance our development projects while recommending good products!