C# API Overview

Classes

InteractiveParticipant This class represents a user who is currently viewing a Mixer interactivity stream. This user (also known as a Participant) can have both a Mixer account and a Microsoft Security Account (MSA).
InteractiveScene Represents a Mixer interactivity scene. These scenes are configured using the Mixer Interactive Studio.
InteractivityManager The manager service class that handles the Mixer interactivity event experience between Mixer service and the title.
InteractiveEventArgs Base class for all Mixer interactivity events. Contains info about the event. Mixer interactivity is an event-driven service.
InteractiveButtonEventArgs Contains information for a button event.
InteractiveJoystickEventArgs Contains information for a joystick event. These events are sent at an interval frequency configured via the Mixer Interactive Studio.
MixerDialog Represents a custom Mixer dialog box to display the short code used for authenticating the Mixer service in Unity.
InteractiveControl Base class for all Mixer interactivity controls. All controls are created and configured using the Mixer Interactive Studio.
InteractiveGroup Represents a Mixer Interactivity group. This group functionality is used to segment your audience watching a stream. InteractiveGroup is useful when you want groups of your audience to be shown a different scene while watching a stream. In a scenario where you want the same scene to be shown to multiple groups, you need to ensure that each participant is only in a single group.
InteractiveButtonControl Represents a Mixer interactivity button control. This class is derived from InteractiveControl. All controls are created and configured using the Mixer Interactive Studio.
InteractiveJoystickControl Represents a Mixer interactivity joystick control. This class is derived from InteractiveControl. All controls are created and configured using the Mixer Interactive Studio.
InteractivityStateChangedEventArgs Contains information about the Mixer interactivity manager's latest interactivity state.
InteractiveParticipantStateChangedEventArgs Contains information about the participant's state change event. This event is raised when a participant joins or leaves the Mixer channel.
MixerInteractive Represents the MixerInteractive class object in Unity. Add this class to your title when you want it to go interactive. This class enables viewers to interact with a game scene made in Unity by managing state changes and event handlers.

Enums

LoggingLevel Describes the various levels of logging configuration provided by the Mixer SDK.
InteractiveEventType Describes the types of interactive events.
InteractivityState Describes the current state of the interactivity service. State transitions available: NotInitialized -> NotInteractive, NotInteractive -> InteractivePending, InteractivePending -> Interactive, Interactive -> NotInteractive
InteractiveParticipantState Describes the current state of the participant.

Classes

InteractiveParticipant

InteractiveParticipant Class

This class represents a user who is currently viewing a Mixer interactivity stream. This user (also known as a Participant) can have both a Mixer account and a Microsoft Security Account (MSA).

Declaration

public class InteractiveParticipant

Constructor

InteractiveParticipant()

Creates the Mixer participant class.
 public class InteractiveParticipant()

Properties

Level

Gets the Mixer level of the user.
public uint Level { get; }

Property Value

uint

The Mixer level of the user.

UserID

Gets the Mixer ID of the user.
public uint UserID { get; }

Property Value

uint

The Mixer ID of the user.

UserName

Gets the Mixer username of the user.
public string UserName { get; }

Property Value

string

The Mixer username of the user.

Group

Gets the group the participant is in. By default, participants are placed in a group named "default".
public InteractiveGroup Group { get; }

Property Value

InteractiveGroup

The group that the participant is in.

ConnectedAt

Gets the time (in UTC) at which the user connected to the Mixer interactivity stream.
public DateTime ConnectedAt { get; }

Property Value

DateTime

The time (in UTC) at which the user connected to the Mixer interactivity stream.

LastInputAt

Gets the time (in UTC) at which the user last used the interactivity control input.
public DateTime LastInputAt { get; }

Property Value

DateTime

The time (in UTC) at which the user last used the interactivity control input.

InputDisabled

Gets the value that indicates whether or not the user input is disabled.
public bool InputDisabled { get; }

Property Value

bool

Boolean value that indicates whether or not the user input is disabled. If TRUE, user input has been disabled.

State

Gets the participant's current state.
public InteractiveParticipantState State { get; }

Property Value

InteractiveParticipantState

The participant's current state.

Buttons

Gets the control IDs of all the buttons this participant has interacted with.
public IList<string> Buttons { get; }

Property Value

IList<string>

Array of button control IDs.

Joysticks

Gets the control IDs of all the joystick controls this participant has interacted with.
public IList<string> Joysticks { get; }

Property Value

IList<string>

Array of joystick control IDs.

InteractiveScene

InteractiveScene Class

Represents a Mixer interactivity scene. These scenes are configured using the Mixer Interactive Studio.

Declaration

public class InteractiveScene

Methods

GetButton(string)

Gets a button control based on its ID, if it exists.
public InteractiveButtonControl GetButton(string controlID)

Parameters

controlID string
The unique string identifier of the control.

Returns

InteractiveButtonControl

The button object.

GetJoystick(string)

Gets a joystick control based on its ID, if it exists.
public InteractiveJoystickControl GetJoystick(string controlID)

Parameters

controlID string
The unique string identifier of the control.

Returns

InteractiveJoystickControl

The joystick object.

Properties

SceneID

Gets the unique string identifier for the scene.
public string SceneID { get; }

Property Value

string

The unique string identifier for the scene.

Buttons

Gets all the buttons in the scene. This list may be empty.
public IList<InteractiveButtonControl> Buttons { get; }

Property Value

IList<InteractiveControl>

All the buttons in the scene.

Joysticks

Gets all the joystick controls in the scene. This list may be empty.
public IList<InteractiveJoystickControl> Joysticks { get; }

Property Value

IList<InteractiveControl>

All the joystick controls in the scene.

Groups

Gets all the groups that are assigned to this scene.
public IList<InteractiveGroup> Groups { get; }

Property Value

IList<InteractiveControl>

All the groups in the scene.

InteractivityManager

InteractivityManager Class

The manager service class that handles the Mixer interactivity event experience between Mixer service and the title.

Declaration

public class InteractivityManager

Constructor

InteractivityManager()

Creates the Mixer interactivity manager class.
 public class InteractivityManager()

Methods

GetGroup(string groupID)

Gets a specific group. Returns NULL if initialization is not yet completed or if the group does not exist.
public InteractiveGroup GetGroup(string groupID)

Parameters

groupID string
The unique string identifier of the group.

Returns

InteractiveGroup

The group object.

GetScene(string sceneID)

Gets a specific scene. Returns NULL if initialization is not yet completed or if the group does not exist.
public InteractiveScene GetScene(string sceneID)

Parameters

sceneID string
The unique string identifier of the scene.

Returns

InteractiveScene

The scene object.

Initialize(bool)

Sets up connection to the Mixer interactivity service by initializing a background task.
public void Initialize(bool goInteractive = true)

Parameters

goInteractive bool
Value that indicates whether interactivity should start after initialization. If TRUE, the stream enters into interactivity after initialization. This value defaults to TRUE.

TriggerCooldown(string, int)

Disables a specified control for a period of time.
public void TriggerCooldown(string controlID, int cooldown)

Parameters

controlID string
The unique string identifier of the control to disable.
cooldown int
The cooldown duration (in milliseconds).

StartInteractive()

Used by the title to inform the Mixer service that it is ready to receive interactivity input. Returns a soft failure if initialization has not yet been completed. Returns a descriptive error message if initialization fails.
public void StartInteractive()

StopInteractive()

Used by the title to inform the Mixer service that it is no longer receiving interactivity input.
public void StopInteractive()

DoWork()

Manages and maintains proper state updates between the title and the Mixer Service. To ensure best performance, DoWork() must be called frequently, such as once per frame. Title needs to be thread safe when calling DoWork() since this is when states are changed.
public void DoWork()

Dispose()

Closes the web socket and free the resources used by Mixer interactivity manager.
public void Dispose()

SendMockWebSocketMessage(string)

Sends the specified text message as a mock web socket message.
public void SendMockWebSocketMessage(string rawText)

Parameters

rawText string
The text message to send.

GetButton(string)

Gets a button control object by ID.
public InteractiveButtonControl GetButton(string controlID)

Parameters

controlID string
The unique string identifier of the control.

Returns

InteractiveButtonControl

The button object.

GetJoystick(string)

Gets a joystick control object by ID.
public InteractiveJoystickControl GetJoystick(string controlID)

Parameters

controlID string
The unique string identifier of the control.

Returns

InteractiveJoystickControl

The joystick object.

Properties

SingletonInstance

Gets the singleton instance of the Mixer interactivity manager.
public static InteractivityManager SingletonInstance { get; }

Property Value

InteractivityManager

The singleton instance of the Mixer interactivity manager.

LoggingLevel

Gets the level of information in the diagnostic output provided by the Mixer SDK.
public LoggingLevel LoggingLevel { get; }

Property Value

LoggingLevel

The level of information provided in the logs.

IsInteractive

Gets the interactivity state of the Mixer interactivity manager.
public InteractivityState InteractivityState { get; }

Property Value

string

The interactivity state of the Mixer interactivity manager.

Groups

Gets all the groups associated with the current interactivity instance. Will be empty if initialization is not complete.
public IList<InteractiveGroup> Groups { get; }

Property Value

IList<InteractiveGroup>

All the groups.

Scenes

Gets all the scenes associated with the current interactivity instance. An empty list is returned if initialization is not completed.
public IList<InteractiveScene> Scenes { get; }

Property Value

IList<InteractiveScene>

All the scenes.

Participants

Gets all the participants.
public IList<InteractiveParticipant> Participants { get; }

Property Value

IList<InteractiveParticipant>

All the participants.

Buttons

Gets all button controls.
public IList<InteractiveButtonControl> Buttons { get; }

Property Value

IList<InteractiveButtonControl>

All button controls.

Joysticks

Gets all joystick controls.
public IList<InteractiveJoystickControl> Joysticks { get; }

Property Value

IList<InteractiveJoystickControl>

All joystick controls.

ShortCode

Gets the string code that the broadcaster inputs on the Mixer website to authorize the interactivity session.
public string ShortCode { get; }

Property Value

string

The string code used for authorization.

InteractiveEventArgs

InteractiveEventArgs Class

Base class for all Mixer interactivity events. Contains info about the event. Mixer interactivity is an event-driven service.

Declaration

public class InteractiveEventArgs

Constructor

InteractiveEventArgs()

Creates the interactive event args class.
public InteractiveEventArgs()

Properties

time()

Gets the time (in UTC) when this event is raised.
public DateTime Time { get; }

Property Value

DateTime

The time (in UTC).

ErrorCode

Gets the error code indicating the result of the operation.
public int ErrorCode { get; }

Property Value

int

The error code.

ErrorMessage

Gets call-specific error message with debug information. Message is not localized as it is meant to be used for debugging only.
public string ErrorMessage { get; }

Property Value

string

The error message.

EventType

Gets the type of event raised.
public InteractiveEventType EventType { get; }

Property Value

InteractiveEventType

The type of event raised.

InteractiveButtonEventArgs

InteractiveButtonEventArgs Class

Contains information for a button event.

Declaration

public class InteractiveButtonEventArgs

Properties

ControlID

Gets the unique string identifier for this control.
public string ControlID { get; }

Property Value

string

The unique string identifier for this control.

Participant

Gets the user who triggered this event.
public InteractiveParticipant Participant { get; }

Property Value

InteractiveParticipant

The user who triggered this event.

IsPressed

Get the value that indicates whether the button is pressed down or not. Returns TRUE if button is pressed down.
public bool IsPressed { get; }

Property Value

bool

Value that indicates whether the button is down or not.

InteractiveJoystickEventArgs

InteractiveJoystickEventArgs Class

Contains information for a joystick event. These events are sent at an interval frequency configured via the Mixer Interactive Studio.

Declaration

public class InteractiveJoystickEventArgs

Properties

ControlID

Gets the unique string identifier for this control.
public string ControlID { get; }

Property Value

string

The unique string identifier for this control.

X

Gets the X coordinate of the joystick, in the range of [-1, 1].
public double X { get; }

Property Value

double

The X coordinate of the joystick.

Y

Gets the Y coordinate of the joystick, in the range of [-1, 1].
public double Y { get; }

Property Value

double

The Y coordinate of the joystick.

Participant

Gets the user who raised this event.
public InteractiveParticipant Participant { get; }

Property Value

InteractiveParticipant

The user who raised this event.

MixerDialog

MixerDialog Class

Represents a custom Mixer dialog box to display the short code used for authenticating the Mixer service in Unity.

Declaration

public class MixerDialog

Methods

Show(string)

Display the code dialog box on screen.
public void Show(string shortCode)

Parameters

shortCode string
The identifier code for the dialog box.

Hide(string)

Hide the code dialog box.
public void Hide(string shortCode)

Parameters

shortCode string
The identifier code for the dialog box.

InteractiveControl

InteractiveControl Class

Base class for all Mixer interactivity controls. All controls are created and configured using the Mixer Interactive Studio.

Declaration

public class InteractiveControl

Methods

SetDisabled(bool)

Function to enable or disable this control.
public void SetDisabled(bool disabled)

Parameters

disabled bool
Boolean value to enable or disable the control. Set this value to TRUE to disable the control.

Properties

ControlId

Gets the unique string identifier for this control.
public string ControlID { get; }

Property Value

string

The unique string identifier for this control.

Disabled

Gets the value that indicates whether the control is enabled or disabled.
public bool Disabled { get; }

Property Value

bool

Boolean value that indicates whether the control is enabled or disabled. If TRUE, control is disabled.

HelpText

Gets the help text that displays when a participant hovers over the control.
public string HelpText { get; }

Property Value

string

The help text.

InteractiveGroup

InteractiveGroup Class

Represents a Mixer Interactivity group. This group functionality is used to segment your audience watching a stream. InteractiveGroup is useful when you want groups of your audience to be shown a different scene while watching a stream. In a scenario where you want the same scene to be shown to multiple groups, you need to ensure that each participant is only in a single group.

Declaration

public class InteractiveGroup

Methods

SetScene(string)

Function to set the scene assigned for this group to the specified scene ID.
public void SetScene(string sceneID)

Parameters

sceneID string
String value that specifies the target scene to set for the group.

Properties

GroupID

Gets the unique string identifier for this group.
public string GroupID { get; }

Property Value

string

The unique string identifier.

SceneID

Gets the scene shown to this group.
public string SceneID { get; }

Property Value

string

The scene shown to this group.

InteractiveButtonControl

InteractiveButtonControl Class

Represents a Mixer interactivity button control. This class is derived from InteractiveControl. All controls are created and configured using the Mixer Interactive Studio.

Declaration

public class InteractiveButtonControl

Methods

SetProgress(float)

Sets the progress value for this button control.
public void SetProgress(float progress)

Parameters

progress float
The progress value, in the range of 0.0 to 1.0.

GetButtonDown(uint)

Returns TRUE if the specified participant has triggered a button down since the last call to DoWork().
public bool GetButtonDown(uint userID)

Parameters

userId uint
The unique identifier of the participant.

Returns

bool

Value that indicates if the button is down or not.

GetButtonPressed(uint)

Returns TRUE if the specified participant has triggered a button press since the last call to DoWork().
public bool GetButtonPressed(uint userID)

Parameters

userId uint
The unique identifier of the participant.

Returns

bool

Value that indicates if the button has been pressed or not.

GetButtonUp(uint)

Returns TRUE if the specified participant has triggered a button up since the last call to DoWork().
public bool GetButtonUp(uint userID)

Parameters

userId uint
The unique identifier of the participant.

Returns

bool

Value that indicates if the button is up or not.

GetCountOfButtonDowns(uint)

Returns the number of button downs from the specified participant since the last call to DoWork()
public uint GetCountOfButtonDowns(uint userID)

Parameters

userId uint
The unique identifier of the participant.

Returns

uint

The number of button downs.

GetCountOfButtonPresses(uint)

Returns the number of button presses from the specified participant since the last call to DoWork()
public uint GetCountOfButtonPresses(uint userID)

Parameters

userId uint
The unique identifier of the participant.

Returns

uint

The number of button presses.

GetCountOfButtonUps(uint)

Returns the number of button ups from the specified participant since the last call to DoWork()
public uint GetCountOfButtonUps(uint userID)

Parameters

userId uint
The unique identifier of the participant.

Returns

uint

The number of button ups.

Properties

ButtonText

Gets the text displayed on the button control.
public string ButtonText { get; }

Property Value

string

The text displayed on the button control.

Cost

Gets the spark cost assigned to the button control.
public uint Cost { get; }

Property Value

uint

The spark cost.

RemainingCooldown

Gets the time remaining (in milliseconds) before this button can be clicked again.
public int RemainingCooldown { get; }

Property Value

int

The time remaining (in milliseconds).

Progress

Gets the current progress of this button control.
public float Progress { get; }

Property Value

float

Current progress.

ButtonDown

Indicates whether the button has transitioned from up to down since the last call to DoWork().
public bool ButtonDown { get; }

Property Value

bool

Value that indicates whether the button has transitioned from up to down.

ButtonPressed

Indicates whether the button is pressed since the last call to DoWork().
public bool ButtonPressed { get; }

Property Value

bool

Value that indicates whether the button is pressed.

ButtonUp

Indicates whether the button has transitioned from down to up since the last call to DoWork().
public bool ButtonUp { get; }

Property Value

bool

Value that indicates whether the button has transitioned from down to up.

CountOfButtonDowns

Gets the number of button downs since the last call to DoWork().
public uint CountOfButtonDowns { get; }

Property Value

uint

The number of button downs.

CountOfButtonPresses

Gets the number of button presses since the last call to DoWork().
public uint CountOfButtonPresses { get; }

Property Value

uint

The number of button presses.

CountOfButtonUps

Gets the number of button ups since the last call to DoWork().
public uint CountOfButtonUps { get; }

Property Value

uint

The number of button ups.

InteractiveJoystickControl

InteractiveJoystickControl Class

Represents a Mixer interactivity joystick control. This class is derived from InteractiveControl. All controls are created and configured using the Mixer Interactive Studio.

Declaration

public class InteractiveJoystickControl

Constructor

InteractiveJoystickControl(string, bool, string, string, string)

Creates the joystick control class.
public InteractiveJoystickControl(string controlID, bool enabled, string helpText, string eTag, string sceneID)

Methods

GetX(uint)

Gets the X coordinate of the joystick for a particular Mixer participant since the last DoWork() call.
public double GetX(uint userID)

Parameters

userID uint
The unique identifier of the Mixer participant.

GetY(uint)

Gets the Y coordinate of the joystick for a particular Mixer participant since the last DoWork() call.
public double GetY(uint userID)

Parameters

userID uint
The unique identifier of the Mixer participant.

Properties

X

Gets the current X coordinate of the joystick, in the range of [-1, 1].
public double X { get; }

Property Value

double

The current X coordinate of the joystick.

Y

Gets the current Y coordinate of the joystick, in the range of [-1, 1].
public double Y { get; }

Property Value

double

The current Y coordinate of the joystick.

Intensity

Gets the current intensity of the joystick control, in the range of [0, 1].
public double Intensity { get; }

Property Value

double

The current intensity of the joystick.

InteractivityStateChangedEventArgs

InteractivityStateChangedEventArgs Class

Contains information about the Mixer interactivity manager's latest interactivity state.

Declaration

public class InteractivityStateChangedEventArgs

Properties

State

Gets the Mixer interactivity manager's latest interactivity state.
public InteractivityState State

Property Value

InteractivityState

The Mixer interactivity manager's latest interactivity state.

InteractiveParticipantStateChangedEventArgs

InteractiveParticipantStateChangedEventArgs Class

Contains information about the participant's state change event. This event is raised when a participant joins or leaves the Mixer channel.

Declaration

public class InteractiveParticipantStatedChangeEventArgs

Properties

Participant

Gets the participant whose state has changed. It can be a participant has just joined or left the Mixer channel.
public InteractiveParticipant Participant

Property Value

InteractiveParticipant

The participant who has just joined the Mixer channel.

State

Gets the participant's current state.
public InteractiveParticipantState State

Property Value

InteractiveParticipantState

The participant's current state.

MixerInteractive

MixerInteractive Class

Represents the MixerInteractive class object in Unity. Add this class to your title when you want it to go interactive. This class enables viewers to interact with a game scene made in Unity by managing state changes and event handlers.

Declaration

public class MixerInteractive

Methods

Initialize(bool)

Sets up connection to the Mixer interactivity service by initializing a background task.
public void Initialize(bool goInteractive = true)

Parameters

goInteractive bool
Value that indicates whether interactivity should start after initialization. If TRUE, the stream enters into interactivity after initialization. This value defaults to TRUE.

TriggerCooldown(string, int)

Disables a specified control for a period of time.
public void TriggerCooldown(string controlID, int cooldown)

Parameters

controlID string
The unique string identifier of the control to disable.
cooldown int
The cooldown duration (in milliseconds).

StartInteractive()

Used by the title to inform the Mixer service that it is ready to receive interactivity input. Returns a soft failure if initialization has not yet been completed. Returns a descriptive error message if initialization fails.
public void StartInteractive()

StopInteractive()

Used by the title to inform the Mixer service that it is no longer receiving interactivity input.
public void StopInteractive()

DoWork()

Manages and maintains proper state updates between the title and the Mixer Service. To ensure best performance, DoWork() must be called frequently, such as once per frame. Title needs to be thread safe when calling DoWork() since this is when states are changed.
public void DoWork()

Dispose()

Closes the web socket and free the resources used by Mixer interactivity manager.
public void Dispose()

SendMockWebSocketMessage(string)

Sends the specified text message as a mock web socket message.
public void SendMockWebSocketMessage(string rawText)

Parameters

rawText string
The text message to send.

GetButtonDown(string)

Indicates whether the button is currently pressed down. If TRUE, the button is down.
public static bool GetButtonDown(string controlID)

Parameters

controlID string
The unique string identifier of the control.

Returns

bool

Value that indicates whether the button is currently pressed down.

GetButton(string)

Indicates whether the button is currently pressed. If TRUE, the button is pressed.
public static bool GetButton(string controlID)

Parameters

controlID string
The unique string identifier of the control.

Returns

bool

Value that indicates whether the button is currently pressed.

GetButtonDown(string)

Indicates whether the button is currently up. If TRUE, the button is up.
public static bool GetButtonUp(string controlID)

Parameters

controlID string
The unique string identifier of the control.

Returns

bool

Value that indicates whether the button is currently pressed up.

GetButtonDownCount(string)

Gets the number of buttons with the specified control ID that are pressed down.
public static uint GetButtonDownCount(string controlID)

Parameters

controlID string
The unique string identifier of the control.

Returns

uint

The number of buttons that are pressed down.

GetButtonCount(string)

Gets the number of buttons with the specified control ID that are pressed.
public static uint GetButtonCount(string controlID)

Parameters

controlID string
The unique string identifier of the control.

Returns

uint

The number of buttons that are pressed.

GetButtonUpCount(string)

Gets the number of buttons with the specified control ID that are up.
public static uint GetButtonUpCount(string controlID)

Parameters

controlID string
The unique string identifier of the control.

Returns

uint

The number of buttons that are up.

GetJoystickX(string)

Gets the X coordinate of a particular joystick.
public static float GetJoystickX(string controlID)

Parameters

controlID string
The unique string identifier of the control.

Returns

float

The X coordinate of a joystick.

GetJoystickY(string)

Gets the X coordinate of a particular joystick.
public static float GetJoystickY(string controlID)

Parameters

controlID string
The unique string identifier of the control.

Returns

float

The Y coordinate of a joystick.

GoInteractive()

Connects to the Mixer service and informs the service that the Mixer interactivity manager is ready to recieve messages. This method also handles signal authentication events, if necessary.
public static void GoInteractive()

OnGointeractiveHandler(object, EventArgs)

The delegate type that defines the set of arguments that are passed to the method that handles the title's interactivity change event.
public delegate void OnGointeractiveHandler(object sender, EventArgs e)

Parameters

sender object
The Mixer interactivity manager.
e EventArgs
Contains information about the title's interactivity.

OnErrorEventHandler(object, InteractiveEventArgs)

The delegate type that defines the set of arguments that are passed to the method that handles an error event.
public delegate void OnErrorEventHandler(object sender, InteractiveEventArgs e)

Parameters

sender object
The Mixer interactivity manager.
e InteractiveEventArgs
Contains information about the error event.

OnInteractivityStateChangedHandler(object, InteractivityStateChangedEventArgs)

The delegate type that defines the set of arguments that are passed to the method that handles the interactivity state change event.
public delegate void OnInteractivityStateChangedHandler(object sender, InteractivityStateChangedEventArgs e)

Parameters

sender object
The Mixer interactivity manager.
e InteractivityStateChangedEventArgs
Contains information about the interactivity state change event.

OnParticipantStateChangedHandler(object, InteractiveEventArgs)

The delegate type that defines the set of arguments that are passed to the method that handles the participant state change event.
public delegate void OnParticipantStateChangedHandler(object sender, InteractiveEventArgs e)

Parameters

sender object
The participant.
e InteractiveEventArgs
Contains information about the participant state change event.

OnInteractiveButtonEventHandler(object, InteractiveButtonEventArgs)

The delegate type that defines the set of arguments that are passed to the method that handles the button state change event.
public delegate void OnInteractiveButtonEventHandler(object sender, InteractiveButtonEventArgs e)

Parameters

sender object
The button.
e InteractiveButtonEventArgs
Contains information about the button change event

OnInteractiveJoystickControlEventHandler(object, InteractiveJoystickEventArgs)

The delegate type that defines the set of arguments that are passed to the method that handles the button state change event.
public delegate void OnInteractiveJoystickControlEventHandler(object sender, InteractiveJoystickEventArgs e)

Parameters

sender object
The joystick.
e InteractiveJoystickEventArgs
Contains information about the joystick change event

Properties

IsInteractive

Gets the interactivity state of the Mixer interactivity manager.
public InteractivityState InteractivityState { get; }

Property Value

string

The interactivity state of the Mixer interactivity manager.

Scenes

Gets all the scenes associated with the current interactivity instance.
public IList<InteractiveScene> Scenes { get; }

Property Value

IList<InteractiveScene>

All the scenes.

Participants

Gets all the participants.
public IList<InteractiveParticipant> Participants { get; }

Property Value

IList<InteractiveParticipant>

All the participants.

Buttons

Gets all button controls.
public IList<InteractiveButtonControl> Buttons { get; }

Property Value

IList<InteractiveButtonControl>

All button controls.

Joysticks

Gets all joystick controls.
public IList<InteractiveJoystickControl> Joysticks { get; }

Property Value

IList<InteractiveJoystickControl>

All joystick controls.

ShortCode

Gets the string code that the broadcaster inputs on the Mixer website to authorize the interactivity session.
public string ShortCode { get; }

Property Value

string

The string code used for authorization.

Enums

LoggingLevel

LoggingLevel Enum

Describes the various levels of logging configuration provided by the Mixer SDK.

Declaration

public enum LoggingLevel

Fields

None No debug output.
Minimal Only errors and warnings.
Verbose All events, including every websocket and HTTP message.

InteractiveEventType

InteractiveEventType Enum

Describes the types of interactive events.

Declaration

public enum InteractiveEventType

Fields

Error This event is raised when the service or manager encounters an error. The Error and ErrorMessage members will contain pertinent info.
InteractivityStateChanged This event is raised when the interactivity state of the Mixer interactivity manager has changed.
ParticipantStateChanged This event is raised when a participant's state changes. For example, when the participant joins, leaves, or has input disabled.
Button This event is raised when there's button input.
Joystick This event is raised when there's joystick input.

InteractivityState

InteractivityState Enum

Describes the current state of the interactivity service. State transitions available: NotInitialized -> NotInteractive, NotInteractive -> InteractivePending, InteractivePending -> Interactive, Interactive -> NotInteractive

Declaration

public enum InteractivityState

Fields

NotInitialized The Mixer interactivity manager is not initialized.
Initializing The Mixer interactivity manager is in the process of initializing.
ShortCodeRequired The Mixer interactivity manager requires the user to be authenticated with the service. User needs to go to the Mixer website to enter a code.
Initialized The Mixer interactivity manager is initialized.
InteractivityDisabled The Mixer interactivity manager is initialized, but interactivity is disabled.
InteractivePending Currently connecting to the interactivity service.
Interactive Interactivity is enabled.

InteractiveParticipantState

InteractiveParticipantState Enum

Describes the current state of the participant.

Declaration

public enum InteractiveParticipantState

Fields

Joined The participant joined the channel.
Disabled The participant's input is disabled.
Left The participant left the channel.

Need more help?

If you're still not sure, or would like some help, hit us up on Gitter!