Tilt Five™ Unity API  1.4.1
TiltFive.TiltFiveManager Class Reference

The Tilt Five manager. More...

Inheritance diagram for TiltFive.TiltFiveManager:
TiltFive.SingletonComponent< TiltFiveManager > TiltFive.ISceneInfo

Public Member Functions

bool NeedsDriverUpdate ()
 Check if a driver update is needed. More...
 
float GetScaleToUWRLD_UGBD ()
 
Pose GetGameboardPose ()
 
Camera GetEyeCamera ()
 
uint GetSupportedPlayerCount ()
 
bool IsActiveAndEnabled ()
 

Public Attributes

ScaleSettings scaleSettings
 The scale conversion runtime configuration data. More...
 
GameBoardSettings gameBoardSettings
 The game board runtime configuration data. More...
 
GlassesSettings glassesSettings
 The glasses runtime configuration data. More...
 
WandSettings primaryWandSettings
 
WandSettings secondaryWandSettings
 
SpectatorSettings spectatorSettings = new SpectatorSettings()
 The spectator camera's runtime configuration data. More...
 
GraphicsSettings graphicsSettings = new GraphicsSettings()
 Project-wide graphics settings related to Tilt Five. More...
 
LogSettings logSettings = new LogSettings()
 The log settings. More...
 

Protected Member Functions

override void Awake ()
 Awake this instance. More...
 

Properties

WandSettings leftWandSettings [get, set]
 The wand runtime configuration data for the left hand wand. More...
 
WandSettings rightWandSettings [get, set]
 The wand runtime configuration data for the right hand wand. More...
 
- Properties inherited from TiltFive.SingletonComponent< TiltFiveManager >
static T Instance [get]
 

Private Member Functions

void Update ()
 Update this instance. More...
 
void LateUpdate ()
 Update this instance after all components have finished executing their Update() functions. More...
 
void GetLatestPoseData ()
 Obtains the latest pose for all trackable objects. More...
 
void OnEnable ()
 Called when the GameObject is enabled. More...
 
void OnDisable ()
 
void OnDestroy ()
 
void OnApplicationQuit ()
 
void RefreshSpectatorSettings ()
 
void RefreshPlayerSettings ()
 

Static Private Member Functions

static void Quit ()
 
static void RunOnStart ()
 

Private Attributes

bool needsDriverUpdateNotifiedOnce = false
 
bool needsDriverUpdateErroredOnce = false
 

Detailed Description

The Tilt Five manager.

Definition at line 46 of file TiltFiveManager.cs.

Member Function Documentation

◆ Awake()

override void TiltFive.TiltFiveManager.Awake ( )
protectedvirtual

Awake this instance.

Reimplemented from TiltFive.SingletonComponent< TiltFiveManager >.

Definition at line 122 of file TiltFiveManager.cs.

123  {
124  base.Awake();
125 
126  // Apply log settings
129 
130  // Store graphics settings
131  graphicsSettings.applicationTargetFramerate = Application.targetFrameRate;
132  graphicsSettings.applicationVSyncCount = QualitySettings.vSyncCount;
133 
134  if (!SystemControl.SetPlatformContext())
135  {
136  Log.Warn("Failed to set application context.");
137  enabled = false;
138  }
139 
140  if (!SystemControl.SetApplicationInfo())
141  {
142  Log.Warn("Failed to send application info to the T5 Service.");
143  enabled = false;
144  }
145 
147 
151  }
Camera cameraTemplate
The camera used as a template for creating the eye cameras at runtime.
GlassesMirrorMode glassesMirrorMode
The Logger.
Definition: Log.cs:42
static void Warn(string m, params object[] list)
WARN logging function call.
Definition: Log.cs:166
static int LogLevel
Gets or sets the logging level.
Definition: Log.cs:68
static string TAG
Gets or sets the logging tag.
Definition: Log.cs:58
PlayerIndex spectatedPlayer
The player that will have their perspective mirrored on screen.
GlassesMirrorMode glassesMirrorMode
The spectator camera will display content on screen depending on the mirroring mode....
Camera spectatorCamera
The camera used for rendering the onscreen preview
LogSettings logSettings
The log settings.
SpectatorSettings spectatorSettings
The spectator camera's runtime configuration data.
GraphicsSettings graphicsSettings
Project-wide graphics settings related to Tilt Five.
GlassesSettings glassesSettings
The glasses runtime configuration data.

References TiltFive.GlassesSettings.cameraTemplate, TiltFive.GlassesSettings.glassesMirrorMode, TiltFive.SpectatorSettings.glassesMirrorMode, TiltFive.TiltFiveManager.glassesSettings, TiltFive.TiltFiveManager.graphicsSettings, TiltFive.Logging.LogSettings.level, TiltFive.Logging.Log.LogLevel, TiltFive.TiltFiveManager.logSettings, TiltFive.PlayerSettings.PlayerIndex, TiltFive.TiltFiveManager.RefreshPlayerSettings(), TiltFive.SpectatorSettings.spectatedPlayer, TiltFive.SpectatorSettings.spectatorCamera, TiltFive.TiltFiveManager.spectatorSettings, TiltFive.Logging.LogSettings.TAG, TiltFive.Logging.Log.TAG, and TiltFive.Logging.Log.Warn().

◆ GetEyeCamera()

Camera TiltFive.TiltFiveManager.GetEyeCamera ( )

Implements TiltFive.ISceneInfo.

Definition at line 512 of file TiltFiveManager.cs.

513  {
514  return Glasses.GetLeftEye(PlayerIndex.One);
515  }
The Glasses API and runtime.
Definition: Glasses.cs:35
static Camera GetLeftEye(PlayerIndex playerIndex)
Gets the left eye camera for the specified player's glasses.
Definition: Glasses.cs:268
PlayerIndex
The Player index (e.g. Player One, Player Two, etc)

References TiltFive.Glasses.GetLeftEye().

◆ GetGameboardPose()

Pose TiltFive.TiltFiveManager.GetGameboardPose ( )

Implements TiltFive.ISceneInfo.

Definition at line 507 of file TiltFiveManager.cs.

508  {
509  return new Pose(gameBoardSettings.gameBoardCenter, Quaternion.Euler(gameBoardSettings.gameBoardRotation));
510  }
Vector3 gameBoardRotation
The game board rotation or focal rotational offset.
Vector3 gameBoardCenter
The game board position or focal position offset.
GameBoardSettings gameBoardSettings
The game board runtime configuration data.

References TiltFive.GameBoardSettings.gameBoardCenter, TiltFive.GameBoardSettings.gameBoardRotation, and TiltFive.TiltFiveManager.gameBoardSettings.

◆ GetLatestPoseData()

void TiltFive.TiltFiveManager.GetLatestPoseData ( )
private

Obtains the latest pose for all trackable objects.

Definition at line 249 of file TiltFiveManager.cs.

250  {
251  Glasses.UpdateAllGlassesCores(glassesSettings, scaleSettings, gameBoardSettings);
254  }
WandSettings rightWandSettings
The wand runtime configuration data for the right hand wand.
ScaleSettings scaleSettings
The scale conversion runtime configuration data.
WandSettings leftWandSettings
The wand runtime configuration data for the left hand wand.
The Wand API and runtime.
Definition: Wand.cs:56
static void Update(WandSettings wandSettings, ScaleSettings scaleSettings, GameBoardSettings gameBoardSettings, PlayerIndex playerIndex=PlayerIndex.One)
Definition: Wand.cs:305

References TiltFive.TiltFiveManager.gameBoardSettings, TiltFive.TiltFiveManager.glassesSettings, TiltFive.TiltFiveManager.leftWandSettings, TiltFive.TiltFiveManager.rightWandSettings, TiltFive.TiltFiveManager.scaleSettings, and TiltFive.Wand.Update().

◆ GetScaleToUWRLD_UGBD()

float TiltFive.TiltFiveManager.GetScaleToUWRLD_UGBD ( )

Implements TiltFive.ISceneInfo.

Definition at line 502 of file TiltFiveManager.cs.

503  {
505  }
float gameBoardScale
The game board's scale multiplies the perceived size of objects in the scene.
float GetScaleToUWRLD_UGBD(float gameboardScale)

References TiltFive.GameBoardSettings.gameBoardScale, TiltFive.TiltFiveManager.gameBoardSettings, TiltFive.ScaleSettings.GetScaleToUWRLD_UGBD(), and TiltFive.TiltFiveManager.scaleSettings.

◆ GetSupportedPlayerCount()

uint TiltFive.TiltFiveManager.GetSupportedPlayerCount ( )

Implements TiltFive.ISceneInfo.

Definition at line 517 of file TiltFiveManager.cs.

518  {
519  return 1; // TODO: Change this if we decide to include spectators with TiltFiveManager
520  }

Referenced by TiltFive.TiltFiveManager.OnEnable(), and TiltFive.TiltFiveManager.RefreshSpectatorSettings().

◆ IsActiveAndEnabled()

bool TiltFive.TiltFiveManager.IsActiveAndEnabled ( )

Implements TiltFive.ISceneInfo.

Definition at line 522 of file TiltFiveManager.cs.

523  {
524  return isActiveAndEnabled;
525  }

◆ LateUpdate()

void TiltFive.TiltFiveManager.LateUpdate ( )
private

Update this instance after all components have finished executing their Update() functions.

Definition at line 237 of file TiltFiveManager.cs.

238  {
239  // Trackables should be updated just before rendering occurs,
240  // after all Update() calls are completed.
241  // This allows any Game Board movements to be finished before we base the
242  // Glasses/Wand poses off of its pose, preventing perceived jittering.
243  Player.Update(playerSettings, spectatorSettings);
244  }
Provides access to player settings and functionality.
Definition: Player.cs:31

References TiltFive.TiltFiveManager.spectatorSettings.

◆ NeedsDriverUpdate()

bool TiltFive.TiltFiveManager.NeedsDriverUpdate ( )

Check if a driver update is needed.

Note that this can also return false if this has not yet been able to connect to the Tilt Five driver service (compatibility state unknown), so this may need to be called multiple times in that case. This only returns true if we can confirm that the driver is incompatible.

If it is necessary to distinguish between unknown and compatible, use GetServiceCompatibility directly.

Definition at line 267 of file TiltFiveManager.cs.

268  {
270  {
271  try
272  {
273  ServiceCompatibility compatibility = SystemControl.GetServiceCompatibility();
274  bool needsUpdate = compatibility == ServiceCompatibility.Incompatible;
275 
276  if (needsUpdate)
277  {
279  {
280  Log.Warn("Incompatible Tilt Five service. Please update driver package.");
282  }
283  }
284  else
285  {
286  // Not incompatible. Reset the incompatibility warning.
288  }
289  return needsUpdate;
290  }
291  catch (System.DllNotFoundException e)
292  {
293  Log.Info(
294  "Could not connect to Tilt Five plugin for compatibility check: {0}",
295  e.Message);
297  }
298  catch (System.Exception e)
299  {
300  Log.Error(e.Message);
302  }
303  }
304 
305  // Failed to communicate with Tilt Five plugin at some point, so don't know whether
306  // an update is needed or not. Just say no.
307  return false;
308  }
static void Info(string m, params object[] list)
INFO logging function call.
Definition: Log.cs:140
static void Error(string m, params object[] list)
ERROR logging function call.
Definition: Log.cs:127
ServiceCompatibility
Whether the running service is compatible.

References TiltFive.Logging.Log.Error(), TiltFive.Logging.Log.Info(), TiltFive.TiltFiveManager.needsDriverUpdateErroredOnce, TiltFive.TiltFiveManager.needsDriverUpdateNotifiedOnce, and TiltFive.Logging.Log.Warn().

Referenced by TiltFive.TiltFiveManager.Update().

◆ OnApplicationQuit()

void TiltFive.TiltFiveManager.OnApplicationQuit ( )
private

Definition at line 350 of file TiltFiveManager.cs.

351  {
352  OnDisable();
353  }

References TiltFive.TiltFiveManager.OnDisable().

◆ OnDestroy()

void TiltFive.TiltFiveManager.OnDestroy ( )
private

Definition at line 345 of file TiltFiveManager.cs.

346  {
347  Player.OnDisable();
348  }

◆ OnDisable()

void TiltFive.TiltFiveManager.OnDisable ( )
private

Definition at line 337 of file TiltFiveManager.cs.

338  {
339 #if UNITY_2019_1_OR_NEWER && INPUTSYSTEM_AVAILABLE
340  InputSystem.onBeforeUpdate -= OnBeforeUpdate;
341 #endif
342  Player.OnDisable();
343  }

Referenced by TiltFive.TiltFiveManager.OnApplicationQuit().

◆ OnEnable()

void TiltFive.TiltFiveManager.OnEnable ( )
private

Called when the GameObject is enabled.

Definition at line 313 of file TiltFiveManager.cs.

314  {
315  try
316  {
317  NativePlugin.SetMaxDesiredGlasses((byte)GetSupportedPlayerCount());
318  }
319  catch (System.DllNotFoundException e)
320  {
321  Log.Info(
322  "Could not connect to Tilt Five plugin for setting max glasses: {0}",
323  e.Message);
324  }
325  catch (System.Exception e)
326  {
327  Log.Error(e.Message);
328  }
329 
331 
332 #if UNITY_2019_1_OR_NEWER && INPUTSYSTEM_AVAILABLE
333  InputSystem.onBeforeUpdate += OnBeforeUpdate;
334 #endif
335  }
static void Reset(GlassesSettings glassesSettings, SpectatorSettings spectatorSettings=null, PlayerIndex playerIndex=PlayerIndex.None)
Reset this T:TiltFive.Glasses.
Definition: Glasses.cs:317

References TiltFive.Logging.Log.Error(), TiltFive.TiltFiveManager.GetSupportedPlayerCount(), TiltFive.TiltFiveManager.glassesSettings, TiltFive.Logging.Log.Info(), and TiltFive.Glasses.Reset().

◆ Quit()

static void TiltFive.TiltFiveManager.Quit ( )
staticprivate

Definition at line 360 of file TiltFiveManager.cs.

361  {
362  try
363  {
364  NativePlugin.UnloadWorkaround();
365  }
366  catch (System.DllNotFoundException)
367  {
368  // Nothing to report on quit if the plugin isn't present
369  }
370  catch (System.Exception e)
371  {
372  Log.Error(e.Message);
373  }
374  }

References TiltFive.Logging.Log.Error().

Referenced by TiltFive.TiltFiveManager.RunOnStart().

◆ RefreshPlayerSettings()

void TiltFive.TiltFiveManager.RefreshPlayerSettings ( )
private

Definition at line 405 of file TiltFiveManager.cs.

406  {
407  /* In an initial implementation of TiltFiveManager's internal PlayerSettings object, we initialized
408  * a new PlayerSettings in Awake() and set its internal settings objects to TiltFiveManager's internal settings objects.
409  *
410  * However, this introduced a bug. The settings values in TiltFiveManager's custom inspector couldn't be
411  * modified when the editor was in play mode, which would be a fairly significant quality of life issue for developers.
412  *
413  * I'm a bit fuzzy on the underlying mechanism, but the issue seemed to be that in the TiltFiveManager's
414  * custom inspector code, the SerializedProperty API (for GlassesSettings, WandSettings, ScaleSettings, etc)
415  * couldn't apply edits to the underlying settings objects if they were owned/shared by multiple parent classes
416  * (e.g. the same GlassesSettings can't be owned by both a TiltFiveManager and a PlayerSettings without
417  * breaking SerializedProperty's ability to modify the GlassesSettings).
418  *
419  * So the fix was to stop sharing.
420  * Instead of building a PlayerSettings internally on Awake() that uses TiltFiveManager's existing settings objects,
421  * we build one that has its own unique internal settings objects, and any time an edit gets made,
422  * OnValidate() does a shallow copy to those objects using RefreshPlayerSettings(). */
423 
424  if(playerSettings == null)
425  {
426  return;
427  }
428  playerSettings.PlayerIndex = PlayerIndex.One;
429 
430  if (glassesSettings != null)
431  {
432  playerSettings.glassesSettings = glassesSettings.Copy();
433  }
434  if (rightWandSettings != null)
435  {
436  playerSettings.rightWandSettings = rightWandSettings.Copy();
437  }
438  if (leftWandSettings != null)
439  {
440  playerSettings.leftWandSettings = leftWandSettings.Copy();
441  }
442  if (gameBoardSettings != null)
443  {
444  playerSettings.gameboardSettings = gameBoardSettings.Copy();
445  }
446  if (scaleSettings != null)
447  {
448  playerSettings.scaleSettings = scaleSettings.Copy();
449  }
450  }
ScaleSettings scaleSettings
GameBoardSettings gameboardSettings
WandSettings leftWandSettings
GlassesSettings glassesSettings
WandSettings rightWandSettings

References TiltFive.PlayerSettings.gameboardSettings, TiltFive.TiltFiveManager.gameBoardSettings, TiltFive.PlayerSettings.glassesSettings, TiltFive.TiltFiveManager.glassesSettings, TiltFive.PlayerSettings.leftWandSettings, TiltFive.TiltFiveManager.leftWandSettings, TiltFive.PlayerSettings.PlayerIndex, TiltFive.PlayerSettings.rightWandSettings, TiltFive.TiltFiveManager.rightWandSettings, TiltFive.PlayerSettings.scaleSettings, and TiltFive.TiltFiveManager.scaleSettings.

Referenced by TiltFive.TiltFiveManager.Awake(), and TiltFive.TiltFiveManager.Update().

◆ RefreshSpectatorSettings()

void TiltFive.TiltFiveManager.RefreshSpectatorSettings ( )
private

Definition at line 382 of file TiltFiveManager.cs.

383  {
384  // Warn developers if they've left the glassesSettings camera template field empty, since it's still required for the original TiltFiveManager
385  if(glassesSettings.cameraTemplate == null)
386  {
387  Log.Warn("No camera template detected in TiltFiveManager's glassesSettings. A camera template is required.");
388  }
389 
390  // We don't expose any global settings like SpectatorSettings in TiltFiveManager's custom inspector,
391  // though they're still accessible from scripts.
392  // Just synchronize spectatorSettings from TiltFiveManager's glassesSettings as needed.
395 
396  // Make sure that the spectated player isn't set to a player index higher than what TiltFiveManager supports
397  var highestSupportedPlayer = (PlayerIndex)GetSupportedPlayerCount();
398  if (spectatorSettings.spectatedPlayer > highestSupportedPlayer)
399  {
400  Log.Warn($"Invalid spectatorSettings.spectatedPlayer [{spectatorSettings.spectatedPlayer}]. TiltFiveManager only supports one player.");
401  spectatorSettings.spectatedPlayer = highestSupportedPlayer;
402  }
403  }

References TiltFive.GlassesSettings.cameraTemplate, TiltFive.TiltFiveManager.GetSupportedPlayerCount(), TiltFive.GlassesSettings.glassesMirrorMode, TiltFive.SpectatorSettings.glassesMirrorMode, TiltFive.TiltFiveManager.glassesSettings, TiltFive.SpectatorSettings.spectatedPlayer, TiltFive.SpectatorSettings.spectatorCamera, TiltFive.TiltFiveManager.spectatorSettings, and TiltFive.Logging.Log.Warn().

Referenced by TiltFive.TiltFiveManager.Update().

◆ RunOnStart()

static void TiltFive.TiltFiveManager.RunOnStart ( )
staticprivate

Definition at line 377 of file TiltFiveManager.cs.

378  {
379  Application.quitting += Quit;
380  }

References TiltFive.TiltFiveManager.Quit().

◆ Update()

void TiltFive.TiltFiveManager.Update ( )
private

Update this instance.

Definition at line 186 of file TiltFiveManager.cs.

187  {
188 #if !UNITY_2019_1_OR_NEWER || !INPUTSYSTEM_AVAILABLE
190  Player.ScanForNewPlayers();
191  Wand.GetLatestInputs(); // Should only be executed once per frame
192 #endif
195  Display.ApplyGraphicsSettings(graphicsSettings);
196  Player.Update(playerSettings, spectatorSettings);
197 
198  var spectatedPlayer = spectatorSettings.spectatedPlayer;
199  if (Glasses.TryGetPreviewPose(spectatedPlayer, out var spectatedPlayerPose))
200  {
201  spectatorSettings.spectatorCamera?.transform.SetPositionAndRotation(
202  spectatedPlayerPose.position,
203  spectatedPlayerPose.rotation);
204  }
205 
206 #if UNITY_2019_1_OR_NEWER && INPUTSYSTEM_AVAILABLE
207  var devices = InputUser.GetUnpairedInputDevices();
208  if (devices.Count > 0)
209  {
210  foreach (InputDevice dev in devices)
211  {
212  if (dev is WandDevice)
213  {
214  var headPoseRoot = Glasses.GetPoseRoot(((WandDevice)dev).playerIndex);
215 
216  if (headPoseRoot != null)
217  {
218  var playerInput = headPoseRoot.GetComponentInChildren<PlayerInput>();
219 
220  if (playerInput != null && playerInput.user.valid)
221  {
222  Log.Warn($"Unpaired Wand Device [{((WandDevice)dev).ControllerIndex}] found and paired to Player [{((WandDevice)dev).playerIndex}].");
223  InputUser.PerformPairingWithDevice(dev, playerInput.user);
224  playerInput.user.ActivateControlScheme("XR");
225  }
226  }
227  }
228  }
229  }
230 #endif
231  }
static bool TryGetPreviewPose(PlayerIndex playerIndex, out Pose pose)
Attempts to get the position and orientation of the specified player's glasses, smoothed for on-scree...
Definition: Glasses.cs:233
static GameObject GetPoseRoot(PlayerIndex playerIndex)
Gets the pose root GameObject for the specified player.
Definition: Glasses.cs:254
bool NeedsDriverUpdate()
Check if a driver update is needed.

References TiltFive.Glasses.GetPoseRoot(), TiltFive.TiltFiveManager.graphicsSettings, TiltFive.TiltFiveManager.NeedsDriverUpdate(), TiltFive.TiltFiveManager.RefreshPlayerSettings(), TiltFive.TiltFiveManager.RefreshSpectatorSettings(), TiltFive.SpectatorSettings.spectatedPlayer, TiltFive.SpectatorSettings.spectatorCamera, TiltFive.TiltFiveManager.spectatorSettings, TiltFive.Glasses.TryGetPreviewPose(), and TiltFive.Logging.Log.Warn().

Member Data Documentation

◆ gameBoardSettings

◆ glassesSettings

◆ graphicsSettings

GraphicsSettings TiltFive.TiltFiveManager.graphicsSettings = new GraphicsSettings()

Project-wide graphics settings related to Tilt Five.

Definition at line 99 of file TiltFiveManager.cs.

Referenced by TiltFive.TiltFiveManager.Awake(), and TiltFive.TiltFiveManager.Update().

◆ logSettings

LogSettings TiltFive.TiltFiveManager.logSettings = new LogSettings()

The log settings.

Definition at line 104 of file TiltFiveManager.cs.

Referenced by TiltFive.TiltFiveManager.Awake().

◆ needsDriverUpdateErroredOnce

bool TiltFive.TiltFiveManager.needsDriverUpdateErroredOnce = false
private

Definition at line 115 of file TiltFiveManager.cs.

Referenced by TiltFive.TiltFiveManager.NeedsDriverUpdate().

◆ needsDriverUpdateNotifiedOnce

bool TiltFive.TiltFiveManager.needsDriverUpdateNotifiedOnce = false
private

Definition at line 114 of file TiltFiveManager.cs.

Referenced by TiltFive.TiltFiveManager.NeedsDriverUpdate().

◆ primaryWandSettings

WandSettings TiltFive.TiltFiveManager.primaryWandSettings

Definition at line 67 of file TiltFiveManager.cs.

◆ scaleSettings

ScaleSettings TiltFive.TiltFiveManager.scaleSettings

◆ secondaryWandSettings

WandSettings TiltFive.TiltFiveManager.secondaryWandSettings

Definition at line 69 of file TiltFiveManager.cs.

◆ spectatorSettings

SpectatorSettings TiltFive.TiltFiveManager.spectatorSettings = new SpectatorSettings()

Property Documentation

◆ leftWandSettings

WandSettings TiltFive.TiltFiveManager.leftWandSettings
getset

The wand runtime configuration data for the left hand wand.

Definition at line 74 of file TiltFiveManager.cs.

74  {
75  #pragma warning disable 618 // this is for compatibility; disable obsolete warning
76  get => secondaryWandSettings;
77  set => secondaryWandSettings = value;
78  #pragma warning restore 618
79  }
WandSettings secondaryWandSettings

Referenced by TiltFive.TiltFiveManager.GetLatestPoseData(), and TiltFive.TiltFiveManager.RefreshPlayerSettings().

◆ rightWandSettings

WandSettings TiltFive.TiltFiveManager.rightWandSettings
getset

The wand runtime configuration data for the right hand wand.

Definition at line 84 of file TiltFiveManager.cs.

84  {
85  #pragma warning disable 618 // this is for compatibility; disable obsolete warning
86  get => primaryWandSettings;
87  set => primaryWandSettings = value;
88  #pragma warning restore 618
89  }
WandSettings primaryWandSettings

Referenced by TiltFive.TiltFiveManager.GetLatestPoseData(), and TiltFive.TiltFiveManager.RefreshPlayerSettings().


The documentation for this class was generated from the following file: