Virtual Landmarks: offering a solution to the age-old problem

System Overview

The VLMVW HUD options menu
The VLM HUD Options menu for a VLM I’ve already created

All of the major functions are managed through the VLM HUD, which communicates with the external VLMVW database.

The HUD provides access to an on-screen menu (right) which is used to create and manage VLMs on an ongoing basis. Note that once two or more VLMs have been created, the HUD will additionally prompt you to select the VLM you wish to access.

I’m not going to run through the options in-depth here; the following intended as a very high-level overview of the various options in the menu.

  • ADD VLM – creates a brand new “master” VLM in the VLMVW database and prompts you to add your first location to it. Note that you must be in the region containing the location you wish to include in the VLM before initiating the process. When adding the location, you can optionally include:
    • A user-friendly name for the location
    • An image which is  displayed in your VLM Listing page. The image must be physically in your inventory in order to be displayed
    • A short description of the destination / message for the VLM users
  • ADD LOC – can be used to add further locations (up to the maximum of eight) to an existing VLM
  • TEST VLM – use this option to test a VLM you have just created to ensure all TPs work, the chat descriptions are correct, etc.
  • MAKE VLM – use the object to generate a physical version of the VLM you can distribute to people directly or via givers, etc., and which is worn by users wishing to teleport to your destinations (see below)
  • CHANGE LOC – use this option to update locations in a VLM following a relocation to a new region, a change in teleport points within a store / region, and so on. Simply go to each NEW location and use this option to OVERWRITE the details of an existing location in the VLM
  • LIST & STATS – use these to open your VLM Listing and Statistics pages where you can, among other things, create VLMurls (see below)
  • RMV LOC and DELETE VLM  – use these with caution! They can have an adverse impact on your VLMurls
  • Search options: allow you to search your VLMs by title or description or  the name of region recorded by a VLM.

Using a VLM – the End User

As mentioned above, the distributable version of a VLM is a wearable attachment. To use it, a person must select it from their inventory and ADD it – the VLM is completely invisible when attached. On attachment, the VLM displays a list of available locations over a private channel in local chat, and a menu of numbered buttons. All the user needs to do is click the button associated with their preferred destination. The VLM they asks them for permission to teleport them, and on confirmation, does so, then detaches automatically on arrival.

What the user sees when using a VLM: the instructions / desitnation list displayed in local chat over a private channel, and the associated teleport menu
What the user sees when using a VLM: the instructions / destination list displayed in local chat over a private channel, and the associated teleport menu

Listing and Statistics Pages and VLMurls

The VLM HUD includes a LIST & STATS button. click this will send you two messages, each with a URL. The first is to your VLM Listing page, the second is to your VLM Statistics page.

The Listing page displays all the VLMs you have created, together with all the locations they contain. Each VLM is displayed in terms of the unique description you assigned it when creating it, and a unique hash code which is used to identify the VLM in the VLMVW database, and which is displayed by the VLM HUD when you are selecting a VLM for update / testing, etc. Each location in a VLM is then displayed as follows:

  • A “VLMurl”:
    • This functions exactly the same way as a SLurl and will open the SL web map to display the location (with your title and description).
    • VLMurls can be copied and pasted into any web page
    • If the location associated with a VLMurl is updated, the VLMVW system will ensure that any existing VLMurls will point to the updated location
    • So long as the location in the VLM is not removed, or the VLM itself is not deleted from the VLMVW database, VLMurls will always remain valid throughout any updates made to the VLM
  • The description / message you gave for the location
  • The actual in-world region name and teleport coordinates for the location
  • Any image you have assigned to the location (which can be clicked on to display it in a larger, slide-show style format)
A listing for a very simple VLM I created inside of 10 minutes
A listing for a very simple VLM I created inside of 10 minutes. The location descriptions are all clickable “VLMurls” which function in the same manner as SLurls, and which can be used in your own web pages, etc.. The pictures are also clickable to display in a larger format as a slide show, and the user name at the top is a link to my SL web profile (click here to see the actual page on the VLM website)

How you use the Listing page is up to you. You can keep it private, or you can share the URL and let others view your VLMs and use them to launch SL and reach your in-world destinations.

The Statistics page altogether more private, and the link to it should NOT be shared. It provides information as to how your VLMs are being used – statistics which cannot be obtained through the use of “traditional” landmarks.

A sample statistics page provided by the VLMVW system (reproduced courtesy of Darrius Gothly)
A sample statistics page provided by the VLMVW system (reproduced courtesy of Darrius Gothly). Note the SLM URLs on the left. These can be used within SL Marketplace listings, providing all the advantages of the VLMVW system to be used on the Marketplace

(It should also be noted that Darrius gives an assurance that no personal data is collected nor is there any way to track VLM usage back to user or avatar.)

A key function contained within the Statistics page is the ability to convert any VLMurl defined for a location in a VLM to a format, allowing it to be used in Marketplace listings (the Marketplace will only accept links to in-world locations which are supplied as SLurls or as format URLs). This means that, as with VLMurls, so long as the location in the VLM is not removed, or the VLM itself is not deleted from the VLMVW system, links to in-world shops displayed in Marketplace listings need never become obsolete or required individual update.


This is a very flexible solution to a long-standing issue in ensuring LMs are kept relevant over the years and it should find appeal among merchants, land holders and others, as the system lends itself to a wide range of uses, not just those related to store management.

Obviously there are some drawbacks to the system. That VLMs are scripted attachments runs the risk of them occasionally falling afoul of regions / parcels which have scripts disabled. Also, that they are attachments and thus lacking the immediacy of a “traditional” landmark’s double-click to teleport, may slow the rate with which people are willing to use VLMs in favour of LMs.

The system also lacks some functionality mentioned in Toysoldier Thor’s original concept – such as the ability to “round robin” between locations stored in a VLM where appropriate, such that if the first location is unavailable (due to the region being offline, say), the VLM will route the user to the second destination in the VLM. However, if I understand correctly, Darrius is looking at how such functionality might be implemented into VLMVW in the future.

My one personal niggle is that the documentation is perhaps a little on the heavy side and could benefit from a “Quick Start” guide of some description allow those who grasp the concept of VLMs to dive in and start setting things up.

But niggles aside, unless and until the Lab moves to implement a VLM solution of their own, VLMVW presents a tremendously powerful solution to an age-old problem; one which is offered in a range of options suitable for most pockets.

Related Links

top of page

3 thoughts on “Virtual Landmarks: offering a solution to the age-old problem

  1. You know, when LL started to mix SLurls with landmarks — these days both are “almost” interchangeable, in terms of the viewer — I thought that a very simple solution would be to use some sort of URL shortener like or any of the myriads of such services. Developing a shortener service is incredibly easy, there are plenty of open-source, ready-to-deploy solutions — you just need to add the server and the bandwidth 🙂

    So all that LL would need to do is to change the asset associated with a Landmark to store a shortened URL. When creating a new landmark, the viewer would contact the shortening service with the full SLURL and create a shortened version, which would be added to the Landmark asset. When clicking on a landmark to teleport to it, all the viewer would need to do is to use the shortening service to replace it by the full SLURL.

    That’s it. Then we’d have a page, authenticated with our login/password, to get access to all shortened URLs and be able to modify them. Since all landmarks out there would only store the shortened URL, this would work always, and forever.

    It’s so easy that a prototype could be developed over a weekend 🙂

    But no. I’m sure that the LL dev team is imagining an ultra-super-complex system with lots of complex database tables, linking and re-linking to each other, and providing backwards compatibility to pre-SLURL landmarks and whatnot, and this will take them months to develop, because they imagine or foresee a lot of interesting edge cases, which will take them weeks to discuss, when a simple, straightforward solution would accomplish 99.9% of everything and be done in a week or two…

    Obviously this only works well because pretty much every viewer out there can use SLURLs as landmarks and vice-versa. So most of the “hard work” has already been done. I imagine that 1.23.X viewer users would have some problems, although even the few viewers I’ve used with that codebase (like Imprudence) can already use SLURLs…


    1. Note: most popular URL shorteners don’t actually allow the expanded URLs to be changed for a specific URL. But there is open-source code allowing you to set up your own service that allows just that.

      I like because they allow me to pick a specific shortened URL instead of a default, randomly-generated one. This is good for branding and for remembering shortened URLs 🙂 Sadly, they don’t allow URLs to be changed after being shortened, so their service is not suitable for what I suggested.


    2. “But no. I’m sure that the LL dev team is imagining an ultra-super-complex system with lots of complex database tables”

      Many are convinced LL aren’t even thinking that far down the road, hence Darrius rolling this solution out ;-).


Comments are closed.