/// The scale (ex: World Scale) of the experience.
/// </summary>
ExperienceScaleScale{get;set;}
/// <summary>
/// The height of the play space, in meters.
/// </summary>
/// <remarks>
/// This is used to create a three dimensional boundary volume.
/// </remarks>
floatBoundaryHeight{get;set;}
/// <summary>
/// Enable / disable floor rendering.
/// </summary>
boolShowFloor{get;set;}
/// <summary>
/// The physics layer that the generated floor is assigned to.
/// </summary>
intFloorPhysicsLayer{get;set;}
/// <summary>
/// Enable / disable play area rendering.
/// </summary>
boolShowPlayArea{get;set;}
/// <summary>
/// The physics layer that the generated play area is assigned to.
/// </summary>
intPlayAreaPhysicsLayer{get;set;}
/// <summary>
/// Enable / disable tracked area rendering.
/// </summary>
boolShowTrackedArea{get;set;}
/// <summary>
/// The physics layer that the generated tracked area is assigned to.
/// </summary>
intTrackedAreaPhysicsLayer{get;set;}
/// <summary>
/// Enable / disable boundary wall rendering.
/// </summary>
boolShowBoundaryWalls{get;set;}
/// <summary>
/// The physics layer that the generated boundary walls are assigned to.
/// </summary>
intBoundaryWallsPhysicsLayer{get;set;}
/// <summary>
/// Enable / disable ceiling rendering.
/// </summary>
/// <remarks>
/// The ceiling is defined as a <see href="https://docs.unity3d.com/ScriptReference/GameObject.html">GameObject</see> positioned <see cref="BoundaryHeight"/> above the floor.
/// </remarks>
boolShowBoundaryCeiling{get;set;}
/// <summary>
/// The physics layer that the generated boundary ceiling is assigned to.
/// </summary>
intCeilingPhysicsLayer{get;set;}
/// <summary>
/// Two dimensional representation of the geometry of the boundary, as provided
/// by the platform.
/// </summary>
/// <remarks>
/// BoundaryGeometry should be treated as the outline of the player's space, placed
/// on the floor.
/// </remarks>
Edge[]Bounds{get;}
/// <summary>
/// Indicates the height of the floor, in relation to the coordinate system origin.
/// </summary>
/// <remarks>
/// If a floor has been located, FloorHeight.HasValue will be true, otherwise it will be false.
/// </remarks>
float?FloorHeight{get;}
/// <summary>
/// Determines if a location is within the specified area of the boundary space.
/// </summary>
/// <param name="location">The location to be checked.</param>
/// <param name="boundaryType">The type of boundary space being checked.</param>
/// <returns>True if the location is within the specified area of the boundary space.</returns>
/// <remarks>
/// Use:
/// BoundaryType.PlayArea for the inscribed volume
/// BoundaryType.TrackedArea for the area defined by the boundary edges.
/// Gets the <see href="https://docs.unity3d.com/ScriptReference/GameObject.html">GameObject</see> that represents the user's floor.
/// </summary>
/// <returns>The floor visualization object or null if one does not exist.</returns>
GameObjectGetFloorVisualization();
/// <summary>
/// Gets the <see href="https://docs.unity3d.com/ScriptReference/GameObject.html">GameObject</see> that represents the user's play area.
/// </summary>
/// <returns>The play area visualization object or null if one does not exist.</returns>
GameObjectGetPlayAreaVisualization();
/// <summary>
/// Gets the <see href="https://docs.unity3d.com/ScriptReference/GameObject.html">GameObject</see> that represents the user's tracked area.
/// </summary>
/// <returns>The tracked area visualization object or null if one does not exist.</returns>
GameObjectGetTrackedAreaVisualization();
/// <summary>
/// Gets the <see href="https://docs.unity3d.com/ScriptReference/GameObject.html">GameObject</see> that represents the user's boundary walls.
/// </summary>
/// <returns>The boundary wall visualization object or null if one does not exist.</returns>
GameObjectGetBoundaryWallVisualization();
/// <summary>
/// Gets the <see href="https://docs.unity3d.com/ScriptReference/GameObject.html">GameObject</see> that represents the upper surface of the user's boundary.
/// </summary>
/// <returns>The boundary ceiling visualization object or null if one does not exist.</returns>
/// The controller handedness this component is synchronized with.
/// </summary>
HandednessHandedness{get;}
/// <summary>
/// Should this <see href="https://docs.unity3d.com/ScriptReference/GameObject.html">GameObject</see> clean itself up when its controller is lost?
/// </summary>
/// <remarks>It's up to the implementation to properly destroy the <see href="https://docs.unity3d.com/ScriptReference/GameObject.html">GameObject</see>'s this interface will implement.</remarks>
boolDestroyOnSourceLost{get;set;}
/// <summary>
/// The current controller reference.
/// </summary>
IMixedRealityControllerController{get;set;}
/// <summary>
/// Should the Transform's position be driven from the source pose or from input handler?
/// </summary>
boolUseSourcePoseData{get;set;}
/// <summary>
/// The input action that will drive the Transform's pose, position, or rotation.
/// Is the system currently listing for dictation input?
/// </summary>
boolIsListening{get;}
/// <summary>
/// Turns on the dictation recognizer and begins recording audio from the default microphone.
/// </summary>
/// <param name="listener">GameObject listening for the dictation input.</param>
/// <param name="initialSilenceTimeout">The time length in seconds before dictation recognizer session ends due to lack of audio input in case there was no audio heard in the current session.</param>
/// <param name="autoSilenceTimeout">The time length in seconds before dictation recognizer session ends due to lack of audio input.</param>
/// <param name="recordingTime">Length in seconds for the manager to listen.</param>
/// <param name="micDeviceName">Optional: The microphone device to listen to.</param>
/// Turns on the dictation recognizer and begins recording audio from the default microphone.
/// </summary>
/// <param name="listener">GameObject listening for the dictation input.</param>
/// <param name="initialSilenceTimeout">The time length in seconds before dictation recognizer session ends due to lack of audio input in case there was no audio heard in the current session.</param>
/// <param name="autoSilenceTimeout">The time length in seconds before dictation recognizer session ends due to lack of audio input.</param>
/// <param name="recordingTime">Length in seconds for the manager to listen.</param>
/// <param name="micDeviceName">Optional: The microphone device to listen to.</param>