Proxima Inspector FAQ

Proxima supports editing most types of properties:

Supported Property Types:
  • All C# built-in value types, except decimal.
  • string, Vector2, Vector2Int, Vector3, Vector3Int, Quaternion, Vector4, Rect, RectInt, Bounds, BoundsInt, Color, LayerMask
  • All enums and flags.
  • Any struct or class marked as [Serializable] (since Update 1.2).
  • View, but not edit, all Unity object references (GameObjects, Components, Assets, etc.)
  • Arrays and Lists of any of the above.

If you think Proxima is missing an important type, please post your suggestion on the Discord Server.

Proxima Inspector is designed to have minimal impact on your game performance. It uses a WebSocket connection to send minimal changes to the browser, and will only performs work when the relevant browser page is open:

  • Hierarchy Page: To detect these updates, Proxima will scan up to 10 gameObjects per frame for changes. You can modify this number by changing ProximaInspector.MaxGameObjectUpdatesPerFrame.
  • Inspector Page: Proxima will scan one component on the selected gameObject per frame for property changes. You can adjust the frequency each component is scanned by adjusting ProximaInspector.MaxComponentUpdateFrequency.
  • Logs Page: Proxima records log messages in a circular list so that you can see what happened in the recent past when you visit the Logs page. You can change the size of this list by editing the Log Buffer Size property on the inspector component.
  • Console Page: No performance impact until a command is issued.

Unity does not preserve the order of gameObjects in the scene of a built game. Even assigning a sibling index to the transform component will have no effect. This is why you can't reorder root gameObjects.

Proxima searches for serialized fields on components to display them in the inspector. This is the same as Unity's default behavior for MonoBehaviours. However, some components have custom editors which control their appearance in the Unity inspector. All custom editor code is stripped out of a built game, and so Proxima cannot access this information.

Managed Code Stripping may be removing some fields or properties from a built game if they are not used by your game code. By default, this happens for built-in Unity component properties which are configured in the editor, but not referenced in your code. You can control this setting under
"Project Settings > Player > Optimization > Managed Stripping Level"

Proxima prevents code stripping for many Unity component properties like Transform's localPosition by explicitly referencing them in Proxima/Runtime/Generated/ProximaReflection.Generated.cs. You can use one of the techniques described in the link above to prevent your components from being stripped.

Unity does not preserve the list of tags in a built game. You can assign a tag to any string.

Proxima depends on Unity's update loop to detect gameObject and component updates. When your game is not in focus, the update loop may be paused. You can configure this setting in Unity under: "Project Settings > Player > Resolution and Presentation > Run In Background"