The Parsec Unity SDK uses shared objects from sdk/windows and sdk/macos. The macOS libparsec.dylib
is renamed to parsec.bundle
. To copy them run runmefirst.bat
or runmefirst.sh
.
See examples/unity for a walkthrough and detailed example.
Function | Description |
---|---|
SessionData RequestCodeAndPoll() |
Request an oauth token for polling |
onUserAuthenticated<SessionResultDataData, SessionResultEnum> |
Event called when there is an update regarding the access token |
GuestConnected(object, ParsecGuest) |
Event called when there's a guest connecting |
GuestDisconnected(object, ParsecGuest) |
Event called when a guest disconnected |
void StartParsec(int max_players, bool public_game, string gamename, string description, string session_id) |
Start streaming an application |
string GetInviteUrl(SessionResultDataData session, uint expiresInSeconds, uint maxUses) |
Function to get an Invite link |
void StopParsec() |
Call this to stop streaming. |
This class is the same as the Unity Input, but only adds the player
parameter to each function. To assign a Guest to a Player, call the AssignGuestToPlayer
function in this class, and call UnassignGuest
when done. The Guest is automatically unassigned when they disconnect. If you want the guests to use the mouse on elements, set ParsecUnity.ParsecInput.AllowUIActions
to true
, this checks when the mouse gets clicked, if the object has the onClick
property, or the Select
function, it will execute this.
Parsec has support for Rewired they will be CustomControllers, you will have to call ParsecRewiredInput.AssignCustomControllerToUser
, ParsecRewiredInput.AssignKeyboardControllerToUser
and ParsecRewiredInput.AssignMouseControllerToUser
to assign them to a guest, where you create the custom controller with ReInput.controllers.CreateCustomController
and give it a unique id like "Parsec_" + guest.id
.
As a precaution, uncheck "Assign Mouse on Start" and "Assign Keyboard on Start". For the rest it's the same as any other rewired project.
The file ParsecRewiredInputManagerDataExport.json has the Custom Controllers, and the Custom Controller Maps.