Relevant VE2 documentation is linked at the bottom of this page

Lesson Five

<aside> ℹ️ You’re near the end of the course! This lesson has deliberately been made to be pretty light to give you time to finish up any exercises from previous lessons that may still need doing. If there are any exercises from previous lessons that haven’t been completed, go and finish those up!

</aside>

V_CustomInfoPoints

In this course, you’ve already seen VE2 primary and secondary UIs, as well as worldspace UIs. There are another kind of UI called InfoPoints: these are UIs that can turned on and off by the player, with preconfigured settings to make it easier to put text, images or video into the scene. InfoPoints are also based in worldspace rather than screen space, because worldspace is much more suitable for VR.

Attaching an InfoPoint component to an empty gameobject will create two child gameobjects:

  1. Trigger: This appears as a bubble that the user clicks on to activate the canvas. The exact visual used for the trigger can be configured in the InfoPoints inspector, under “Trigger Settings”.
  2. Canvas: This holds the UI. The exact content of this UI depends on the type of InfoPoint chosen and the way it has been configured.

There is currently only a single InfoPoint type in VE2

<aside> 📝

Exercise One - Create InfoPoints

Deploying your plugin

Throughout this course, you have been developing a VE2 Plugin, which we refer to as a VE2 World. VE2 is not any single application, but a platform hosting a wide array of these worlds. When end-users (students and teachers) run VE2 in the lab, they will be taken to the VE2 Hub, where they can browse the available worlds and select which one to travel to.

To convert your Unity project to a VE2 world that appears on the list within the VE2 Hub, you will have to “build” your plugin. There are a few steps to this:

The ViRSE Hub, showing a number of plugins/worlds. VE2’s hub will be similar to this, but is not yet fully implemented

The ViRSE Hub, showing a number of plugins/worlds. VE2’s hub will be similar to this, but is not yet fully implemented

  1. Change the name of your scene: The name of your scene will become the name of your plugin, as shown in the Hub. This means you must choose a name that is unique, and that nobody else may have chosen (putting your own name in the scene name may help with this!) The scene name should also contain no spaces or special characters.

  2. Build your plugin: This process prepares your scene and scripts to be exported to the VE2 platform.

    1. Ensure your scene contains an active V_PlatformIntegration component. This may be on utility GameObject called “NetworkIntegration”. If not, you can add it into your scene by right clicking in the hierarchy, VE2→Networking→PlatformIntegration

    2. Ensure your scene is saved, and there are no compile errors

    3. In the bar at the top of the Unity window, select VE2→ Build VE2 World.

    4. If you’ve added any scripts into your scene, you should see an info box saying “1 (or more) code assemblies will be included in the build. If you don’t see this, close and reopen the Build VE2 Plugin window.

      image.png

    5. Choose your target platform (likely Windows), and hit Build. The first build may take some time, future builds will go faster!

<aside> ⚠️

If you see an error mentioning “could not copy DLL to path” or something similar, look in the console and check to see if there are any compile errors when building. If there are (likely imports to editor-only libraries within your scripts), fix these, reopen the Build VE2 Plugin window, and try again.

</aside>

  1. Upload your plugin: After your plugin has built, hit VE2 → Upload Built World. This will upload your plugin to the VE2 servers, where they can be accessed by the user-facing VE2 application on the lab machines.

Uploading a VE2 Plugin called “MapLab”

Uploading a VE2 Plugin called “MapLab”