I made significant contributions to a DIY VR project, focusing exclusively on the
Inspector section, which
provides users with a detailed, intuitive interface for interacting with selected objects. This system offers
a comprehensive overview
of every aspect of the selected object, including its properties and components, giving users the ability to
easily modify and manage
the objects attributes. By ensuring the interface was user-friendly and visually clear, I helped create a more
seamless and efficient
workflow for end users. The inspector also supports advanced functionalities such as drag-and-drop operations,
multi-object selection,
and real-time updates, making it a versatile tool for managing objects within the VR environment.
Unity Engine and Oculus Quest
-
Rahul
- Custom Inspector Development
The project was setup completely in Unity Engine and it was designated to run on
Oculus
Quest VR device. The project was
managed by two members (including me) and my task was to create a custom inpsector setup that can used in
runtime, mimicing the Unity
Inspector. In the DIY VR project, the inspector section plays a critical role in providing a clear,
intuitive interface for interacting with objects in the virtual environment. It is designed to give users
direct control
over the selected object by displaying all relevant properties and components in a well-organized manner.
Transform Section : This section prominently
shows the core properties of the object, such
as its name, position,
rotation, and scale values. Users can directly edit these properties to adjust how the object appears and
behaves in the scene.
Component List Section: Below the
transform section is a list of all components attached to the object.
Each component is represented by a button with an icon, making it easy to identify at a glance.
These components can include built-in components like rigidbodies or colliders,
as well as custom scripts or user-defined components.
Component Details: When a user clicks on a
component button, detailed information about that component is
displayed.
This information is broken down into fields and references. Fields can include any editable property within
the component,
while references point to other objects or components in the scene. The system uses reflection to
automatically extract and
display all the fields in a clean, readable format.
Reference Selection Panel: If a component
contains references (e.g., to a collider or another object),
clicking a reference button opens a small panel displaying all relevant game objects that can be assigned to
this reference.
For instance, if the reference is a collider, the panel will list all game objects that have collider
components.
Users can then either select an object from the list or use a drag-and-drop feature to assign it.
Drag-and-Drop Support: The inspector
allows users to drag objects from the scene directly into the reference
fields in the
inspector, making it simple to assign components and objects without needing to type in or search for names
manually.
Lock Button: A lock button is provided to
keep the current object’s inspector view fixed, allowing users to
interact with
other parts of the scene without losing the view of the currently selected object’s details. This is
especially useful when
adjusting multiple objects or comparing settings across objects.
Default Component Selection: Upon
selecting an object, the first component in the list is automatically
selected, and its
details are loaded into the inspector. This saves the user time by immediately providing access to component
information
without extra clicks.
Multiple Object Selection: When multiple
objects are selected in the scene, the inspector intelligently
updates to show only
the components that are shared across all the selected objects. This allows for bulk-editing shared
properties without
losing track of individual object specifics.
The entire inspector system is designed to enhance usability and efficiency in VR
development, ensuring that users
have a powerful, flexible tool to manage object properties, components, and references seamlessly. The
combination of reflection-based
field extraction, dynamic reference selection, and a user-friendly interface makes this inspector a vital part
of the VR development
workflow.