diff --git a/data/assets/actions/toggle_trail.asset b/data/assets/actions/toggle_trail.asset
index d3c5848d6cced2c0b1ff2d802dc9c0403b0fbe16..1f8153e67402b0842a1c3981f81002c069a64da3 100644
--- a/data/assets/actions/toggle_trail.asset
+++ b/data/assets/actions/toggle_trail.asset
@@ -103,3 +103,13 @@ asset.onDeinitialize(function()
   openspace.action.removeAction(show_trail.Identifier)
   openspace.action.removeAction(hide_trail.Identifier)
 end)
+
+
+asset.meta = {
+  Name = "Actions - Toggle current Trails",
+  Version = "1.0",
+  Description = [[ Asset providing actions to toggle trails]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/customization/globebrowsing.asset b/data/assets/customization/globebrowsing.asset
index e1307229d409b23c0554a1d31b837dae97e7cb29..a5b5eeb09081e96087a3757636e8be093ea409b7 100644
--- a/data/assets/customization/globebrowsing.asset
+++ b/data/assets/customization/globebrowsing.asset
@@ -87,3 +87,14 @@ asset.onInitialize(function ()
     end
   end
 end)
+
+
+asset.meta = {
+  Name = "Customization - GlobeBrowsing",
+  Version = "1.0",
+  Description = [[ This asset adds planetary images that can be downloaded separately
+  and placed in the OpenSpaceData folder]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/customization/gui.asset b/data/assets/customization/gui.asset
index e18cd44a7f51b379636bea00a2e4402046a841af..6e7d14003f00a6527c1c440d7500a63e4f6425e2 100644
--- a/data/assets/customization/gui.asset
+++ b/data/assets/customization/gui.asset
@@ -6,3 +6,13 @@ asset.export("webguiDevelopmentMode", false)
 -- 2) Clone the repository: https://github.com/OpenSpace/OpenSpace-WebGuiFrontend
 -- 3) Install nodejs (including npm)
 -- 4) Within the repository, run `npm install` and `npm start`
+
+
+asset.meta = {
+  Name = "Customization - User Interface",
+  Version = "1.0",
+  Description = [[ This asset is used by developers working on the GUI.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/dashboard/date.asset b/data/assets/dashboard/date.asset
index 01ada33be2b7f8ba6a8d51e6c8b1a6f640b95de2..886ae15d5b7c8df5a7dd16733833f0948046e346 100644
--- a/data/assets/dashboard/date.asset
+++ b/data/assets/dashboard/date.asset
@@ -11,3 +11,13 @@ end)
 asset.onDeinitialize(function()
   openspace.dashboard.removeDashboardItem(item.Identifier)
 end)
+
+
+asset.meta = {
+  Name = "Dashboard - Date",
+  Version = "1.0",
+  Description = [[ This asset provides a Date dashboard item.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/dashboard/default_dashboard.asset b/data/assets/dashboard/default_dashboard.asset
index 453895ab4e3a73fe38dc0a24c532cdba6767c9fa..fcb7c9be8b0f69c804ca5ef714dbd26c88e78d36 100644
--- a/data/assets/dashboard/default_dashboard.asset
+++ b/data/assets/dashboard/default_dashboard.asset
@@ -4,3 +4,13 @@ asset.require("./distance")
 asset.require("./framerate")
 asset.require("./parallelconnection")
 asset.require("./globelocation")
+
+
+asset.meta = {
+  Name = "Dashboard - Default Items",
+  Version = "1.0",
+  Description = [[ This asset provides the default items for the dashboard.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/dashboard/distance.asset b/data/assets/dashboard/distance.asset
index 6316a79948d07503fd193835af12b8d56e0abc34..34548d73599ba3db02bf2f5896a8e6d6e8a56b64 100644
--- a/data/assets/dashboard/distance.asset
+++ b/data/assets/dashboard/distance.asset
@@ -11,3 +11,13 @@ end)
 asset.onDeinitialize(function()
   openspace.dashboard.removeDashboardItem(item.Identifier)
 end)
+
+
+asset.meta = {
+  Name = "Dashboard - Distance",
+  Version = "1.0",
+  Description = [[ This asset provides a Distance dashboard item.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/dashboard/framerate.asset b/data/assets/dashboard/framerate.asset
index 1c28a1767460c92b8c50c357350ae87b91cfbc9d..d21418b01ec8164c9d8e90c6eba9d00219e4989c 100644
--- a/data/assets/dashboard/framerate.asset
+++ b/data/assets/dashboard/framerate.asset
@@ -11,3 +11,13 @@ end)
 asset.onDeinitialize(function()
   openspace.dashboard.removeDashboardItem(item.Identifier)
 end)
+
+
+asset.meta = {
+  Name = "Dashboard - Framerate",
+  Version = "1.0",
+  Description = [[ This asset provides a Framerate dashboard item.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/dashboard/globelocation.asset b/data/assets/dashboard/globelocation.asset
index 268e2593f72cc5800003cd05acb2dbcc7c6d0d30..1bb2743b6ce5b3eb2401d9b9e376a9f4e06669e8 100644
--- a/data/assets/dashboard/globelocation.asset
+++ b/data/assets/dashboard/globelocation.asset
@@ -11,3 +11,13 @@ end)
 asset.onDeinitialize(function()
   openspace.dashboard.removeDashboardItem(item.Identifier)
 end)
+
+
+asset.meta = {
+  Name = "Dashboard - GlobeLocation",
+  Version = "1.0",
+  Description = [[ This asset provides a GlobeLocation dashboard item.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/dashboard/parallelconnection.asset b/data/assets/dashboard/parallelconnection.asset
index 2ee8bd6307351f874f801abf606d8481d3949ebc..5321aea85cbd56a9cfafb049c3169ae5deacd82f 100644
--- a/data/assets/dashboard/parallelconnection.asset
+++ b/data/assets/dashboard/parallelconnection.asset
@@ -11,3 +11,13 @@ end)
 asset.onDeinitialize(function()
   openspace.dashboard.removeDashboardItem(item.Identifier)
 end)
+
+
+asset.meta = {
+  Name = "Dashboard - ParallelConnection",
+  Version = "1.0",
+  Description = [[ This asset provides a ParallelConnection dashboard item.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/dashboard/simulationincrement.asset b/data/assets/dashboard/simulationincrement.asset
index 1ced58eed5625c4073ef4a0ccdc3b57c20ad9af1..ae2caf1b8784bdc4abdb9190b0240775b5e6b9d6 100644
--- a/data/assets/dashboard/simulationincrement.asset
+++ b/data/assets/dashboard/simulationincrement.asset
@@ -11,3 +11,14 @@ end)
 asset.onDeinitialize(function()
   openspace.dashboard.removeDashboardItem(item.Identifier)
 end)
+
+
+asset.meta = {
+  Name = "Dashboard - Simulation Increment",
+  Version = "1.0",
+  Description = [[ This asset provides a dashboard item that shows the simulation 
+  increment, meaning how fast the in-game time progresses relative to the wall-clock.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/dashboard/velocity.asset b/data/assets/dashboard/velocity.asset
index 5373ee315cb8a2430aa5d0420496cf9da8298705..1c1c1c96b447509fc3b0c1aab2e6272c965d8d9c 100644
--- a/data/assets/dashboard/velocity.asset
+++ b/data/assets/dashboard/velocity.asset
@@ -12,3 +12,13 @@ end)
 asset.onDeinitialize(function()
   openspace.dashboard.removeDashboardItem(item.Identifier)
 end)
+
+
+asset.meta = {
+  Name = "Dashboard - Velocity",
+  Version = "1.0",
+  Description = [[ This asset provides a dashboard item that shows the camera's velocity]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/digitaluniverse/2dF.asset b/data/assets/scene/digitaluniverse/2dF.asset
index 13cd896ac57426475db730185264ca2c49f8a419..0aded73262706a9fd2bd20d7a8f7c7f156d7862e 100644
--- a/data/assets/scene/digitaluniverse/2dF.asset
+++ b/data/assets/scene/digitaluniverse/2dF.asset
@@ -58,10 +58,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "2dF Galaxies",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Digital Universe asset for the The Two-degree Field (2dF) Survey.]],
   Author = "Brian Abbott (AMNH), Eric Gawiser (Rutgers U)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"2dF"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/2mass.asset b/data/assets/scene/digitaluniverse/2mass.asset
index e9ca7bdc7bf9c555d90284b7de59d3fd82d8ecb8..4bd68a18ccc8f02ea84c7d24dfdb11e6b60b71e8 100644
--- a/data/assets/scene/digitaluniverse/2mass.asset
+++ b/data/assets/scene/digitaluniverse/2mass.asset
@@ -54,11 +54,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "2MASS Galaxies",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Digital Universe asset for the Two Micron All-Sky Survey (2MASS) 
       survey]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"2MASS"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/6dF.asset b/data/assets/scene/digitaluniverse/6dF.asset
index 3b61dd02215877205c2729472fc1f3afe91befeb..d8ab9a511c549d5225376983b346cde68785ea19 100644
--- a/data/assets/scene/digitaluniverse/6dF.asset
+++ b/data/assets/scene/digitaluniverse/6dF.asset
@@ -56,10 +56,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "6dF Galaxies",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Digital Universe asset for The Six-degree Field (6dF) Galaxy Survey]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"6dF"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/abell.asset b/data/assets/scene/digitaluniverse/abell.asset
index c6be3a84c3a8c77e76e12646c56ffa970a44d137..359d4332cfbb3eeb17cf61e0a498ed8e6266f891 100644
--- a/data/assets/scene/digitaluniverse/abell.asset
+++ b/data/assets/scene/digitaluniverse/abell.asset
@@ -65,10 +65,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Abell Galaxy Clusters",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Digital Universe asset for The Abell catalog]],
   Author = "Stuart Levy (NCSA/UIUC), Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"Abell"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/alternatestarlabels.asset b/data/assets/scene/digitaluniverse/alternatestarlabels.asset
index b01cad1fe1c2188e67ea6715a165662c6498d20b..dfe8f77df708dc85139e45c41cc7b65efb5570bd 100644
--- a/data/assets/scene/digitaluniverse/alternatestarlabels.asset
+++ b/data/assets/scene/digitaluniverse/alternatestarlabels.asset
@@ -39,12 +39,11 @@ local object = {
 
 asset.meta = {
   Name = "Stars Labels - Alternate",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Digital Universe asset for alternate start labels]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"StarLabelsAlternate"}
+  License = "AMNH Digital Universe"
 }
 
 assetHelper.registerSceneGraphNodesAndExport(asset, { object })
diff --git a/data/assets/scene/digitaluniverse/backgroundradiation.asset b/data/assets/scene/digitaluniverse/backgroundradiation.asset
index b49e753be181c73570fa23a64f7e8dc9ff1b0ca7..d780c7ec369c8cd8c4996bdc289747ebaaca2545 100644
--- a/data/assets/scene/digitaluniverse/backgroundradiation.asset
+++ b/data/assets/scene/digitaluniverse/backgroundradiation.asset
@@ -130,7 +130,7 @@ assetHelper.registerSceneGraphNodesAndExport(asset, {
 
 asset.meta = {
   Name = "Background Radiation",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Various AllSky images for the Milky Way and observable Universe.
       Included: Wilkinson Microwave Anisotropy Probe (WMAP), Cosmic Background Explorer,
       Planck, and H Alpha <br><br> Data Reference: Planck/ESA and the Planck
@@ -138,6 +138,5 @@ asset.meta = {
       Finkbeiner (Princeton)]],
   Author = "Brian Abbott (AMNH), OpenSpace Team",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"WMAP", "CBE", "Planck", "HAlpha"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/backgroundradiation_multiverse.asset b/data/assets/scene/digitaluniverse/backgroundradiation_multiverse.asset
index 51560008fe0300b2aff648e4b0a11c1375894457..8468b2fabe09c2e8dcdad8fd75b0e15ae7a9b9dc 100644
--- a/data/assets/scene/digitaluniverse/backgroundradiation_multiverse.asset
+++ b/data/assets/scene/digitaluniverse/backgroundradiation_multiverse.asset
@@ -137,13 +137,11 @@ assetHelper.registerSceneGraphNodesAndExport(asset, {
 
 asset.meta = {
   Name = "Multiverse Background Radiation",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[ Non-physical representation of the location of hypothetical 
       cosmic microwave background radiation images how they would be observed from other
       locations in the universe. <br> This is not a measured dataset!]],
   Author = "Brian Abbott (AMNH), OpenSpace Team",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = { "PlanckMultiverse1", "PlanckMultiverse2",
-      "PlanckMultiverse3", "PlanckMultiverse4" }
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/clusters.asset b/data/assets/scene/digitaluniverse/clusters.asset
index 0e8cae16ffb86c5d48fa297839f9ea96478c6222..15f1a77b816dcdf4c2d1c64a0ef9633e4313c476 100644
--- a/data/assets/scene/digitaluniverse/clusters.asset
+++ b/data/assets/scene/digitaluniverse/clusters.asset
@@ -45,10 +45,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Galaxy Clusters Labels",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Digital Universe asset for Galaxy Clusters]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"GalaxyClusterLabels"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/constellationbounds.asset b/data/assets/scene/digitaluniverse/constellationbounds.asset
index 8a253de6d9cf56fb93a71b05413a76e243bd2050..d443a1d82ae46056ebbf9c6eab3f12313d0c821b 100644
--- a/data/assets/scene/digitaluniverse/constellationbounds.asset
+++ b/data/assets/scene/digitaluniverse/constellationbounds.asset
@@ -47,11 +47,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Constellation Bounds",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[DU asset providing a Spherical mesh dividing the sky into regions that
       fit the constellations.]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"ConstellationBounds"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/constellations.asset b/data/assets/scene/digitaluniverse/constellations.asset
index f65c00b9051294ccc26e3ff558d4baa134ec2bca..91b77406e6b307a8b4de9d3e615872b9d0ec0e48 100644
--- a/data/assets/scene/digitaluniverse/constellations.asset
+++ b/data/assets/scene/digitaluniverse/constellations.asset
@@ -65,10 +65,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { constellationsExtragalacti
 
 asset.meta = {
   Name = "Constellations",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Digital Universe asset for constellation lines]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"Constellations", "ConstellationsExtragalactic"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/deepsky.asset b/data/assets/scene/digitaluniverse/deepsky.asset
index 81093169979e6ab2f64bb7d7d86e6808e3b2ddf3..4293b14338c294fb0546109730338076cc58e0c8 100644
--- a/data/assets/scene/digitaluniverse/deepsky.asset
+++ b/data/assets/scene/digitaluniverse/deepsky.asset
@@ -97,10 +97,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { deepSkyPoints, deepSkyImag
 
 asset.meta = {
   Name = "Deep Sky Objects Images",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Digital Universe asset for Deep Sky Objects and their Images]],
   Author = "Nate Greenstein, Matt Everhart, Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"DeepSkyObjects", "DeepSkyObjectsImages"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/digitaluniverse.asset b/data/assets/scene/digitaluniverse/digitaluniverse.asset
index f4bc5e746511c2c00a96746cfc106a31987b9148..f0b6bc530a2583cc6e6c0d093ada19e2459899d4 100644
--- a/data/assets/scene/digitaluniverse/digitaluniverse.asset
+++ b/data/assets/scene/digitaluniverse/digitaluniverse.asset
@@ -34,3 +34,14 @@ asset.require("./superclusters")
 asset.require("./supernovaremnants")
 asset.require("./tully")
 asset.require("./voids")
+
+
+asset.meta = {
+  Name = "Digital Universe",
+  Version = "1.0",
+  Description = [[This asset is a meta asset, containing all the assets from the AMNH 
+  Digital Universe.]],
+  Author = "Brian Abbott (AMNH)",
+  URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
+  License = "AMNH Digital Universe"
+}
diff --git a/data/assets/scene/digitaluniverse/dwarfs.asset b/data/assets/scene/digitaluniverse/dwarfs.asset
index 1a026472e2d94ed51d3a609beb2a505d2e9e914d..262b8ee6ac43af5ed2b59e5eed7d80d7bb5544c8 100644
--- a/data/assets/scene/digitaluniverse/dwarfs.asset
+++ b/data/assets/scene/digitaluniverse/dwarfs.asset
@@ -67,10 +67,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Brown Dwarfs",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Digital Universe asset for Brown Dwarfs]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"Dwarfs"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/exoplanets.asset b/data/assets/scene/digitaluniverse/exoplanets.asset
index 2da69322c6a370247adbc0be7502bb97ba5e3f19..c8586925b08700d4f408a5ea74d224194d961003 100644
--- a/data/assets/scene/digitaluniverse/exoplanets.asset
+++ b/data/assets/scene/digitaluniverse/exoplanets.asset
@@ -55,10 +55,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Exoplanets",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Digital Universe asset for Exoplanets]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"Exoplanets"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/globularclusters.asset b/data/assets/scene/digitaluniverse/globularclusters.asset
index e63b2d45793a865529fb2dbbb42ec920f4bb05dd..8d554bd3366f0992d5bf7eb4592b38a90c39c488 100644
--- a/data/assets/scene/digitaluniverse/globularclusters.asset
+++ b/data/assets/scene/digitaluniverse/globularclusters.asset
@@ -59,7 +59,7 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Globular Clusters",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Census: 157 globular clusters. DU Version 2.6. Globular star clusters
   are gravitationally bound groups of 100,000 to 1 million stars. They are compact,
   spherical 鈥渂alls鈥� of stars with very high stellar densities in their centers (stars
@@ -73,6 +73,5 @@ asset.meta = {
   Properties of Galactic Globular Clusters, C. Francis+ (U Cambridge)]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"GlobularClusters"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/grids.asset b/data/assets/scene/digitaluniverse/grids.asset
index 433069b89aa3e3b29f347565b5c866ec7151eed2..340327a707acacd2796ccd49f16fe84a59c04e54 100644
--- a/data/assets/scene/digitaluniverse/grids.asset
+++ b/data/assets/scene/digitaluniverse/grids.asset
@@ -522,7 +522,7 @@ assetHelper.registerSceneGraphNodesAndExport(asset, {
 
 asset.meta = {
   Name = "Grids",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Various grids for showing size reference. Included: 10,000 light year
     grid, 10 light year grid, 20 billion light year grid, 10 million light year grid,
     100 light year grid, 100 million light year grid, Ecliptic Coordinate Sphere
@@ -532,9 +532,5 @@ asset.meta = {
     1,000 light year grid, 1 million light year grid, 1 light year grid]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"RadioSphere", "OortSphere", "EclipticSphere", "EclipticSphereLabels",
-    "Equatorial", "EquatorialSphereLabels", "GalacticSphere", "GalacticSphereLabels",
-    "1ldGrid", "1lmGrid", "1lyGrid", "10lyGrid", "100lyGrid", "1klyGrid", "10klyGrid",
-    "100klyGrid", "1MlyGrid", "10MlyGrid", "100MlyGrid", "20GlyGrid"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/groups.asset b/data/assets/scene/digitaluniverse/groups.asset
index 62b2eecd3fe804d6600d764b9cf27a874dd0f586..46af31e364ecc547163d92c24736ab6cd0ee941d 100644
--- a/data/assets/scene/digitaluniverse/groups.asset
+++ b/data/assets/scene/digitaluniverse/groups.asset
@@ -45,10 +45,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Galaxy Group Labels",
-  Version = "1.0",
+  Version = "1.1",
   Author = "Brian Abbott (AMNH)",
   Description = [[Digital Universe asset for Galaxy Groups]],
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"NearbyGalaxyGroups"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/h2regions.asset b/data/assets/scene/digitaluniverse/h2regions.asset
index d81999a271253eb306cab7ebf44f73c4b3ff8eaf..0a107a6fe54a29b559e91527f14c35feb5d98f35 100644
--- a/data/assets/scene/digitaluniverse/h2regions.asset
+++ b/data/assets/scene/digitaluniverse/h2regions.asset
@@ -57,10 +57,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "HII Regions",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Digital Universe asset for HII Regions]],
   Author = "Carter Emmart, Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"HIIRegions"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/hdf.asset b/data/assets/scene/digitaluniverse/hdf.asset
index f76fac43d7f5aaa1e3d601b91de00562e8f8bad2..a6f6bf7f6007f04def83e7036d3e1982947435bf 100644
--- a/data/assets/scene/digitaluniverse/hdf.asset
+++ b/data/assets/scene/digitaluniverse/hdf.asset
@@ -52,10 +52,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Hubble Ultra Deep Field",
-  Version = "1.1",
+  Version = "1.2",
   Description = "Hubble Ultra Deep Field galaxy survey",
   Author = "Frank Summers (STScI), Brian Abbott (AMNH)",
-  Identifiers = {"HubbleDeepField"},
   URL = "http://www.haydenplanetarium.org/universe",
   License = [[
     Copyright (c) American Museum of Natural History. All rights reserved.<br><br>
diff --git a/data/assets/scene/digitaluniverse/kepler.asset b/data/assets/scene/digitaluniverse/kepler.asset
index 9f7e5c4ff5c1342114b0a5d6d83efdcf6bdc1d44..41ca97008413be46b93518b54c6bba84cec1ac89 100644
--- a/data/assets/scene/digitaluniverse/kepler.asset
+++ b/data/assets/scene/digitaluniverse/kepler.asset
@@ -53,10 +53,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Kepler Planetary Candidates",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Digital Universe asset for Kepler Planetary Candidates]],
   Author = "Brian Abbott, Emily Rice, and Jason No (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"KeplerPlanetaryCandidates"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/localdwarfs.asset b/data/assets/scene/digitaluniverse/localdwarfs.asset
index d9c8c6212e6d08b55b6365a7be1273d2b8622915..0bf926ade83bfd1966f405523691b746084d1506 100644
--- a/data/assets/scene/digitaluniverse/localdwarfs.asset
+++ b/data/assets/scene/digitaluniverse/localdwarfs.asset
@@ -59,10 +59,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Local Group",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Digital Universe asset for the Local Goup]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"LocalDwarfGalaxies"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/milkyway.asset b/data/assets/scene/digitaluniverse/milkyway.asset
index 34bf613feeb68ed02574c9492dfa20b587ca6ee1..7c1811f04e00ad63e59a942b3ded8f8c5a034c54 100644
--- a/data/assets/scene/digitaluniverse/milkyway.asset
+++ b/data/assets/scene/digitaluniverse/milkyway.asset
@@ -52,11 +52,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { plane })
 
 asset.meta = {
   Name = "MilkyWay Galaxy",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Digital Universe asset containt 2D image of the MilkyWay. For
     extragalactic viewing]],
   Author = "Brian Abbott, Carter Emmart (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"MilkyWayGalaxyImage"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/milkyway_arm_labels.asset b/data/assets/scene/digitaluniverse/milkyway_arm_labels.asset
index 3e4294b20af24a228e7578bc8c812dd015dfc8d1..bb8ec3bf37e40b81978fc437602f062d6850f45d 100644
--- a/data/assets/scene/digitaluniverse/milkyway_arm_labels.asset
+++ b/data/assets/scene/digitaluniverse/milkyway_arm_labels.asset
@@ -49,7 +49,7 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { plane })
 
 asset.meta = {
   Name = "Milky Way Arms Labels",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Image with arm labels for the Milky Way galaxy]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
@@ -72,6 +72,5 @@ asset.meta = {
     WARRANTY of any kind. We provide the Atlas as is and take no responsibility for
     any damage resulting from the use of this Atlas. The entire risk as to the quality
     and performance of this product is with the user. <br><br> For more information,
-    please visit http://www.haydenplanetarium.org/universe]],
-  Identifiers = {"MilkyWayGalaxyArmLabelsImage"}
+    please visit http://www.haydenplanetarium.org/universe]]
 }
diff --git a/data/assets/scene/digitaluniverse/milkyway_label.asset b/data/assets/scene/digitaluniverse/milkyway_label.asset
index 062ca05f62e0b64753946c52a01101093577bcdd..ef8cc56f98ec8998f6a8c667d4627d151436aa5c 100644
--- a/data/assets/scene/digitaluniverse/milkyway_label.asset
+++ b/data/assets/scene/digitaluniverse/milkyway_label.asset
@@ -45,10 +45,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { homeLabel })
 
 asset.meta = {
   Name = "Home Label",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Label for the Milky Way titled "Home", sided for the galactic level]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"HomeLabel"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/digitaluniverse/milkyway_sphere.asset b/data/assets/scene/digitaluniverse/milkyway_sphere.asset
index 7a5d3c1971afb2c7482da4f073846313c8fc61ff..b1a29de48d2676b5a05b09ae0f2a87ca36a74d31 100644
--- a/data/assets/scene/digitaluniverse/milkyway_sphere.asset
+++ b/data/assets/scene/digitaluniverse/milkyway_sphere.asset
@@ -43,10 +43,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { sphere })
 
 asset.meta = {
   Name = "Milky Way Galaxy Sphere",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[All sky image of the Milky Way]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"MilkyWay"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/digitaluniverse/obassociations.asset b/data/assets/scene/digitaluniverse/obassociations.asset
index 3e2ece6db1015ecc3559144ea1c001f598de3e9c..0f1df24720807bb87aef070bf94384ca5b3399c7 100644
--- a/data/assets/scene/digitaluniverse/obassociations.asset
+++ b/data/assets/scene/digitaluniverse/obassociations.asset
@@ -61,10 +61,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "OB Associations",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Digital Universe asset for OB Associations]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"OBAssociations"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/openclusters.asset b/data/assets/scene/digitaluniverse/openclusters.asset
index 057aacb5b8eaf63bf0a194e5f2a1b5cf52b71c43..4f2715987adde6d9b4f364b770281cea0e3cab91 100644
--- a/data/assets/scene/digitaluniverse/openclusters.asset
+++ b/data/assets/scene/digitaluniverse/openclusters.asset
@@ -57,10 +57,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Open Star Clusters",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Digital Universe asset for Open Star Clusters]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"OpenStarClusters"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/planetarynebulae.asset b/data/assets/scene/digitaluniverse/planetarynebulae.asset
index 23e0eccd0922235a6f6b74646e146b949ab3d454..df39e0831b8ee4878373f47459d3ee6dcf464901 100644
--- a/data/assets/scene/digitaluniverse/planetarynebulae.asset
+++ b/data/assets/scene/digitaluniverse/planetarynebulae.asset
@@ -54,10 +54,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Planetary Nebulae",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Digital Universe asset for Planetary Nebulae]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"PlanetaryNebulae"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/pulsars.asset b/data/assets/scene/digitaluniverse/pulsars.asset
index 0a53462ce780c6fd7383fffe5ffaac8b631b67dc..d476082a5cfded11fcf73552df3bf83b5931d834 100644
--- a/data/assets/scene/digitaluniverse/pulsars.asset
+++ b/data/assets/scene/digitaluniverse/pulsars.asset
@@ -58,10 +58,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Pulsars",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Digital Universe asset for Pulsars.]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"Pulsars"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/quasars.asset b/data/assets/scene/digitaluniverse/quasars.asset
index 0a50114c2dbca58a8a1112885a138cd76e927af4..4f77fe918818dc088c9b13d045596adf754b3ad8 100644
--- a/data/assets/scene/digitaluniverse/quasars.asset
+++ b/data/assets/scene/digitaluniverse/quasars.asset
@@ -50,10 +50,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Quasars",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Digital Universe asset for Quasars.]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"Quasars"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/sdss.asset b/data/assets/scene/digitaluniverse/sdss.asset
index c8555345154a55ae1f07adf80f98a24725b3270a..3557c7f370e8fc70c7a780f5440f7176a132433f 100644
--- a/data/assets/scene/digitaluniverse/sdss.asset
+++ b/data/assets/scene/digitaluniverse/sdss.asset
@@ -64,10 +64,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Sloan Digital Sky Survey",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Digital Universe asset for The Sloan Digital Sky Survey (SDSS).]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"SloanDigitalSkySurvey"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/starlabels.asset b/data/assets/scene/digitaluniverse/starlabels.asset
index eb8f0496422e875c5fdb47d58d6db7102df3c1bd..12810d50c5a41f13ab4249ae50039bfc3cc8b597 100644
--- a/data/assets/scene/digitaluniverse/starlabels.asset
+++ b/data/assets/scene/digitaluniverse/starlabels.asset
@@ -35,10 +35,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Star Labels",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Digital Universe asset for labels of the stars.]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"StarsLabels"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/starorbits.asset b/data/assets/scene/digitaluniverse/starorbits.asset
index ccded58ce2d310ae9e063be13628cdd9aac6c5ca..d744e6c36c0e04efe95235a5937195a70684eb0a 100644
--- a/data/assets/scene/digitaluniverse/starorbits.asset
+++ b/data/assets/scene/digitaluniverse/starorbits.asset
@@ -171,14 +171,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, {
 
 asset.meta = {
   Name = "Star Orbits",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Select Star Orbital paths that delineate their trajectory around the
     Milky Way over 1 billion years into the future. Included: Sun, Barnards, Kapteyns,
     Lacaille 9352, LSR1826+3014, LSRJ0822+1700, PM_J13420-3415. <br><br> Data 
     Reference: Sebastien Lepine (AMNH)]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"SunOrbit", "BarnardsOrbit", "KapteynsOrbit", "pM_J13420Orbit", 
-    "LSR1826Orbit", "LSRJ0822Orbit", "lacaille9352Orbit"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/stars.asset b/data/assets/scene/digitaluniverse/stars.asset
index 27f950183cbe5e61cac7eacfe2a2a487fc3bf92f..f8de02f543efa068b88172c161bfaeeda1b61458 100644
--- a/data/assets/scene/digitaluniverse/stars.asset
+++ b/data/assets/scene/digitaluniverse/stars.asset
@@ -103,10 +103,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { stars, sunstar })
 
 asset.meta = {
   Name = "Stars",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Digital Universe asset for the stars.]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"Stars"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/superclusters.asset b/data/assets/scene/digitaluniverse/superclusters.asset
index b183856ae3aae1468b0ef5833fd505bae4d09954..28d2c8a33f68e63fba73a6ed5b9fe4a2e2eb3ebb 100644
--- a/data/assets/scene/digitaluniverse/superclusters.asset
+++ b/data/assets/scene/digitaluniverse/superclusters.asset
@@ -53,10 +53,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Galaxy Superclusters",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Digital Universe asset for Galaxy Superclusters.]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"GalaxySuperclusters"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/supernovaremnants.asset b/data/assets/scene/digitaluniverse/supernovaremnants.asset
index 9f5cf7206286281cd6ca864fb08bbe3f7dc42799..11d5b2f6f028031159b76e7dd1c8e00b0100c82c 100644
--- a/data/assets/scene/digitaluniverse/supernovaremnants.asset
+++ b/data/assets/scene/digitaluniverse/supernovaremnants.asset
@@ -53,10 +53,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Supernova Remnants",
-  Version = "2.0",
+  Version = "2.1",
   Description = [[Digital Universe asset for Supernova Remnants.]],
   Author = "Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"SupernovaRemnants"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/tully.asset b/data/assets/scene/digitaluniverse/tully.asset
index d36e0a9224e1e2a2b7ef4b7aa810071293c7c22d..5bb9b0e56d12a32bccf5eff78b29cc16fec48cfe 100644
--- a/data/assets/scene/digitaluniverse/tully.asset
+++ b/data/assets/scene/digitaluniverse/tully.asset
@@ -115,11 +115,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { tullyPoints, tullyImages }
 
 asset.meta = {
   Name = "Tully Galaxies",
-  Version = "3.0",
+  Version = "3.1",
   Description = [[Digital Universe asset for Tully Galaxies, including point cloud and
     images.]],
   Author = "Stuart Levy (NCSA/UIUC), Brian Abbott (AMNH)",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"TullyGalaxies" , "TullyGalaxiesImages"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/digitaluniverse/voids.asset b/data/assets/scene/digitaluniverse/voids.asset
index db1bfba9761a0067bd0c7e2f752f8ab4d2a0d4e3..e1c8759cddf5bfd392ec40c274ca09343fd6e908 100644
--- a/data/assets/scene/digitaluniverse/voids.asset
+++ b/data/assets/scene/digitaluniverse/voids.asset
@@ -45,10 +45,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Voids",
-  Version = "2.0",
+  Version = "2.1",
   Author = "Brian Abbott (AMNH)",
   Description = [[Digital Universe asset for Cosmic voids.]],
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"Voids"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/milkyway/constellations/constellation_art.asset b/data/assets/scene/milkyway/constellations/constellation_art.asset
index c03660547683ddc07677d63a86f1cd2b9a3bb9f6..35bc93b27b7fbb000a4adc6ce282f95c994bb078 100644
--- a/data/assets/scene/milkyway/constellations/constellation_art.asset
+++ b/data/assets/scene/milkyway/constellations/constellation_art.asset
@@ -65,7 +65,8 @@ local createConstellations = function (baseIdentifier, guiPath, constellationfil
         Tag = { "ConstellationArtImage", group },
         GUI = {
           Name = name .. " Image",
-          Path = "/Milky Way/" .. guiPath
+          Path = "/Milky Way/" .. guiPath,
+          Description = name .. " Constellation Image"
         }
       }
       table.insert(genConstellations, aconstellation);
@@ -137,6 +138,7 @@ local hide_zodiac_art = {
 asset.export("HideZodiacArt", hide_zodiac_art)
 
 local nodes = {}
+local assetRef = asset
 
 asset.onInitialize(function ()
   local constellationsCSV = images .. "constellation_data.csv"
@@ -144,6 +146,7 @@ asset.onInitialize(function ()
   nodes = createConstellations("ConstellationArt", "Constellation Art", constellationsCSV)
   for _, n in ipairs(nodes) do
     openspace.addSceneGraphNode(n);
+    assetRef.registerIdentifierWithMeta(n.Identifier)
   end
 
   openspace.action.registerAction(show_art)
@@ -164,7 +167,7 @@ end)
 
 asset.meta = {
   Name = "Constellation Images",
-  Version = "1.0",
+  Version = "1.1",
   Description = "Artistic images depicting the constellations",
   Author = "James Hedberg",
   URL = "http://jameshedberg.com",
diff --git a/data/assets/scene/milkyway/gaia/apogee.asset b/data/assets/scene/milkyway/gaia/apogee.asset
index 5c5eaca933d979ca3197e80b4dc604b13239f3d7..e9746489b8846a0c8206eb4ad033714121f21251 100644
--- a/data/assets/scene/milkyway/gaia/apogee.asset
+++ b/data/assets/scene/milkyway/gaia/apogee.asset
@@ -24,7 +24,7 @@ local textures = asset.syncedResource({
 })
 
 local gaia_abundance_apogee = {
-  Identifier = "Gaia Abundance Apogee",
+  Identifier = "GaiaAbundanceApogee",
   Renderable = {
     Type = "RenderableStars",
     Enabled = false,
@@ -52,8 +52,20 @@ local gaia_abundance_apogee = {
     }
   },
   GUI = {
-    Path = "/Milky Way/Gaia"
+    Path = "/Milky Way/Gaia",
+    Name = "Gaia Abundance Apogee",
+    Description = "Data set of stars color coded by metallicity."
   }
 }
 
 assetHelper.registerSceneGraphNodesAndExport(asset, { gaia_abundance_apogee })
+
+
+asset.meta = {
+  Name = "Gaia Abundance Apogee",
+  Version = "1.0",
+  Description = [[This asset contains a RenderableStars dataset with metallicity data.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT License"
+}
diff --git a/data/assets/scene/milkyway/gaia/gaia_dr2_download_stars.asset b/data/assets/scene/milkyway/gaia/gaia_dr2_download_stars.asset
index 9c8bcbf1a04adc5c97d6f8043beebf445454c08d..85f8ae35ee25faecbefc5fca3431512f0c975366 100644
--- a/data/assets/scene/milkyway/gaia/gaia_dr2_download_stars.asset
+++ b/data/assets/scene/milkyway/gaia/gaia_dr2_download_stars.asset
@@ -28,3 +28,14 @@ end)
 
 asset.export("GaiaDR2_618M", gaia618DestinationExtracted)
 asset.export("GaiaFullDataset", gaiaFull)
+
+
+asset.meta = {
+  Name = "GaiaDR2 Download Stars",
+  Version = "1.1",
+  Description = [[This asset contains code to sync gaia subsets from the OpenSpace
+  servers. Edit this file to choose which subsets to sync. WARNING can use 150GB],
+  Author = "ESA/Gaia/DPAC",
+  URL = "https://gea.esac.esa.int/archive/documentation/GDR2/index.html",
+  License = [[The Gaia data are open and free to use, provided credit is given to 'ESA/Gaia/DPAC'. In general, access to, and use of, ESA's Gaia Archive (hereafter called 'the website') constitutes acceptance of the following general terms and conditions. Neither ESA nor any other party involved in creating, producing, or delivering the website shall be liable for any direct, incidental, consequential, indirect, or punitive damages arising out of user access to, or use of, the website. The website does not guarantee the accuracy of information provided by external sources and accepts no responsibility or liability for any consequences arising from the use of such data.]]
+}
diff --git a/data/assets/scene/milkyway/gaia/gaiastars.asset b/data/assets/scene/milkyway/gaia/gaiastars.asset
index de6a84a71a9fbd1ff8747758a872f4cbc69ac89a..e422fb3463ecbc39ada99a40d631844006821237 100644
--- a/data/assets/scene/milkyway/gaia/gaiastars.asset
+++ b/data/assets/scene/milkyway/gaia/gaiastars.asset
@@ -55,8 +55,20 @@ local GaiaStars = {
   },
   GUI = {
     Name = "Gaia Stars",
-    Path = "/Milky Way"
+    Path = "/Milky Way",
+    Description = "Radial Velocity subset of GaiaDR2."
   }
 }
 
 assetHelper.registerSceneGraphNodesAndExport(asset, { GaiaStars })
+
+
+asset.meta = {
+  Name = "Gaia Stars",
+  Version = "1.0",
+  Description = [[This asset contains a subset of GaiaDR2. This subset contains 7.5M stars which have
+  accurate values for a number of columns. ]],
+  Author = "ESA/Gaia/DPAC",
+  URL = "https://gea.esac.esa.int/archive/documentation/GDR2/index.html",
+  License = [[The Gaia data are open and free to use, provided credit is given to 'ESA/Gaia/DPAC'. In general, access to, and use of, ESA's Gaia Archive (hereafter called 'the website') constitutes acceptance of the following general terms and conditions. Neither ESA nor any other party involved in creating, producing, or delivering the website shall be liable for any direct, incidental, consequential, indirect, or punitive damages arising out of user access to, or use of, the website. The website does not guarantee the accuracy of information provided by external sources and accepts no responsibility or liability for any consequences arising from the use of such data.]]
+}
diff --git a/data/assets/scene/milkyway/gaia/galah.asset b/data/assets/scene/milkyway/gaia/galah.asset
index a311ed25ba605dc59bd8e5b5d72f0ac227946804..248177489c82aebe6be9373cf156c96312e8ce8e 100644
--- a/data/assets/scene/milkyway/gaia/galah.asset
+++ b/data/assets/scene/milkyway/gaia/galah.asset
@@ -24,7 +24,7 @@ local textures = asset.syncedResource({
 })
 
 local gaia_abundance_galah = {
-  Identifier = "Gaia Abundance Galah",
+  Identifier = "GaiaAbundanceGalah",
   Renderable = {
     Type = "RenderableStars",
     Enabled = false,
@@ -52,8 +52,20 @@ local gaia_abundance_galah = {
     }
   },
   GUI = {
-    Path = "/Milky Way/Gaia"
+    Path = "/Milky Way/Gaia",
+    Name = "Gaia Abundance Galah",
+    Description = "Data set of stars color coded by metallicity."
   }
 }
 
 assetHelper.registerSceneGraphNodesAndExport(asset, { gaia_abundance_galah })
+
+
+asset.meta = {
+  Name = "Gaia Abundance Galah",
+  Version = "1.0",
+  Description = [[This asset contains a RenderableStars dataset with metallicity data.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT License"
+}
diff --git a/data/assets/scene/milkyway/milkyway/eso.asset b/data/assets/scene/milkyway/milkyway/eso.asset
index 556e19a1a8d3aaa291637dd257ee9abe1a70676e..d3310d0a0d25a9b44a62f442ea56b3daa29db5b1 100644
--- a/data/assets/scene/milkyway/milkyway/eso.asset
+++ b/data/assets/scene/milkyway/milkyway/eso.asset
@@ -31,8 +31,21 @@ local object = {
   },
   GUI = {
     Name = "Milky Way (ESO)",
-    Path = "/Milky Way/Milky Way"
+    Path = "/Milky Way/Milky Way",
+    Description = "Milky Way Galaxy image (alternate)"
   }
 }
 
 assetHelper.registerSceneGraphNodesAndExport(asset, { object })
+
+
+
+asset.meta = {
+  Name = "MilkyWay Galaxy (ESO)",
+  Version = "1.0",
+  Description = [[This asset contains an alternate to the Digital Universe image for the 
+  Milky Way from ESO.]],
+  Author = "ESO/S. Brunier",
+  URL = "https://www.eso.org/public/usa/images/eso0932a/",
+  License = "Creative Commons Attribution 4.0 International License"
+}
diff --git a/data/assets/scene/milkyway/milkyway/volume.asset b/data/assets/scene/milkyway/milkyway/volume.asset
index af427e384eae4d622b20b16d2f31988b6f8eec47..c6b9e2b8a14a606a7cfc3c82008c108c963c195d 100644
--- a/data/assets/scene/milkyway/milkyway/volume.asset
+++ b/data/assets/scene/milkyway/milkyway/volume.asset
@@ -46,7 +46,9 @@ local MilkyWayVolumeGalaxy = {
   },
   GUI = {
     Path = "/Milky Way",
-    Name = "Milky Way Volume"
+    Name = "Milky Way Volume",
+    Description = [[Volumetric rendering of Milky Way galaxy based on simulation from
+    NAOJ.]]
   }
 }
 
@@ -56,11 +58,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, objects)
 
 asset.meta = {
   Name = "Milky Way Volume",
-  Version = "1.0",
-  Description = [[Volumetric rendering of Milky Way galaxy based on simulation from
+  Version = "1.1",
+  Description = [[Volumetric rendering of Milky Way galaxy based on simulations from
     NAOJ.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT License",
-  Identifiers = {"MilkyWayVolume"}
+  License = "MIT License"
 }
diff --git a/data/assets/scene/milkyway/objects/orionnebula/cluster.asset b/data/assets/scene/milkyway/objects/orionnebula/cluster.asset
index e10e6c024a827df361d39846a5e539ca485879ba..a30a6b62b4c4c332358f265370371f0f1db55594 100644
--- a/data/assets/scene/milkyway/objects/orionnebula/cluster.asset
+++ b/data/assets/scene/milkyway/objects/orionnebula/cluster.asset
@@ -56,11 +56,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { OrionClusterStars })
 
 asset.meta = {
   Name = "Orion Nebula Star Cluster",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Digital Universe asset for the Orion star cluster. To be used in
     conjunction with nebula model. Use orionnebula.asset to include both.]],
   Author = "AMNH Digital Universe",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"OrionClusterStars"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/milkyway/objects/orionnebula/nebula.asset b/data/assets/scene/milkyway/objects/orionnebula/nebula.asset
index f22b31f319adc54eefcf5186f7c220b534cc745b..84f47b7415e7ba0fbda4b10bbd8c0013d50c7d8d 100644
--- a/data/assets/scene/milkyway/objects/orionnebula/nebula.asset
+++ b/data/assets/scene/milkyway/objects/orionnebula/nebula.asset
@@ -72,7 +72,6 @@ local OrionNebulaModel = {
   GUI = {
     Name = "Orion Nebula Model",
     Path = "/Milky Way/Orion",
-    Hidden = true,
     Description = "Orion Nebula 3D model. See Orion Nebula for description."
   }
 }
@@ -145,13 +144,11 @@ assetHelper.registerSceneGraphNodesAndExport(asset, {
 
 asset.meta = {
   Name = "Orion Nebula Model",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Digital Universe asset for the Orion nebula 3D model. This asset
     contains seperate models for the nebula, proplyds and shocks. To be used in
     conjunction with orion star cluster. Use orionnebula.asset to include both.]],
   Author = "AMNH Digital Universe",
   URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
-  License = "AMNH Digital Universe",
-  Identifiers = {"OrionNebulaHolder", "OrionNebulaModel", "OrionNebulaProplydsModel",
-    "OrionNebulaShocksModel"}
+  License = "AMNH Digital Universe"
 }
diff --git a/data/assets/scene/milkyway/objects/orionnebula/orionnebula.asset b/data/assets/scene/milkyway/objects/orionnebula/orionnebula.asset
index 014c4bc8c4512197d6fc30920fdf3113ad586a01..e045e3efa372bcf19b1469f2496946a9593b7a0c 100644
--- a/data/assets/scene/milkyway/objects/orionnebula/orionnebula.asset
+++ b/data/assets/scene/milkyway/objects/orionnebula/orionnebula.asset
@@ -1,2 +1,13 @@
 asset.require("./cluster")
 asset.require("./nebula")
+
+
+asset.meta = {
+  Name = "Orion Nebula",
+  Version = "1.0",
+  Description = [[This asset is a meta asset, containing all the assets for the Orion
+  Nebula from the AMNH Digital Universe. This includes a 3D model and a star cluster.]],
+  Author = "Brian Abbott (AMNH)",
+  URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
+  License = "AMNH Digital Universe"
+}
diff --git a/data/assets/scene/milkyway/objects/orionnebula/transforms.asset b/data/assets/scene/milkyway/objects/orionnebula/transforms.asset
index 7f9c77e7dd5aed6a8e3684ce100e0602f8407208..aae811cca01f6c6acd2670b426ce972842083999 100644
--- a/data/assets/scene/milkyway/objects/orionnebula/transforms.asset
+++ b/data/assets/scene/milkyway/objects/orionnebula/transforms.asset
@@ -25,3 +25,14 @@ local NebulaPosition = {
 }
 
 assetHelper.registerSceneGraphNodesAndExport(asset, { NebulaPosition })
+
+
+asset.meta = {
+  Name = "Orion Nebula Transforms",
+  Version = "1.0",
+  Description = [[This asset contains the position of the Orion Nebula. Generally you
+  would not  include this asset as other assets would include it.]],
+  Author = "Brian Abbott (AMNH)",
+  URL = "https://www.amnh.org/research/hayden-planetarium/digital-universe",
+  License = "AMNH Digital Universe"
+}
diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto.asset
index e323d1a5de093f0ba0a774c98889feb08130bbc4..4501966b98fbfd463c7b0595ed55d34d9ae4b80e 100644
--- a/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto.asset
+++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto.asset
@@ -66,7 +66,8 @@ local PlutoLabel = {
   Tag = { "solarsystem_labels" },
   GUI = {
     Name = "Pluto Label",
-    Path = "/Solar System/Dwarf Planets/Pluto"
+    Path = "/Solar System/Dwarf Planets/Pluto",
+    Description = "Label for Pluto, visible at the solarsystem overview zoom level"
   }
 }
 
diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail.asset
index 52363d1bca7900ade14028e4e601d868cf232609..27fd55b6149646623ec74438f7391849768ef22d 100644
--- a/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail.asset
+++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail.asset
@@ -35,6 +35,5 @@ asset.meta = {
     NASA Spice (see base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"PlutoBarycentricTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail_kepler.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail_kepler.asset
index 3b8a7a063c1bfc8c30dcca5bcd8ee7663d08f425..25ea9f28f4a5759da81e33e7b2840ff7f1131160 100644
--- a/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail_kepler.asset
+++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/pluto_trail_kepler.asset
@@ -43,8 +43,7 @@ asset.meta = {
     JPL Horizons.]],
   Author = "OpenSpace Team",
   URL = "https://ssd.jpl.nasa.gov/sbdb.cgi?sstr=pluto",
-  License = "JPL/NASA",
-  Identifiers = {"PlutoKeplerianTrail"}
+  License = "JPL/NASA"
 }
 
 
diff --git a/data/assets/scene/solarsystem/heliosphere/bastille_day/carringtonToHEEQRotation.asset b/data/assets/scene/solarsystem/heliosphere/bastille_day/carringtonToHEEQRotation.asset
index 3335e1a3bfe3bf0232eb015212ba7400b617ba50..9fcb6c35c5ea760861e24d0de19f3a249a94be31 100644
--- a/data/assets/scene/solarsystem/heliosphere/bastille_day/carringtonToHEEQRotation.asset
+++ b/data/assets/scene/solarsystem/heliosphere/bastille_day/carringtonToHEEQRotation.asset
@@ -14,3 +14,13 @@ local CarringtonLongitudeToHEEQ180Rotation = {
 }
 
 asset.export("CarringtonLongitudeToHEEQ180Rotation", CarringtonLongitudeToHEEQ180Rotation)
+
+
+asset.meta = {
+  Name = "Carrington Longitude To HEEQ180 Rotation",
+  Version = "1.0",
+  Description = [[ Contains a rotation for HEEQ180 to be used by another file]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/heliosphere/bastille_day/density_volume.asset b/data/assets/scene/solarsystem/heliosphere/bastille_day/density_volume.asset
index 61262f162132c681135a48510ca9b0e262f155bb..fdef475903ad032b531f0b08ae3fe11e2e57df49 100644
--- a/data/assets/scene/solarsystem/heliosphere/bastille_day/density_volume.asset
+++ b/data/assets/scene/solarsystem/heliosphere/bastille_day/density_volume.asset
@@ -68,6 +68,5 @@ asset.meta = {
   Description = [[Volumetric rendering for the bastille day CME event]],
   Author = "CCMC, OpenSpace team",
   URL = "https://dx.doi.org/10.3847/1538-4357/aab36d",
-  License = "CC-BY",
-  Identifier = {"MAS-MHD-Density-bastille-day-2000"}
+  License = "CC-BY"
 }
diff --git a/data/assets/scene/solarsystem/heliosphere/bastille_day/fieldlines.asset b/data/assets/scene/solarsystem/heliosphere/bastille_day/fieldlines.asset
index 0d284f051d6e72fa9998e32f8c9908f8133028f2..0f862dea94780101afa27dc0a342a9e3c92cc79e 100644
--- a/data/assets/scene/solarsystem/heliosphere/bastille_day/fieldlines.asset
+++ b/data/assets/scene/solarsystem/heliosphere/bastille_day/fieldlines.asset
@@ -71,6 +71,5 @@ asset.meta = {
   Description = [[Magnetic fieldlines for the bastille day CME event]],
   Author = "CCMC, Jonathan Grangien, Matthias Berg",
   URL = "https://dx.doi.org/10.3847/1538-4357/aab36d",
-  License = "CC-BY",
-  Identifier = {"MAS-MHD-Fieldlines-bastille-day-2000"}
+  License = "CC-BY"
 }
diff --git a/data/assets/scene/solarsystem/heliosphere/bastille_day/fluxnodes.asset b/data/assets/scene/solarsystem/heliosphere/bastille_day/fluxnodes.asset
index 8ce98c364629e5abb307a162f39d73c09c7fbd83..2c80842848348ddd9db52217c3fcf33ed66476b3 100644
--- a/data/assets/scene/solarsystem/heliosphere/bastille_day/fluxnodes.asset
+++ b/data/assets/scene/solarsystem/heliosphere/bastille_day/fluxnodes.asset
@@ -53,6 +53,5 @@ asset.meta = {
   Description = [[Flux nodes for the bastille day CME event]],
   Author = "CCMC, Christian Adamsson, Emilie Ho",
   URL = "https://dx.doi.org/10.3847/1538-4357/aab36d",
-  License = "CC-BY",
-  Identifier = {"MAS-MHD-FluxNodes-bastille-day-2000"}
+  License = "CC-BY"
 }
diff --git a/data/assets/scene/solarsystem/heliosphere/bastille_day/fluxnodescutplane.asset b/data/assets/scene/solarsystem/heliosphere/bastille_day/fluxnodescutplane.asset
index c08a6a19053b2feda2d8f75ff51ce9ba314b629e..72b34b170b69b200127fe14e7bbf6186e6195aae 100644
--- a/data/assets/scene/solarsystem/heliosphere/bastille_day/fluxnodescutplane.asset
+++ b/data/assets/scene/solarsystem/heliosphere/bastille_day/fluxnodescutplane.asset
@@ -97,6 +97,5 @@ asset.meta = {
   Description = [[Cutplanes for the bastille day CME event]],
   Author = "CCMC, Christian Adamsson, Emilie Ho",
   URL = "https://dx.doi.org/10.3847/1538-4357/aab36d",
-  License = "CC-BY",
-  Identifier = {"MeridialCutplane-bastille-day-2000", "EquatorialCutplane-bastille-day-2000"}
+  License = "CC-BY"
 }
diff --git a/data/assets/scene/solarsystem/heliosphere/bastille_day/fluxnodeslegend.asset b/data/assets/scene/solarsystem/heliosphere/bastille_day/fluxnodeslegend.asset
index 47c837e730d62e78e279c9d304c53ba42c9c47bd..4825faa422db0ef7846a8432844b22d8240167cc 100644
--- a/data/assets/scene/solarsystem/heliosphere/bastille_day/fluxnodeslegend.asset
+++ b/data/assets/scene/solarsystem/heliosphere/bastille_day/fluxnodeslegend.asset
@@ -57,6 +57,5 @@ asset.meta = {
   Description = [[Screen space renderable image legend of flux nodes for the bastille day CME event]],
   Author = "Christian Adamsson, Emilie Ho",
   URL = "https://dx.doi.org/10.3847/1538-4357/aab36d",
-  License = "MIT",
-  Identifier = {"LegendFluxNodes-bastille-day-2000"}
+  License = "MIT"
 }
diff --git a/data/assets/scene/solarsystem/heliosphere/bastille_day/lightindicator.asset b/data/assets/scene/solarsystem/heliosphere/bastille_day/lightindicator.asset
index 96980132f4d2f087c28bdf7f2d32d66331e4a77c..8bfbd17137afb767e29c1157f1749f3450c4308d 100644
--- a/data/assets/scene/solarsystem/heliosphere/bastille_day/lightindicator.asset
+++ b/data/assets/scene/solarsystem/heliosphere/bastille_day/lightindicator.asset
@@ -35,6 +35,5 @@ asset.meta = {
   Description = [[Speed of light indicator from sun to earth]],
   Author = "CCMC, Christian Adamsson, Emilie Ho",
   URL = "",
-  License = "MIT",
-  Identifier = {"TravelSpeedIndicator-2000"}
+  License = "MIT"
 }
diff --git a/data/assets/scene/solarsystem/heliosphere/bastille_day/magnetogram.asset b/data/assets/scene/solarsystem/heliosphere/bastille_day/magnetogram.asset
index 8d83f6729dc4101cf4cc42a9fff986de8b46ce56..3a1624a691cb945302db054c51b169178a9f6b8b 100644
--- a/data/assets/scene/solarsystem/heliosphere/bastille_day/magnetogram.asset
+++ b/data/assets/scene/solarsystem/heliosphere/bastille_day/magnetogram.asset
@@ -17,6 +17,5 @@ asset.meta = {
   Description = [[Magnetograms of the sun as texture color layers]],
   Author = "Jonathan Grangien, Matthias Berg",
   URL = "https://dx.doi.org/10.3847/1538-4357/aab36d",
-  License = "CC-BY",
-  Identifier = {"Sun"}
+  License = "CC-BY"
 }
diff --git a/data/assets/scene/solarsystem/heliosphere/bastille_day/magnetogram_textures.asset b/data/assets/scene/solarsystem/heliosphere/bastille_day/magnetogram_textures.asset
index c6b8df79c56afdc53fe1ed9f259fdb9c397c34af..0ac3bb04d8af664d430474a1592727f6a8f86ce3 100644
--- a/data/assets/scene/solarsystem/heliosphere/bastille_day/magnetogram_textures.asset
+++ b/data/assets/scene/solarsystem/heliosphere/bastille_day/magnetogram_textures.asset
@@ -58,3 +58,15 @@ asset.onDeinitialize(function ()
   end
   openspace.action.removeAction(switch_color_layer.Identifier)
 end)
+
+
+asset.meta = {
+  Name = "Bastille Day magnetogram textures",
+  Version = "1.0",
+  Description = [[ This asset adds multiple magnetogram textures to the Sun. In addition
+  it provides an action to cycle through the textures. See magnetogram.asset for details 
+  of the textures.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/interstellar/c-2019_q4_borisov.asset b/data/assets/scene/solarsystem/interstellar/c-2019_q4_borisov.asset
index 86f48785f64a7f2b6d931c971ba3dd401294b3ee..d441f71598656b96028209a06da904829b7cc674 100644
--- a/data/assets/scene/solarsystem/interstellar/c-2019_q4_borisov.asset
+++ b/data/assets/scene/solarsystem/interstellar/c-2019_q4_borisov.asset
@@ -24,7 +24,9 @@ local C2019Q4BorisovTrail = {
   },
   GUI = {
     Name = "C/2019 Q4 Borisov Trail",
-    Path = "/Solar System/Interstellar"
+    Path = "/Solar System/Interstellar",
+    Description = [[Trail of C-2019 Q4 Borisov from 2015 JAN 01 00:00:00
+    to 2024 JAN 01 00:00:00. Data from JPL Horizons]]
   }
 }
 
@@ -39,7 +41,9 @@ local C2019Q4BorisovPosition = {
   },
   GUI = {
     Name = "C/2019 Q4 Borisov",
-    Path = "/Solar System/Interstellar"
+    Path = "/Solar System/Interstellar",
+    Description = [[Position of C-2019 Q4 Borisov from 2015 JAN 01 00:00:00
+    to 2024 JAN 01 00:00:00. Data from JPL Horizons]]
   }
 }
 
@@ -48,7 +52,7 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { C2019Q4BorisovPosition, C2
 
 asset.meta = {
   Name = "C/2019 Q4 Borisov",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ This asset contains the trail
     and position of C-2019 Q4 Borisov from 2015 JAN 01 00:00:00
     to 2024 JAN 01 00:00:00. Data from JPL Horizons']],
diff --git a/data/assets/scene/solarsystem/interstellar/oumuamua.asset b/data/assets/scene/solarsystem/interstellar/oumuamua.asset
index d3a9abc32b8efe8ef9bca3804c37e9d6655d6af9..33381536b531f2bfaa6ccffd4b0fc046f31906b8 100644
--- a/data/assets/scene/solarsystem/interstellar/oumuamua.asset
+++ b/data/assets/scene/solarsystem/interstellar/oumuamua.asset
@@ -25,7 +25,9 @@ local OumuamuaTrail = {
   },
   GUI = {
     Name = "'Oumuamua Trail",
-    Path = "/Solar System/Interstellar"
+    Path = "/Solar System/Interstellar",
+    Description = [[Trail of 'Oumuamua from 2014 JAN 01 00:00:00 to 2023 JAN 01 00:00:00.
+     Data from JPL Horizons']],
   }
 }
 
@@ -40,7 +42,9 @@ local OumuamuaPosition = {
   },
   GUI = {
     Name = "'Oumuamua",
-    Path = "/Solar System/Interstellar"
+    Path = "/Solar System/Interstellar",
+    Description = [[ Position of 'Oumuamua from 2014 JAN 01 00:00:00 to 2023 JAN 01 
+     00:00:00. Data from JPL Horizons']],
   }
 }
 
@@ -49,7 +53,7 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { OumuamuaPosition, Oumuamua
 
 asset.meta = {
   Name = "'Oumuamua",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ This asset contains the trail and position of 'Oumuamua from 2014
     JAN 01 00:00:00 to 2023 JAN 01 00:00:00. Data from JPL Horizons']],
   Author = "OpenSpace Team",
diff --git a/data/assets/scene/solarsystem/planets/earth/atmosphere.asset b/data/assets/scene/solarsystem/planets/earth/atmosphere.asset
index 9c464b1519ccb86b68404ebededaa414b7ba9fe8..d83c879abebcb94351e0dc57371376bd9d9fa93f 100644
--- a/data/assets/scene/solarsystem/planets/earth/atmosphere.asset
+++ b/data/assets/scene/solarsystem/planets/earth/atmosphere.asset
@@ -94,10 +94,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Atmosphere })
 
 asset.meta = {
   Name = "Earth Atmosphere",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableAtmosphere for Earth.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = { "EarthAtmosphere" }
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/earth.asset b/data/assets/scene/solarsystem/planets/earth/earth.asset
index 3cee780b96d4cbad82d6530aab953380b9d5d6d1..4eca7b3bdc8431df77b0febae28d382baae6b2ac 100644
--- a/data/assets/scene/solarsystem/planets/earth/earth.asset
+++ b/data/assets/scene/solarsystem/planets/earth/earth.asset
@@ -83,6 +83,5 @@ asset.meta = {
   Description = [[ Earth is a special planet with special needs ]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Earth", "EarthLabel"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/lagrange_points/L1.asset b/data/assets/scene/solarsystem/planets/earth/lagrange_points/L1.asset
index e4591244dbfe415e5857aa4e5a6cceffee66c635..58cb15bf3dc1229c83479eb2d0651316c5981beb 100644
--- a/data/assets/scene/solarsystem/planets/earth/lagrange_points/L1.asset
+++ b/data/assets/scene/solarsystem/planets/earth/lagrange_points/L1.asset
@@ -67,3 +67,13 @@ assetHelper.registerSceneGraphNodesAndExport(asset, {
   L1,
   L1Label
 })
+
+
+asset.meta = {
+  Name = "Lagrange point L1",
+  Version = "1.0",
+  Description = [[ Lagrange point L1 node and label]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/lagrange_points/L2.asset b/data/assets/scene/solarsystem/planets/earth/lagrange_points/L2.asset
index bf7eecb0721fa2b40b3f956e84fa164626cb9a71..ff8dd240f4bff6e7c22febb775077e654de1c882 100644
--- a/data/assets/scene/solarsystem/planets/earth/lagrange_points/L2.asset
+++ b/data/assets/scene/solarsystem/planets/earth/lagrange_points/L2.asset
@@ -134,3 +134,14 @@ assetHelper.registerSceneGraphNodesAndExport(asset, {
   L2SmallLabel,
   L2Label
 })
+
+
+asset.meta = {
+  Name = "Lagrange point L2",
+  Version = "1.0",
+  Description = [[ Lagrange point L2 large and small nodes, sun line, and large and small
+  labels. ]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/lagrange_points/L4.asset b/data/assets/scene/solarsystem/planets/earth/lagrange_points/L4.asset
index 3ff07dd9c1ae3ba4a9ba5128ceb017461cf2b199..6702d16f61da861ebef6394abae7af74842d5bae 100644
--- a/data/assets/scene/solarsystem/planets/earth/lagrange_points/L4.asset
+++ b/data/assets/scene/solarsystem/planets/earth/lagrange_points/L4.asset
@@ -67,3 +67,13 @@ assetHelper.registerSceneGraphNodesAndExport(asset, {
   L4,
   L4Label
 })
+
+
+asset.meta = {
+  Name = "Lagrange point L4",
+  Version = "1.0",
+  Description = [[ Lagrange point L4 node and label]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/lagrange_points/L5.asset b/data/assets/scene/solarsystem/planets/earth/lagrange_points/L5.asset
index 5de0504897ccd736a4b01b91c4acd8c0e7187d1b..67d973499d11af2b719b0757dcd148eb043e5120 100644
--- a/data/assets/scene/solarsystem/planets/earth/lagrange_points/L5.asset
+++ b/data/assets/scene/solarsystem/planets/earth/lagrange_points/L5.asset
@@ -67,3 +67,13 @@ assetHelper.registerSceneGraphNodesAndExport(asset, {
   L5,
   L5Label
 })
+
+
+asset.meta = {
+  Name = "Lagrange point L5",
+  Version = "1.0",
+  Description = [[ Lagrange point L5 node and label]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/lagrange_points/lagrange_points.asset b/data/assets/scene/solarsystem/planets/earth/lagrange_points/lagrange_points.asset
index a995d9ae6d9b2bd9d70332aa3e06d2fbd090934b..cff6a21d610700dd362058f3591823603e11f905 100644
--- a/data/assets/scene/solarsystem/planets/earth/lagrange_points/lagrange_points.asset
+++ b/data/assets/scene/solarsystem/planets/earth/lagrange_points/lagrange_points.asset
@@ -2,3 +2,13 @@ asset.require("scene/solarsystem/planets/earth/lagrange_points/L1")
 asset.require("scene/solarsystem/planets/earth/lagrange_points/L2")
 asset.require("scene/solarsystem/planets/earth/lagrange_points/L4")
 asset.require("scene/solarsystem/planets/earth/lagrange_points/L5")
+
+
+asset.meta = {
+  Name = "Earth Lagrange Points",
+  Version = "1.0",
+  Description = [[ Meta asset to include all the Earth Lagrange points. Includes L1, L2, L4 and L5.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/amsr2_gcom_w1_sea_ice_concentration_temporal.asset b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/amsr2_gcom_w1_sea_ice_concentration_temporal.asset
index 98388e8e7b08b82d78d1ce9216dc06c659c309d8..d0b0a8983a6e8fa9671bcf62cdd2f8dc9123d480 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/amsr2_gcom_w1_sea_ice_concentration_temporal.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/amsr2_gcom_w1_sea_ice_concentration_temporal.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer = {
@@ -26,20 +27,15 @@ local layer = {
     of 12 km. (Description from NASA Worldview)]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "AMSR2 GCOM W1 Sea Ice Concentration (Temporal)",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ GIBS hosted layer created with
     openspace.globebrowsing.createTemporalGibsGdalXml ]],
   Author = "NASA EOSDIS Global Imagery Browse Services",
   URL = "https://earthdata.nasa.gov/eosdis/science-system-description/eosdis-components/gibs",
-  License = "NASA",
-  Identifiers = {"AMSR2_GCOM_W1_Sea_Ice_Concentration_Temporal"}
+  License = "NASA"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/aqua_modis_temporal.asset b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/aqua_modis_temporal.asset
index 4807d05cd18718df33e9e80190cf434de6f52442..01f39083f5689b3668ed4532f216a5ac2e846888 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/aqua_modis_temporal.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/aqua_modis_temporal.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer = {
@@ -31,20 +32,15 @@ local layer = {
     and the temporal resolution is daily. (Description from NASA Worldview)]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "Aqua Modis (Temporal)",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ GIBS hosted layer created with
     openspace.globebrowsing.createTemporalGibsGdalXml ]],
   Author = "NASA EOSDIS Global Imagery Browse Services",
   URL = "https://earthdata.nasa.gov/eosdis/science-system-description/eosdis-components/gibs",
-  License = "NASA",
-  Identifiers = {"Aqua_Modis_Temporal"}
+  License = "NASA"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/bmng_sweden.asset b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/bmng_sweden.asset
index eb8a17beb1e9fc5bbe39411854834d2cfeb717c5..8dd37ed101e0cd3b6d857f29af98468ed40ee52c 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/bmng_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/bmng_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer = {
@@ -8,20 +9,15 @@ local layer = {
     This map is hosted on the OpenSpace servers in Sweden]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "Blue Marble Next Generation (Sweden)",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Web loaded full resolution map of Blue Marble Next Generation.
     This map is hosted on the OpenSpace servers in Sweden]],
   Author = "OpenSpace Team",
   URL = "https://visibleearth.nasa.gov/collection/1484/blue-marble",
-  License = "NASA",
-  Identifiers = {"BMNG_Sweden"}
+  License = "NASA"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/bmng_utah.asset b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/bmng_utah.asset
index 28ec33a0b88217a9bb59a81c33090425d7c72be3..19e84e3dedcb499899e6a6b84d6e494cca9997b5 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/bmng_utah.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/bmng_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer = {
@@ -8,20 +9,15 @@ local layer = {
     This map is hosted on the OpenSpace servers in Utah]],    
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "Blue Marble Next Generation (Utah)",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Web loaded full resolution map of Blue Marble Next Generation.
     This map is hosted on the OpenSpace servers in Utah]],
   Author = "OpenSpace Team",
   URL = "https://visibleearth.nasa.gov/collection/1484/blue-marble",
-  License = "NASA",
-  Identifiers = {"BMNG_Utah"}
+  License = "NASA"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/esri_imagery_world_2D.asset b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/esri_imagery_world_2D.asset
index e7f8695c7fab6e6acd511d5923fc9409f2e17570..7a706559b2ccb9c38897ca1882b52bc336081a8b 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/esri_imagery_world_2D.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/esri_imagery_world_2D.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer = {
@@ -15,19 +16,14 @@ local layer = {
     (Description from URL)]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "ESRI Imagery World 2D",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Older 2D imager map layer for Earth. This layer is hosted by ESRI.]],
   Author = "ESRI",
   URL = "https://www.arcgis.com/home/item.html?id=21b4ba14d9e5472d97afcbb819f7368e",
-  License = "Esri Master License Agreement",
-  Identifiers = {"ESRI_Imagery_World_2D"}
+  License = "Esri Master License Agreement"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/esri_viirs_combo.asset b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/esri_viirs_combo.asset
index 374d0674663a44c641e7f079da8dc8f2dbf9a064..75dfeab69c0a31c0260a18c3177ff6735f20510f 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/esri_viirs_combo.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/esri_viirs_combo.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local fallBackLayer = asset.require("./fallbacks/blue_marble").layer
@@ -46,20 +47,15 @@ local layer = {
     Imagery. "VIIRS SNPP (Temporal)" is faded out at tile level 4]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "ESRI VIIRS Combo",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Level based layer combining "VIIRS SNPP (Temporal)" and ESRI World
   Imagery. "VIIRS SNPP (Temporal)" is faded out at tile level 4]],
   Author = "OpenSpace Tem",
   URL = "http://www.openspaceproject.com",
-  License = "MIT License",
-  Identifiers = {"ESRI_VIIRS_Combo"}
+  License = "MIT License"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/esri_world_imagery.asset b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/esri_world_imagery.asset
index bc3fae5e924f6a8b2436a756ad8bbc9e23469f40..a191ea53770c191d393985cab668aa9e5d6c3c16 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/esri_world_imagery.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/esri_world_imagery.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer = {
@@ -16,19 +17,14 @@ local layer = {
     ~1:280 scale. (Description from URL)]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "ESRI World Imagery",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Main web loaded map layer for Earth. This layer is hosted by ESRI.]],
   Author = "ESRI",
   URL = "https://www.arcgis.com/home/item.html?id=10df2279f9684e4a9f6a7f08febac2a9",
-  License = "Esri Master License Agreement",
-  Identifiers = {"ESRI_World_Imagery"}
+  License = "Esri Master License Agreement"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/fallbacks/blue_marble.asset b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/fallbacks/blue_marble.asset
index e1051ce5675011d6bb81c2eba12e332ce53fd0b3..b1751b003d4a51c4c919e30ae8a33596ddd80d5f 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/fallbacks/blue_marble.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/fallbacks/blue_marble.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../../earth").Earth.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -19,11 +20,10 @@ asset.export("layer", layer)
 
 asset.meta = {
   Name = "Blue Marble",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Fallback layer for earth image if no internet is available. Contains
     Blue Marble Next Generation ]],
   Author = "OpenSpace Team",
   URL = "https://visibleearth.nasa.gov/collection/1484/blue-marble",
-  License = "NASA",
-  Identifiers = {"Blue_Marble"}
+  License = "NASA"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/ghrsst_l4_g1sst_sea_surface_temperature_temporal.asset b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/ghrsst_l4_g1sst_sea_surface_temperature_temporal.asset
index 9bf43d88d2e145a171576171b0b5974ba27ad2b1..d9e4f6fd08795b2bd8846114add54f7aa9534d69 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/ghrsst_l4_g1sst_sea_surface_temperature_temporal.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/ghrsst_l4_g1sst_sea_surface_temperature_temporal.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer =  {
@@ -23,21 +24,16 @@ local layer =  {
   Author = "NASA EOSDIS Global Imagery Browse Services"
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "GHRSST L4 MUR Sea Surface Temperature (Temporal)",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ GIBS hosted layer created with
     openspace.globebrowsing.createTemporalGibsGdalXml ]],
   Author = "NASA EOSDIS Global Imagery Browse Services",
   URL = "https://earthdata.nasa.gov/eosdis/science-system-description/" ..
     "eosdis-components/gibs",
-  License = "NASA",
-  Identifiers = {"GHRSST_L4_G1SST_Sea_Surface_Temperature_Temporal"}
+  License = "NASA"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/ghrsst_l4_mur_sea_surface_temperature_temporal.asset b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/ghrsst_l4_mur_sea_surface_temperature_temporal.asset
index 4efb087717955ea71200c94b47aaf4e2d42310ea..cdf9dbf4a78e06a95a2c631b5b199a48b516bb94 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/ghrsst_l4_mur_sea_surface_temperature_temporal.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/ghrsst_l4_mur_sea_surface_temperature_temporal.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer = {
@@ -22,21 +23,16 @@ local layer = {
     is 1 km, and the temporal resolution is daily.]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "GHRSST L4 MUR Sea Surface Temperature (Temporal)",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ GIBS hosted layer created with
     openspace.globebrowsing.createTemporalGibsGdalXml ]],
   Author = "NASA EOSDIS Global Imagery Browse Services",
   URL = "https://earthdata.nasa.gov/eosdis/science-system-description/"..
     "eosdis-components/gibs",
-  License = "NASA",
-  Identifiers = {"GHRSST_L4_MUR_Sea_Surface_Temperature_Temporal"}
+  License = "NASA"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/modis_terra_chlorophyll_a_temporal.asset b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/modis_terra_chlorophyll_a_temporal.asset
index c4377b380ee91b1a3b40f713521fdfc79eaefd7b..d3d806a337b4fcb5f5d9d398abbd59be3a1c98ec 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/modis_terra_chlorophyll_a_temporal.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/modis_terra_chlorophyll_a_temporal.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer = {
@@ -22,21 +23,16 @@ local layer = {
     is 1 km, and the temporal resolution is daily.]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "MODIS Terra Chlorophyll A (Temporal)",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ GIBS hosted layer created with
     openspace.globebrowsing.createTemporalGibsGdalXml ]],
   Author = "NASA EOSDIS Global Imagery Browse Services",
   URL = "https://earthdata.nasa.gov/eosdis/science-system-description/" ..
     "eosdis-components/gibs",
-  License = "NASA",
-  Identifiers = {"MODIS_Terra_Chlorophyll_A_Temporal"}
+  License = "NASA"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/terra_modis_temporal.asset b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/terra_modis_temporal.asset
index fa39b2eff33666c118f82f3f5144f30d9dde6a62..ac6f7c850c403bfac39fe1b53989a4db2ca51246 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/terra_modis_temporal.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/terra_modis_temporal.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer = {
@@ -22,21 +23,16 @@ local layer = {
     is 1 km, and the temporal resolution is daily.]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "Terra Modis (Temporal)",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ GIBS hosted layer created with
     openspace.globebrowsing.createTemporalGibsGdalXml ]],
   Author = "NASA EOSDIS Global Imagery Browse Services",
   URL = "https://earthdata.nasa.gov/eosdis/science-system-description/"..
     "eosdis-components/gibs",
-  License = "NASA",
-  Identifiers = {"Terra_Modis_Temporal"}
+  License = "NASA"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/viirs_snpp_temporal.asset b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/viirs_snpp_temporal.asset
index d1bb41c0896c8600b857ca55165d245c5c6fe666..cd136e8454df0a0daddb30a0fc2a284ef0d9c9cf 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/viirs_snpp_temporal.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/colorlayers/viirs_snpp_temporal.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer = {
@@ -22,21 +23,16 @@ local layer = {
     is 0.25 km, and the temporal resolution is daily.]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "VIIRS SNPP (Temporal)",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ This layer has the best daily Earth Image. GIBS hosted layer created
     with openspace.globebrowsing.createTemporalGibsGdalXml ]],
   Author = "NASA EOSDIS Global Imagery Browse Services",
   URL = "https://earthdata.nasa.gov/eosdis/science-system-description/" ..
     "eosdis-components/gibs",
-  License = "NASA",
-  Identifiers = {"VIIRS_SNPP_Temporal"}
+  License = "NASA"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/heightlayers/fallbacks/blue_marble_height.asset b/data/assets/scene/solarsystem/planets/earth/layers/heightlayers/fallbacks/blue_marble_height.asset
index 8c011649d32bd9a3ddd5c327cc5d47d719d4a3a4..48c53c1afa457ad9d75d0d865eed67d1d8b0ca55 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/heightlayers/fallbacks/blue_marble_height.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/heightlayers/fallbacks/blue_marble_height.asset
@@ -17,11 +17,10 @@ asset.export("layer", layer)
 
 asset.meta = {
   Name = "Earth Bluemarble Height",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Fallback layer for earth height if no internet is available. Contains
     Blue Marble Next Generation Topographic]],
   Author = "NASA",
   URL = "https://visibleearth.nasa.gov/collection/1484/blue-marble",
-  License = "NASA",
-  Identifiers = {"Earth_Bluemarble_Height"}
+  License = "NASA"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/heightlayers/terrain_tileset.asset b/data/assets/scene/solarsystem/planets/earth/layers/heightlayers/terrain_tileset.asset
index 4fa05ae8d5cf79cca6ad04726f642dd8c8188b19..2344f85561818850895ae29dccb8f9e70023c11e 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/heightlayers/terrain_tileset.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/heightlayers/terrain_tileset.asset
@@ -1,5 +1,5 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
-
 local fallBackLayer = asset.require("./fallbacks/blue_marble_height").layer
 
 local layer = {
@@ -15,19 +15,14 @@ local layer = {
     data from the USGS elsewhere. Vertical units are measured in meters.]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "HeightLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "HeightLayers")
 
 
 asset.meta = {
   Name = "World Elevation (3D)",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Main web loaded height layer for Earth. This layer is hosted by ESRI.]],
   Author = "ESRI",
   URL = "https://www.arcgis.com/home/item.html?id=1b48cd3b6276416784fe90a68c580a89",
-  License = "Esri Master License Agreement",
-  Identifiers = {"Terrain_tileset"}
+  License = "Esri Master License Agreement"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/nightlayers/earth_at_night_2012.asset b/data/assets/scene/solarsystem/planets/earth/layers/nightlayers/earth_at_night_2012.asset
index 2dbb1e8f352fae04a4676e409b9ce368c30ad255..dd4576d0a42233d101a372f9a94cf72a0e9d0e3d 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/nightlayers/earth_at_night_2012.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/nightlayers/earth_at_night_2012.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local fallBackLayer = asset.require("./fallbacks/earth_night_texture").layer
@@ -11,19 +12,14 @@ local layer = {
     in this global view. ]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "NightLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "NightLayers")
 
 
 asset.meta = {
   Name = "Earth at Night 2012",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Main web loaded night layer for Earth. This layer is hosted by GIBS.]],
   Author = "OpenSpace Team",
   URL = "https://visibleearth.nasa.gov/images/79765/night-lights-2012-map",
-  License = "NASA",
-  Identifiers = {"Earth_at_Night_2012"}
+  License = "NASA"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/nightlayers/earth_at_night_temporal.asset b/data/assets/scene/solarsystem/planets/earth/layers/nightlayers/earth_at_night_temporal.asset
index bd3c7f6cfba9435e706bf4297fb27a1c15d9f53b..08cc2fb4deafde21748a94d6ff664ff1cd079070 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/nightlayers/earth_at_night_temporal.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/nightlayers/earth_at_night_temporal.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer =  {
@@ -38,20 +39,15 @@ local layer =  {
     temporal resolution is daily. (Description from NASA Worldview)]],
 }
 
-asset.onInitialize(function () 
-    openspace.globebrowsing.addLayer(globeIdentifier, "NightLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "NightLayers")
 
 
 asset.meta = {
   Name = "Earth at Night (Temporal)",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Temporal layer for earth with daily night image. This layer is a GIBS
     hosted layer created with openspace.globebrowsing.createTemporalGibsGdalXml ]],
   Author = "OpenSpace Team",
   URL = "https://worldview.earthdata.nasa.gov/?l=VIIRS_SNPP_DayNightBand_ENCC",
-  License = "NASA",
-  Identifiers = {"Earth_at_Night_Temporal"}
+  License = "NASA"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/nightlayers/fallbacks/earth_night_texture.asset b/data/assets/scene/solarsystem/planets/earth/layers/nightlayers/fallbacks/earth_night_texture.asset
index e2af3ebc6574277560940180083368c0f7bacbf5..e4e20aceb46eed1cf5ac86ffc13ccc63415313eb 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/nightlayers/fallbacks/earth_night_texture.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/nightlayers/fallbacks/earth_night_texture.asset
@@ -17,10 +17,9 @@ asset.export("layer", layer)
 
 asset.meta = {
   Name = "Blue Marble Night",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Fallback layer for earth night image if no internet is available. ]],
   Author = "OpenSpace Team",
   URL = "https://visibleearth.nasa.gov/collection/1484/blue-marble",
-  License = "NASA",
-  Identifiers = {"Earth_Night_Texture"}
+  License = "NASA"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/overlays/coastlines.asset b/data/assets/scene/solarsystem/planets/earth/layers/overlays/coastlines.asset
index 0d90a261a77a2eeefba08495563d1ecd0284567a..363d3e43d997e2ac3a617d80915343c9b780bcdb 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/overlays/coastlines.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/overlays/coastlines.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer = {
@@ -5,8 +6,14 @@ local layer = {
   FilePath = asset.localResource("coastlines.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "Overlays", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "Overlays")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Earth Coastlines Layer",
+  Version = "1.0",
+  Description = [[ Coastlines layer for Earth globe.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/overlays/reference_features.asset b/data/assets/scene/solarsystem/planets/earth/layers/overlays/reference_features.asset
index b6fe2f8f86ab69f116eff0cb448f049e8f721502..a307d22795867440f373556e618e78dbe37024fa 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/overlays/reference_features.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/overlays/reference_features.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer = {
@@ -6,8 +7,14 @@ local layer = {
   FilePath = asset.localResource("reference_features.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "Overlays", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "Overlays")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Earth Reference Features",
+  Version = "1.0",
+  Description = [[ Reference Features layer for Earth globe.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/overlays/reference_labels.asset b/data/assets/scene/solarsystem/planets/earth/layers/overlays/reference_labels.asset
index 1e6f76b75951386abd4e7f1799f2b94f7e9861cc..57a70110e3df4d0f02fef5d8a1547de4339516ec 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/overlays/reference_labels.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/overlays/reference_labels.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer = {
@@ -6,8 +7,14 @@ local layer = {
   FilePath = asset.localResource("reference_labels.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "Overlays", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "Overlays")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Earth Reference Labels",
+  Version = "1.0",
+  Description = [[ Reference Labels layer for Earth globe.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/overlays/size_reference.asset b/data/assets/scene/solarsystem/planets/earth/layers/overlays/size_reference.asset
index b208fa7e69363c497ff0696c5e96d224216eb80c..8b3a9de7ce48847df1b9d8a9a67b9ff838ac31c7 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/overlays/size_reference.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/overlays/size_reference.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local earthAsset = asset.require("../../earth").Earth
 local globeIdentifier = earthAsset.Identifier
 
@@ -8,8 +9,14 @@ local layer ={
   Radii = earthAsset.Renderable.Radii
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "Overlays", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "Overlays")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Earth Size Reference",
+  Version = "1.0",
+  Description = [[ Size reference layer for Earth globe.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/overlays/tile_indices.asset b/data/assets/scene/solarsystem/planets/earth/layers/overlays/tile_indices.asset
index b19df9addd24b66c172650d3e485e6f51609de86..4786543c67d94a1287d2824e7e874c8e4e9b3aaa 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/overlays/tile_indices.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/overlays/tile_indices.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer = {
@@ -6,8 +7,14 @@ local layer = {
   Type = "TileIndexTileLayer"
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "Overlays", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "Overlays")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Earth Tile Indices",
+  Version = "1.0",
+  Description = [[ Tile index layer for Earth globe.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/watermasks/gebco_sweden.asset b/data/assets/scene/solarsystem/planets/earth/layers/watermasks/gebco_sweden.asset
index 3ce00a16ba184e0fa7260da617cdf13ced43b490..c88892b45025b82b074ad5e259e25687c0667a9b 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/watermasks/gebco_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/watermasks/gebco_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer = {
@@ -6,8 +7,14 @@ local layer = {
   FilePath = asset.localResource("gebco_sweden.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "WaterMasks", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "WaterMasks")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Gebco WaterMask Layer (Sweden)",
+  Version = "1.0",
+  Description = [[ WaterMask layer for Earth globe.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/watermasks/gebco_utah.asset b/data/assets/scene/solarsystem/planets/earth/layers/watermasks/gebco_utah.asset
index b1bb493ac3aa927bc78414ff186aa158f039eca1..eef1ac525670230e99f13d8c2b55f23e1730b0d4 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/watermasks/gebco_utah.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/watermasks/gebco_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer = {
@@ -5,9 +6,14 @@ local layer = {
   Identifier = "Gebco_Utah",
   FilePath = asset.localResource("gebco_utah.wms")
 }
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "WaterMasks")
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "WaterMasks", layer)
-end)
 
-asset.export("layer", layer)
+asset.meta = {
+  Name = "Gebco WaterMask Layer (Utah)",
+  Version = "1.0",
+  Description = [[ WaterMask layer for Earth globe.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/layers/watermasks/modis_water_mask.asset b/data/assets/scene/solarsystem/planets/earth/layers/watermasks/modis_water_mask.asset
index b3568ab86c8f0f7f4a5f1e0676a5ea3dc88e69db..a9502edcb84db7fd3681d29c7fe5fd5a0b6d8ea5 100644
--- a/data/assets/scene/solarsystem/planets/earth/layers/watermasks/modis_water_mask.asset
+++ b/data/assets/scene/solarsystem/planets/earth/layers/watermasks/modis_water_mask.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../earth").Earth.Identifier
 
 local layer = {
@@ -6,8 +7,15 @@ local layer = {
   FilePath = asset.localResource("modis_water_mask.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "WaterMasks", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "WaterMasks")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "MODIS Water Mask",
+  Version = "1.0",
+  Description = [[ MODIS Water Mask layer for Earth globe.]],
+  Author = "NASA EOSDIS Global Imagery Browse Services",
+  URL = "https://earthdata.nasa.gov/eosdis/science-system-description/"..
+    "eosdis-components/gibs",
+  License = "NASA"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/magnetosphere/magnetosphere.asset b/data/assets/scene/solarsystem/planets/earth/magnetosphere/magnetosphere.asset
index 757b7eb718f6f34ae3187c124e0ea8a65d50390d..114d1c6ca119f1b46a22cc8cd4c8c88e7643c966 100644
--- a/data/assets/scene/solarsystem/planets/earth/magnetosphere/magnetosphere.asset
+++ b/data/assets/scene/solarsystem/planets/earth/magnetosphere/magnetosphere.asset
@@ -41,10 +41,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { earthMagnetosphere })
 
 asset.meta = {
   Name = "Static generic magnetosphere of fieldlines",
-  Version = "1.0",
+  Version = "1.1",
   Description = "Magnetic fieldlines for the bastille day CME event",
   Author = "CCMC",
   URL = "",
-  License = "",
-  Identifier = {"EarthMagnetosphere"}
+  License = "CC-BY"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/magnetosphere/transforms_magnetosphere.asset b/data/assets/scene/solarsystem/planets/earth/magnetosphere/transforms_magnetosphere.asset
index d39e7abd5d3f48f77504932475fa4363eb4d62c8..111b7478f32763f07356645ee31903244c2a901e 100644
--- a/data/assets/scene/solarsystem/planets/earth/magnetosphere/transforms_magnetosphere.asset
+++ b/data/assets/scene/solarsystem/planets/earth/magnetosphere/transforms_magnetosphere.asset
@@ -26,10 +26,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { GSMReferenceFrame })
 
 asset.meta = {
   Name = "Earth magnetosphere transforms",
-  Version = "1.0",
+  Version = "1.1",
   Description = "Earth transforms: GSMReferenceFrame. Geocentric Solar Magnetospheric",
   Author = "CCMC",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"GSMReferenceFrame"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/markers.asset b/data/assets/scene/solarsystem/planets/earth/markers.asset
index 46257013812165b5aad95edc293b3b06044759a2..1456d53115a2475c1fdb8aa1945e34a3b2b7ce70 100644
--- a/data/assets/scene/solarsystem/planets/earth/markers.asset
+++ b/data/assets/scene/solarsystem/planets/earth/markers.asset
@@ -32,10 +32,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { EarthMarker })
 
 asset.meta = {
   Name = "Earth marker",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Earth marker with name, sized for Solar System view]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"EarthMarker"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/moon/default_layers.asset b/data/assets/scene/solarsystem/planets/earth/moon/default_layers.asset
index add0650eb88f0e65bf1ed84fcb6d81f4b446900e..8508881a654e0d167b16ef623d6a7553ff06ec1d 100644
--- a/data/assets/scene/solarsystem/planets/earth/moon/default_layers.asset
+++ b/data/assets/scene/solarsystem/planets/earth/moon/default_layers.asset
@@ -24,3 +24,13 @@ asset.onInitialize(function ()
   openspace.setPropertyValueSingle("Scene.Moon.Renderable.Layers.HeightLayers." ..
     heightLayer.layer.Identifier .. ".Enabled", true)
 end)
+
+
+asset.meta = {
+  Name = "Default Moon layers",
+  Version = "1.0",
+  Description = [[This asset adds the default layers to the Moon globe.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/clemuvvis_sweden.asset b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/clemuvvis_sweden.asset
index e3c4f63c3654c5d428bf925bcff316f888a44446..19af6c5006ac1bb83b2abf51d0059a9cd9d6a223 100644
--- a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/clemuvvis_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/clemuvvis_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../moon").Moon.Identifier
 
 local layer = {
@@ -7,11 +8,22 @@ local layer = {
   Settings = {
     Gamma = 1.14,
     Multiplier = 1.4
-  }
+  },
+  Description = [[The Clementine Ultraviolet/Visible (UVVIS) Version 2 mosaic is a 
+  grayscale data set representing the albedo (brightness of the lunar surface) as 
+  measured at the 750 nanometer (nm) wavelength by the UVVIS camera (Lee, et al., 2009). 
+  Resolution of this mosaic is 118 meters per pixel (m).]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Clem Uvvis [Sweden]",
+  Version = "1.1",
+  Description = [[Moon Clementine UVVIS Global Mosaic 118m v2 map of the Moon. This map 
+  is hosted on the OpenSpace server in Sweden.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Moon/Clementine/UVVIS/Lunar_Clementine_UVVIS_750nm_Global_Mosaic_118m_v2",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/clemuvvis_utah.asset b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/clemuvvis_utah.asset
index 751ca6b5b7e42fda9984344e15b55bfb630bdc14..a659343f3d4b16ddd54ec85836ebf25b05549ff0 100644
--- a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/clemuvvis_utah.asset
+++ b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/clemuvvis_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../moon").Moon.Identifier
 
 local layer = {
@@ -7,11 +8,23 @@ local layer = {
   Settings = {
     Gamma = 1.14,
     Multiplier = 1.4
-  }
+  },
+  Description = [[The Clementine Ultraviolet/Visible (UVVIS) Version 2 mosaic is a 
+  grayscale data set representing the albedo (brightness of the lunar surface) as 
+  measured at the 750 nanometer (nm) wavelength by the UVVIS camera (Lee, et al., 2009). 
+  Resolution of this mosaic is 118 meters per pixel (m).]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+
+asset.meta = {
+  Name = "Clem Uvvis [Utah]",
+  Version = "1.1",
+  Description = [[Moon Clementine UVVIS Global Mosaic 118m v2 map of the Moon. This map 
+  is hosted on the OpenSpace server in Utah.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Moon/Clementine/UVVIS/Lunar_Clementine_UVVIS_750nm_Global_Mosaic_118m_v2",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/kaguya_sweden.asset b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/kaguya_sweden.asset
index 7a7329961f1a6613418e710162582cec07793612..d9b5284ed81b8a076570656a0b426e3ea59386e4 100644
--- a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/kaguya_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/kaguya_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../moon").Moon.Identifier
 
 local layer = {
@@ -7,11 +8,21 @@ local layer = {
   Settings = {
     Gamma = 1.0,
     Multiplier = 1.23
-  }
+  },
+  Description = [[This near-global mosaic was generated using data from the SELenological 
+  and Engineering Explorer (SELENE) 鈥淜aguya鈥� Terrain Camera (TC) instrument. TC source 
+  data originated as map-projected tiles at ~10 meters per pixel (m) spatial resolution.]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Kaguya [Sweden]",
+  Version = "1.1",
+  Description = [[Moon SELENE Kaguya TC Global Orthomosaic 474m v2 layer for Moon globe.
+  This map is hosted on the OpenSpace server in Sweden.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Moon/Kaguya/TC/Ortho/v02/Lunar_Kaguya_TC_Ortho_Global_64ppd_v02",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/kaguya_utah.asset b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/kaguya_utah.asset
index 89526f0da0be74193f51909c41fe8578e9126942..dcc75d872c7537d14c382ffc1336701508ff1843 100644
--- a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/kaguya_utah.asset
+++ b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/kaguya_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../moon").Moon.Identifier
 
 local layer = {
@@ -7,11 +8,21 @@ local layer = {
   Settings = {
     Gamma = 1.0,
     Multiplier = 1.23
-  }
+  },
+  Description = [[This near-global mosaic was generated using data from the SELenological 
+  and Engineering Explorer (SELENE) 鈥淜aguya鈥� Terrain Camera (TC) instrument. TC source 
+  data originated as map-projected tiles at ~10 meters per pixel (m) spatial resolution.]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Kaguya [Utah]",
+  Version = "1.1",
+  Description = [[Moon SELENE Kaguya TC Global Orthomosaic 474m v2 layer for Moon globe.
+  This map is hosted on the OpenSpace server in Utah.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Moon/Kaguya/TC/Ortho/v02/Lunar_Kaguya_TC_Ortho_Global_64ppd_v02",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/lola_clr_shade_sweden.asset b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/lola_clr_shade_sweden.asset
index 628fb8bfbd136086ac6e50b758af72176f434f57..9130b8d830117d1f404162fe0cae5804022b9159 100644
--- a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/lola_clr_shade_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/lola_clr_shade_sweden.asset
@@ -1,13 +1,29 @@
-local globeIdentifier = asset.require("../../moon").Moon.Identifier
+local assetHelper = asset.require("util/asset_helper")
+local globeIdentifier = asset.require("./../../moon").Moon.Identifier
 
 local layer = {
   Identifier = "Lola_Clr_Shade_Sweden",
-  Name = "Lola Color Shade [Sweden]",
+  Name = "LRO LOLA Color Shaded Relief 388m v4 [Sweden]",
+  Description = [[This is a colorized shaded-relief of a original polar digital elevation 
+  model (DEM) from the Lunar Orbiter Laser Altimeter (LOLA; Smith et al., 2010), an 
+  instrument on the National Aeronautics and Space Agency (NASA) Lunar Reconnaissance 
+  Orbiter (LRO) spacecraft (Tooley et al., 2010). The DEM is a shape map (radius) of the 
+  Moon at a resolution 100 meters per pixel (m) based on altimetry data acquired through 
+  September, 2011 by the LOLA instrument. The ground tracks were interpolated using the 
+  Generic Mapping Tools programs "surface" and "grdblend". Map values are referred to a 
+  radius of 1,737,400 m.]],
   FilePath = asset.localResource("lola_clr_shade_sweden.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
+
 
-asset.export("layer", layer)
+asset.meta = {
+  Name = "Lola Color Shade [Sweden]",
+  Version = "1.1",
+  Description = [[Moon LRO LOLA Color Shaded Relief 388m v4 layer for Moon globe. This 
+  map is hosted on the OpenSpace server in Sweden.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Moon/LMMP/LOLA-derived/Lunar_LRO_LOLA_ClrShade_Global_128ppd_v04",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/lola_clr_shade_utah.asset b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/lola_clr_shade_utah.asset
index 5fd79d66402001995e0ab8158d67bc2b3f07ebea..6e57445d3872bf87d95c1eb7ebe55a8cda0b2f0e 100644
--- a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/lola_clr_shade_utah.asset
+++ b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/lola_clr_shade_utah.asset
@@ -1,13 +1,29 @@
-local globeIdentifier = asset.require("../../moon").Moon.Identifier
+local assetHelper = asset.require("util/asset_helper")
+local globeIdentifier = asset.require("./../../moon").Moon.Identifier
 
 local layer = {
   Identifier = "Lola_Clr_Shade_Utah",
-  Name = "Lola Color Shade [Utah]",
+  Name = "LRO LOLA Color Shaded Relief 388m v4 [Utah]",
+  Description = [[This is a colorized shaded-relief of a original polar digital elevation 
+  model (DEM) from the Lunar Orbiter Laser Altimeter (LOLA; Smith et al., 2010), an 
+  instrument on the National Aeronautics and Space Agency (NASA) Lunar Reconnaissance 
+  Orbiter (LRO) spacecraft (Tooley et al., 2010). The DEM is a shape map (radius) of the 
+  Moon at a resolution 100 meters per pixel (m) based on altimetry data acquired through 
+  September, 2011 by the LOLA instrument. The ground tracks were interpolated using the 
+  Generic Mapping Tools programs "surface" and "grdblend". Map values are referred to a 
+  radius of 1,737,400 m.]],
   FilePath = asset.localResource("lola_clr_shade_utah.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
+
 
-asset.export("layer", layer)
+asset.meta = {
+  Name = "Lola Color Shade [Utah]",
+  Version = "1.1",
+  Description = [[Moon LRO LOLA Color Shaded Relief 388m v4 layer for Moon globe. This 
+  map is hosted on the OpenSpace server in Utah.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Moon/LMMP/LOLA-derived/Lunar_LRO_LOLA_ClrShade_Global_128ppd_v04",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/lola_shade_sweden.asset b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/lola_shade_sweden.asset
index 966942a6eece5957db903f9baa42ecfeded55d69..943d2078bbcd7e2cd1e5ae3993df6c6cc2e5e2ea 100644
--- a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/lola_shade_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/lola_shade_sweden.asset
@@ -1,13 +1,29 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../moon").Moon.Identifier
 
 local layer = {
   Identifier = "Lola_Shade_Sweden",
   Name = "Lola Shade [Sweden]",
+  Description = [[This is a shaded-relief of a original polar digital elevation model 
+  (DEM) from the Lunar Orbiter Laser Altimeter (LOLA; Smith et al., 2010), an instrument 
+  on the National Aeronautics and Space Agency (NASA) Lunar Reconnaissance Orbiter (LRO) 
+  spacecraft (Tooley et al., 2010). The DEM is a shape map (radius) of the Moon at a 
+  resolution 100 meters per pixel (m) based on altimetry data acquired through September, 
+  2011 by the LOLA instrument. The ground tracks were interpolated using the Generic 
+  Mapping Tools programs "surface" and "grdblend". Map values are referred to a radius 
+  of 1,737,400 m.]],
   FilePath = asset.localResource("lola_shade_sweden.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Lola Shade [Sweden]",
+  Version = "1.1",
+  Description = [[Moon LRO LOLA Shaded Relief 237m v4 layer for Moon globe. This 
+  map is hosted on the OpenSpace server in Sweden.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Moon/LMMP/LOLA-derived/Lunar_LRO_LOLA_Shade_Global_128ppd_v04",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/lola_shade_utah.asset b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/lola_shade_utah.asset
index 48770a2e8ed0ab1661c4bea41023760da65c7f02..48fc34ee333d306d3ebd7f6d19915a12cd1f13ab 100644
--- a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/lola_shade_utah.asset
+++ b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/lola_shade_utah.asset
@@ -1,13 +1,30 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../moon").Moon.Identifier
 
 local layer = {
   Identifier = "Lola_Shade_Utah",
   Name = "Lola Shade [Utah]",
+  Description = [[This is a shaded-relief of a original polar digital elevation model 
+  (DEM) from the Lunar Orbiter Laser Altimeter (LOLA; Smith et al., 2010), an instrument 
+  on the National Aeronautics and Space Agency (NASA) Lunar Reconnaissance Orbiter (LRO) 
+  spacecraft (Tooley et al., 2010). The DEM is a shape map (radius) of the Moon at a 
+  resolution 100 meters per pixel (m) based on altimetry data acquired through September, 
+  2011 by the LOLA instrument. The ground tracks were interpolated using the Generic 
+  Mapping Tools programs "surface" and "grdblend". Map values are referred to a radius 
+  of 1,737,400 m.]],
   FilePath = asset.localResource("lola_shade_utah.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+
+asset.meta = {
+  Name = "Lola Shade [Utah]",
+  Version = "1.1",
+  Description = [[Moon LRO LOLA Shaded Relief 237m v4 layer for Moon globe. This 
+  map is hosted on the OpenSpace server in Utah.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Moon/LMMP/LOLA-derived/Lunar_LRO_LOLA_Shade_Global_128ppd_v04",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/uvvishybrid_sweden.asset b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/uvvishybrid_sweden.asset
index 25222c0c5965098b35be695de59a166c68e204c8..de9fc2257675b845e78141ec7b854719b9d3dd4a 100644
--- a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/uvvishybrid_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/uvvishybrid_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../moon").Moon.Identifier
 
 local layer = {
@@ -7,11 +8,26 @@ local layer = {
   Settings = {
     Gamma = 0.52,
     Multiplier = 0.65
-  }
+  },
+  Description = [[The is a blend (or overlay) of the U.S. Geological Survey (USGS) 
+  Clementine Ultraviolet/Visible (UVVIS) V2 mosaic and the original USGS Lunar Orbiter 
+  mosaic. The Clementine 750 nm Version 2 mosaic is a grayscale data set representing the 
+  albedo (brightness of the lunar surface) as measured at the 750 nm wavelength by the 
+  UVVIS camera. The original base map was radiometrically and geometrically controlled, 
+  photometrically modeled global image mosaic compiled using more than 43,000 images 
+  from the 750 nanometer filter observations of the UVVIS (Lee et al., 2009).]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+
+asset.meta = {
+  Name = "Uvvis Hybrid [Sweden]",
+  Version = "1.1",
+  Description = [[Moon Lunar Orbiter - Clementine UVVISv2 Hybrid Mosaic 59m v1
+  map of the Moon. This map is hosted on the OpenSpace server in Sweden.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Moon/Lunar-Orbiter/Lunar_LO_UVVISv2_Hybrid_Mosaic_Global_59m",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/uvvishybrid_utah.asset b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/uvvishybrid_utah.asset
index 84f808d321ae08b1fdee1874d20fbdeebd040bfe..c4e6209f34eb8d2cc0e7cc773e77ed81830e5cdc 100644
--- a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/uvvishybrid_utah.asset
+++ b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/uvvishybrid_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../moon").Moon.Identifier
 
 local layer = {
@@ -7,11 +8,25 @@ local layer = {
   Settings = {
     Gamma = 0.52,
     Multiplier = 0.65
-  }
+  },
+  Description = [[The is a blend (or overlay) of the U.S. Geological Survey (USGS) 
+  Clementine Ultraviolet/Visible (UVVIS) V2 mosaic and the original USGS Lunar Orbiter 
+  mosaic. The Clementine 750 nm Version 2 mosaic is a grayscale data set representing the 
+  albedo (brightness of the lunar surface) as measured at the 750 nm wavelength by the 
+  UVVIS camera. The original base map was radiometrically and geometrically controlled, 
+  photometrically modeled global image mosaic compiled using more than 43,000 images 
+  from the 750 nanometer filter observations of the UVVIS (Lee et al., 2009).]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Uvvis Hybrid [Utah]",
+  Version = "1.1",
+  Description = [[Moon Lunar Orbiter - Clementine UVVISv2 Hybrid Mosaic 59m v1
+  map of the Moon. This map is hosted on the OpenSpace server in Utah.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Moon/Lunar-Orbiter/Lunar_LO_UVVISv2_Hybrid_Mosaic_Global_59m",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/wac_sweden.asset b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/wac_sweden.asset
index 217e580e8fb79328f02d2cea4bbd5c17fa50b439..1eeb976312c81088839309ab1150758d93187b3e 100644
--- a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/wac_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/wac_sweden.asset
@@ -1,15 +1,33 @@
-local mapServiceConfigs = asset.localResource("../../map_service_configs/LiU/WAC.wms")
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../moon").Moon.Identifier
 
 local layer = {
   Identifier = "WAC_Sweden",
   Name = "WAC [Sweden]",
+  Description = [[Lunar Reconnaissance Orbiter Camera (LROC) Wide Angle
+   Camera (WAC) aboard the Lunar Reconnaissance Orbiter (LRO) has
+   allowed the instrument team to create a global mosaic comprised of
+   over 15,000 images acquired between November 2009 and February 2011.
+   The WAC maps the whole Moon in one month, however the solar incidence
+   angle at the equator changes about 28掳 from the beginning to the end
+   of the month. To even out the incidence angle variations (generally
+   angles between 55-75 degrees), this morphology mosaic (at 643 nm),
+   is comprised of data collected over three periods (1/20/2010 to
+   1/28/2010, 5/30/2010 to 6/6/2010, 7/24/2010 to 7/31/2010).
+   (Description from URL).]],
   FilePath = asset.localResource("wac_sweden.wms"),
   Settings = { Gamma = 0.84 }
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "WAC [Sweden]",
+  Version = "1.1",
+  Description = [[Wide Angle Color map of the Moon. This map is hosted on
+    the OpenSpace server in Sweden.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Moon/LRO/LROC_WAC/Lunar_LRO_LROC-WAC_Mosaic_global_100m_June2013",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/wac_utah.asset b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/wac_utah.asset
index d97d9508cc4c641157946ae10f8cc953c9f62221..faceb4c1c421a59a2622ce3282e8f9fe1d6ae4ea 100644
--- a/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/wac_utah.asset
+++ b/data/assets/scene/solarsystem/planets/earth/moon/layers/colorlayers/wac_utah.asset
@@ -1,14 +1,33 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../moon").Moon.Identifier
 
 local layer = {
   Identifier = "WAC_Utah",
   Name = "WAC [Utah]",
   FilePath = asset.localResource("wac_utah.wms"),
-  Settings = { Gamma = 0.84 }
+  Settings = { Gamma = 0.84 },
+  Description = [[Lunar Reconnaissance Orbiter Camera (LROC) Wide Angle
+   Camera (WAC) aboard the Lunar Reconnaissance Orbiter (LRO) has
+   allowed the instrument team to create a global mosaic comprised of
+   over 15,000 images acquired between November 2009 and February 2011.
+   The WAC maps the whole Moon in one month, however the solar incidence
+   angle at the equator changes about 28掳 from the beginning to the end
+   of the month. To even out the incidence angle variations (generally
+   angles between 55-75 degrees), this morphology mosaic (at 643 nm),
+   is comprised of data collected over three periods (1/20/2010 to
+   1/28/2010, 5/30/2010 to 6/6/2010, 7/24/2010 to 7/31/2010).
+   (Description from URL).]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "WAC [Utah]",
+  Version = "1.1",
+  Description = [[Wide Angle Color map of the Moon. This map is hosted on
+    the OpenSpace server in Utah.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Moon/LRO/LROC_WAC/Lunar_LRO_LROC-WAC_Mosaic_global_100m_June2013",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/moon/layers/heightlayers/loladem_sweden.asset b/data/assets/scene/solarsystem/planets/earth/moon/layers/heightlayers/loladem_sweden.asset
index f1c2d9e0230c607042c817281dd0ae3562088bac..b1de53f3769d6052ff9381975cdc4e71b8e303bd 100644
--- a/data/assets/scene/solarsystem/planets/earth/moon/layers/heightlayers/loladem_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/earth/moon/layers/heightlayers/loladem_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../moon").Moon.Identifier
 
 local layer = {
@@ -8,8 +9,15 @@ local layer = {
   Settings = { Multiplier = 0.5 }
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "HeightLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "HeightLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Lola DEM [Sweden]",
+  Version = "1.1",
+  Description = [[Moon LRO LOLA DEM 118m v1 layer for Moon globe. This map is hosted on
+    the OpenSpace server in Sweden.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Moon/LRO/LOLA/Lunar_LRO_LOLA_Global_LDEM_118m_Mar2014",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/moon/layers/heightlayers/loladem_utah.asset b/data/assets/scene/solarsystem/planets/earth/moon/layers/heightlayers/loladem_utah.asset
index f886538ae391b84acd2223fe075e86dd66c35649..5e919dbfc92d20033439d1b41727af0aaa4370c7 100644
--- a/data/assets/scene/solarsystem/planets/earth/moon/layers/heightlayers/loladem_utah.asset
+++ b/data/assets/scene/solarsystem/planets/earth/moon/layers/heightlayers/loladem_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../moon").Moon.Identifier
 
 local layer = {
@@ -5,11 +6,24 @@ local layer = {
   Name = "Lola DEM [Utah]",
   FilePath = asset.localResource("loladem_utah.wms"),
   TilePixelSize = 64,
-  Settings = { Multiplier = 0.5 }
+  Settings = { Multiplier = 0.5 },
+  Description = [[This digital elevation model (DEM) is based on data from the Lunar 
+  Orbiter Laser Altimeter (LOLA; Smith et al., 2010), an instrument on the National 
+  Aeronautics and Space Agency (NASA) Lunar Reconnaissance Orbiter (LRO) spacecraft 
+  (Tooley et al., 2010). The created DEM represents more than 6.5 billion measurements 
+  gathered between July 2009 and July 2013, adjusted for consistency in the coordinate 
+  system described below, and then converted to lunar radii (Mazarico et al., 2012).]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "HeightLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "HeightLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Lola DEM [Utah]",
+  Version = "1.1",
+  Description = [[Moon LRO LOLA DEM 118m v1 layer for Moon globe. This map is hosted on
+    the OpenSpace server in Utah.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Moon/LRO/LOLA/Lunar_LRO_LOLA_Global_LDEM_118m_Mar2014",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/moon/layers/overlays/size_reference.asset b/data/assets/scene/solarsystem/planets/earth/moon/layers/overlays/size_reference.asset
index 4ac336a5abee3cf0817e5ee596fe187b14c241aa..1c4330c9906bb412e81c2c9da4503696a3625a80 100644
--- a/data/assets/scene/solarsystem/planets/earth/moon/layers/overlays/size_reference.asset
+++ b/data/assets/scene/solarsystem/planets/earth/moon/layers/overlays/size_reference.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local moonAsset = asset.require("../../moon").Moon
 local globeIdentifier = moonAsset.Identifier
 
@@ -8,8 +9,14 @@ local layer = {
   Radii = moonAsset.Renderable.Radii
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "Overlays", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "Overlays")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Moon Size Reference",
+  Version = "1.0",
+  Description = [[ Size reference layer for Moon globe.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/moon/moon.asset b/data/assets/scene/solarsystem/planets/earth/moon/moon.asset
index 83fd4e78988b482c0e40decece1f41c84ac30776..b8faa53340e96805b55aea1a8f60eb673bfc32c6 100644
--- a/data/assets/scene/solarsystem/planets/earth/moon/moon.asset
+++ b/data/assets/scene/solarsystem/planets/earth/moon/moon.asset
@@ -62,10 +62,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Moon })
 
 asset.meta = {
   Name = "Moon",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Moon globe with labels. ]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Moon"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/moon/trail.asset b/data/assets/scene/solarsystem/planets/earth/moon/trail.asset
index 6ebdb7020b58fe7b217211eb931c4eb7898e798f..6c99fb676b0c3b5d7c84ef4bc8d252c172a6d52b 100644
--- a/data/assets/scene/solarsystem/planets/earth/moon/trail.asset
+++ b/data/assets/scene/solarsystem/planets/earth/moon/trail.asset
@@ -30,11 +30,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { MoonTrail })
 
 asset.meta = {
   Name = "Moon Trail",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Moon Trail - This asset contains the trail of the Moon.
     Data from NASA Spice (see base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"MoonTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/communications/amateur.asset b/data/assets/scene/solarsystem/planets/earth/satellites/communications/amateur.asset
index 9c8f44f1228f1f54d8226191f457fd8406ff59c6..dd652dab76d862411ccfe6e24e613391b03c53a7 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/communications/amateur.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/communications/amateur.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Communications - Amateur Radio",
+  Version = "1.0",
+  Description = [[ Satellites asset for Communications - Amateur Radio. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/communications/experimental.asset b/data/assets/scene/solarsystem/planets/earth/satellites/communications/experimental.asset
index f25d5f3b802736eb6359f9a3c5125c8184309fcd..ed234a6ebb1b8687a5859995f4cf4e6352fe2a2f 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/communications/experimental.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/communications/experimental.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Communications - Experimental",
+  Version = "1.0",
+  Description = [[ Satellites asset for Communications - Experimental. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/communications/geostationary.asset b/data/assets/scene/solarsystem/planets/earth/satellites/communications/geostationary.asset
index c24a94946df755ddf7b22a251301e6fa6f43431a..0035ecb47c4daf046d7a86b4f6de50d22bd3978a 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/communications/geostationary.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/communications/geostationary.asset
@@ -3,8 +3,21 @@ local shared = asset.require("util/tle_helper")
 local group = {
   Title = "Geostationary",
   Url = "http://celestrak.com/NORAD/elements/geo.txt",
-  TrailColor = { 0.9, 0.9, 0.0 }
+  TrailColor = { 0.9, 0.9, 0.0 },
+  Description = [[Satellites that are currently active and in a Geosynchronous orbit, meaning 
+  their orbital period matches Earth's rotation.]]
 }
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Communications - Geostationary",
+  Version = "1.0",
+  Description = [[ Satellites asset for Communications - Geostationary. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/communications/globalstar.asset b/data/assets/scene/solarsystem/planets/earth/satellites/communications/globalstar.asset
index 8e626b9b5fe611924a165cbad7fab27bdb2ce70c..46aadb07599d7914fba37e81435beb9530876e55 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/communications/globalstar.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/communications/globalstar.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Communications - GlobalStar",
+  Version = "1.0",
+  Description = [[ Satellites asset for Communications - GlobalStar. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/communications/gorizont.asset b/data/assets/scene/solarsystem/planets/earth/satellites/communications/gorizont.asset
index dc7e2b9dd0d2085cf91b80229e80936ecd41db8a..d6415beb8b0e5a49bf655dbd7be7d9b1e534dac9 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/communications/gorizont.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/communications/gorizont.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Communications - Gorizont",
+  Version = "1.0",
+  Description = [[ Satellites asset for Communications - Gorizont. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/communications/intelsat.asset b/data/assets/scene/solarsystem/planets/earth/satellites/communications/intelsat.asset
index 98f3f7637f12940f0360835f75078edc7bae316f..e46b5573245780aade64e1273cac7e738d57fae9 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/communications/intelsat.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/communications/intelsat.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Communications - Intelsat",
+  Version = "1.0",
+  Description = [[ Satellites asset for Communications - Intelsat. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/communications/iridium.asset b/data/assets/scene/solarsystem/planets/earth/satellites/communications/iridium.asset
index 04c2f689b94d70b7a6f1993ea475a778aee27c2a..80ef41ff4e1d6f597cb2428537e44eb75839513d 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/communications/iridium.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/communications/iridium.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Communications - Iridium",
+  Version = "1.0",
+  Description = [[ Satellites asset for Communications - Iridium. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/communications/iridium_next.asset b/data/assets/scene/solarsystem/planets/earth/satellites/communications/iridium_next.asset
index 011b5ce51837d62df5dd433d3df2819fe51183fb..c6a0ffd014136b1a3177c44aefffc9976fe09521 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/communications/iridium_next.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/communications/iridium_next.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Communications - Iridium NEXT",
+  Version = "1.0",
+  Description = [[ Satellites asset for Communications - Iridium NEXT. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/communications/molniya.asset b/data/assets/scene/solarsystem/planets/earth/satellites/communications/molniya.asset
index 055fac267f7cde4130b28640b2c2cfacef1bbf78..3b4418dfa596a19a51bef3425198c246ab73b563 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/communications/molniya.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/communications/molniya.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Communications - Molniya",
+  Version = "1.0",
+  Description = [[ Satellites asset for Communications - Molniya. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/communications/orbcomm.asset b/data/assets/scene/solarsystem/planets/earth/satellites/communications/orbcomm.asset
index 2542d873970e245368292f67a8f8a5b96c41ff0f..3a4a2c9e4b32ed2e8a2604036f91b2d2e837f4f0 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/communications/orbcomm.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/communications/orbcomm.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Communications - Orbcomm",
+  Version = "1.0",
+  Description = [[ Satellites asset for Communications - Orbcomm. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/communications/other_comm.asset b/data/assets/scene/solarsystem/planets/earth/satellites/communications/other_comm.asset
index 4804523303a72945ce62a8e2b02b0a95c918f5ed..22ccee97c4ceff5f367cc27da428110bff3f6c61 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/communications/other_comm.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/communications/other_comm.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Communications - Other comm",
+  Version = "1.0",
+  Description = [[ Satellites asset for Communications - Other comm. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/communications/raduga.asset b/data/assets/scene/solarsystem/planets/earth/satellites/communications/raduga.asset
index e42dfa240566a0b5bf942751377861a8acc3ef50..44aa55af46e5966c39f8dca9dcd564601ad51df0 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/communications/raduga.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/communications/raduga.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Communications - Raduga",
+  Version = "1.0",
+  Description = [[ Satellites asset for Communications - Raduga. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/communications/ses.asset b/data/assets/scene/solarsystem/planets/earth/satellites/communications/ses.asset
index 141124edaaa69de3f5dd7b64a160635cd3fafc18..6b75d9d9df720c3a779510e1a98fdf71342f2001 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/communications/ses.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/communications/ses.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Communications - SES",
+  Version = "1.0",
+  Description = [[ Satellites asset for Communications - SES. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_asat.asset b/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_asat.asset
index b9dfbfabb4841fd28400dfde1af90fe2d5d5bbca..312d6aa436e514a93305b9221efec14ac5df7e5c 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_asat.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_asat.asset
@@ -12,3 +12,14 @@ local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 local objectNames = {}
 
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Debris - Indian ASAT test Debris",
+  Version = "1.0",
+  Description = [[ Satellites asset for Debris - Indian ASAT test Debris. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_breezem.asset b/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_breezem.asset
index b4f279913e25c605fc52b7261f65b014b5fc9f09..9cd5b8f360aaa0c6dcc9f3effd070714ef2d8354 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_breezem.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_breezem.asset
@@ -12,3 +12,14 @@ local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 local objectNames = {}
 
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Debris - Breeze-M Breakup",
+  Version = "1.0",
+  Description = [[ Satellites asset for Debris - Breeze-M Breakup. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/events/38746-Breakup/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_fengyun.asset b/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_fengyun.asset
index 6ac65f3a8c7f9e044d70fa480228f3d5fc227608..82bd7f5e96236d5ae0b2744f83a221d1c2273af9 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_fengyun.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_fengyun.asset
@@ -12,3 +12,14 @@ local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 local objectNames = {}
 
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Debris - Fengyun Debris",
+  Version = "1.0",
+  Description = [[ Satellites asset for Debris - Fengyun Debris. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_iridium33.asset b/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_iridium33.asset
index 6c22666ef47fe4a5e4302eb2f41d0e364f46add2..4eb6178c6f7324ae78d60b3e193b4d7ca8bc58ab 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_iridium33.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_iridium33.asset
@@ -12,3 +12,14 @@ local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 local objectNames = {}
 
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Debris - Iridium 33 Debris",
+  Version = "1.0",
+  Description = [[ Satellites asset for Debris - Iridium 33 Debris. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_kosmos2251.asset b/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_kosmos2251.asset
index 308bc36881554acb40c814eb8f2a3aebb3acbfc9..d051cadceecb82ed430d4bde1235a7e1108cf316 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_kosmos2251.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/debris/debris_kosmos2251.asset
@@ -12,3 +12,14 @@ local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 local objectNames = {}
 
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Debris - Kosmos 2251 Debris",
+  Version = "1.0",
+  Description = [[ Satellites asset for Debris - Kosmos 2251 Debris. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/debris/volume/cartesian_volume.asset b/data/assets/scene/solarsystem/planets/earth/satellites/debris/volume/cartesian_volume.asset
index 589dba3a297915482d1d449f55eaf7ac94ab5242..eb6d9e452029efdacc200511d1dd7dbb298670be 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/debris/volume/cartesian_volume.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/debris/volume/cartesian_volume.asset
@@ -36,3 +36,13 @@ local volume = {
 
 local objects = { volume }
 assetHelper.registerSceneGraphNodes(asset, objects)
+
+
+asset.meta = {
+  Name = "Satellites Debris - Volume Cartesian",
+  Version = "1.0",
+  Description = [[ Satellites asset for Debris - Volume Cartesian. Example asset.]],
+  Author = "OpenSpace Team",
+  URL = "",
+  License = "MIT"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/debris/volume/spherical_volume.asset b/data/assets/scene/solarsystem/planets/earth/satellites/debris/volume/spherical_volume.asset
index 11402ae123479b2e2fe0d463e2a998f6d9c5a9fd..cdfb0295af891cfd71b6a7b9eb849bf067782d55 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/debris/volume/spherical_volume.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/debris/volume/spherical_volume.asset
@@ -36,3 +36,13 @@ local volume = {
 
 local objects = { volume }
 assetHelper.registerSceneGraphNodes(asset, objects)
+
+
+asset.meta = {
+  Name = "Satellites Debris - Volume Spherical",
+  Version = "1.0",
+  Description = [[ Satellites asset for Debris - Volume Spherical. Example asset.]],
+  Author = "OpenSpace Team",
+  URL = "",
+  License = "MIT"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/misc/brightest.asset b/data/assets/scene/solarsystem/planets/earth/satellites/misc/brightest.asset
index c7678ae0327e24703395a519c4b47fce7e4255db..f7147ecefeb94501f08e2d3a9d6e3bc5bf87b079 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/misc/brightest.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/misc/brightest.asset
@@ -3,8 +3,20 @@ local shared = asset.require("util/tle_helper")
 local group = {
   Title = "100 Brightest",
   Url = "http://www.celestrak.com/NORAD/elements/visual.txt",
-  TrailColor = { 0.55, 0.25, 0.65 }
+  TrailColor = { 0.55, 0.25, 0.65 },
+  Description = [[The 100 (or so) satellites that will appear brightest when viewed 
+  from Earth.]]
 }
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites 100 Brightest",
+  Version = "1.0",
+  Description = [[ Satellites asset for 100 Brightest. Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/misc/cubesats.asset b/data/assets/scene/solarsystem/planets/earth/satellites/misc/cubesats.asset
index ff5a78c181cee179c12a6724a817582b79654623..662fec9cea47f426f2dd1c78fc8fdc6d49eb4e0b 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/misc/cubesats.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/misc/cubesats.asset
@@ -8,3 +8,13 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites CubeSat",
+  Version = "1.0",
+  Description = [[ Satellites asset for CubeSat. Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/misc/military.asset b/data/assets/scene/solarsystem/planets/earth/satellites/misc/military.asset
index 775eb44ee73ccdcdae0011d4f73c4828ec662852..7121f39afb9c9f10ed1c621d558e6b5b527f5e11 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/misc/military.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/misc/military.asset
@@ -8,3 +8,13 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Military",
+  Version = "1.0",
+  Description = [[ Satellites asset for Military. Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/misc/other.asset b/data/assets/scene/solarsystem/planets/earth/satellites/misc/other.asset
index 1e1d06550172063f880c81e1f110b469bc57a701..437c0f9440fdfcbd2a0f9bf2f4bcc80230ae8cbe 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/misc/other.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/misc/other.asset
@@ -8,3 +8,13 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Other",
+  Version = "1.0",
+  Description = [[ Satellites asset for Other. Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/misc/radar.asset b/data/assets/scene/solarsystem/planets/earth/satellites/misc/radar.asset
index 2591d504a9afd2c7d88497f8ae6dea9589494d17..fd389a5a735f349837ce2479e105620a78700e25 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/misc/radar.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/misc/radar.asset
@@ -8,3 +8,13 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Radar Calibration",
+  Version = "1.0",
+  Description = [[ Satellites asset for Radar Calibration. Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/misc/spacestations.asset b/data/assets/scene/solarsystem/planets/earth/satellites/misc/spacestations.asset
index 354454729b9bb3aec17a75e62c7161e4e800c375..bc22d96f7a9ed43dcc1c7d6b492730b6b4247b09 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/misc/spacestations.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/misc/spacestations.asset
@@ -3,8 +3,21 @@ local shared = asset.require("util/tle_helper")
 local group = {
   Title = "SpaceStations",
   Url = "http://celestrak.com/NORAD/elements/stations.txt",
-  TrailColor = { 0.9, 0.1, 0.0 }
+  TrailColor = { 0.9, 0.1, 0.0 },
+  Description = [[A collection of space stations (including the ISS and China's 
+    Tiangong), along with certain cubesats and satellite constellations from space 
+    agencies.]]
 }
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites SpaceStations",
+  Version = "1.0",
+  Description = [[ Satellites asset for SpaceStations. Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/misc/tle-new.asset b/data/assets/scene/solarsystem/planets/earth/satellites/misc/tle-new.asset
index 188ab00641065ff25b2625a7ddbf8c211ef143cb..8485b11e8b4794250c02be21b8e17c335f529b07 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/misc/tle-new.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/misc/tle-new.asset
@@ -3,8 +3,19 @@ local shared = asset.require("util/tle_helper")
 local group = {
   Title = "Last 30 Days",
   Url = "http://www.celestrak.com/NORAD/elements/tle-new.txt",
-  TrailColor = { 0.65, 0.25, 0.45 }
+  TrailColor = { 0.65, 0.25, 0.45 },
+  Description = [[All the satellites that have been launched in the last 30 days.]]
 }
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Last 30 Days",
+  Version = "1.0",
+  Description = [[ Satellites asset for Last 30 Days. Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/navigation/beidou.asset b/data/assets/scene/solarsystem/planets/earth/satellites/navigation/beidou.asset
index 33e253e6d66d481cce94bfea4a4a09cad02d2c85..c3cc3b167356f5c845a5ac6f535ba78a2b89c876 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/navigation/beidou.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/navigation/beidou.asset
@@ -8,3 +8,13 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Navigation Beidou",
+  Version = "1.0",
+  Description = [[ Satellites asset for Navigation Beidou. Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/navigation/galileo.asset b/data/assets/scene/solarsystem/planets/earth/satellites/navigation/galileo.asset
index 2348eb8b67ce6191aaadc1c8afab485c5f6d0847..abeae83de4d492994063b29d0618fe4dad9b429b 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/navigation/galileo.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/navigation/galileo.asset
@@ -8,3 +8,13 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Navigation Galileo",
+  Version = "1.0",
+  Description = [[ Satellites asset for Navigation Galileo. Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/navigation/glosnass.asset b/data/assets/scene/solarsystem/planets/earth/satellites/navigation/glosnass.asset
index 3274c7fdcb28ff1bf9656c85c3d7032ce7052b5e..9a88c1d826acaec96b2ae04860083f73695cbc38 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/navigation/glosnass.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/navigation/glosnass.asset
@@ -8,3 +8,13 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Navigation Glosnass",
+  Version = "1.0",
+  Description = [[ Satellites asset for Navigation Glosnass. Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/navigation/gps.asset b/data/assets/scene/solarsystem/planets/earth/satellites/navigation/gps.asset
index 39b87c733dad317a3d6f4243d03759a09a3e9d0b..8b50de3f4676f5b27cf10db97b1c76ef7f47544c 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/navigation/gps.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/navigation/gps.asset
@@ -3,8 +3,20 @@ local shared = asset.require("util/tle_helper")
 local group = {
   Title = "GPS",
   Url = "http://celestrak.com/NORAD/elements/gps-ops.txt",
-  TrailColor = { 0.9, 0.5, 0.0 }
+  TrailColor = { 0.9, 0.5, 0.0 },
+  Description = [[The GPS satellites that give us our precise locations back here 
+  on Earth.]]
 }
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Navigation GPS",
+  Version = "1.0",
+  Description = [[ Satellites asset for Navigation GPS. Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/navigation/musson.asset b/data/assets/scene/solarsystem/planets/earth/satellites/navigation/musson.asset
index 01dcc0b94778fadfc4b61a666811b007122150fe..2fa939803da5c218b68b0b0328a64c27beeb93e1 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/navigation/musson.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/navigation/musson.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Navigation Russian LEO Navigation",
+  Version = "1.0",
+  Description = [[ Satellites asset for Navigation Russian LEO Navigation. 
+  Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/navigation/nnss.asset b/data/assets/scene/solarsystem/planets/earth/satellites/navigation/nnss.asset
index 4a3bd8f81af5803f4bbbad72a4946accd89b2b0d..53dca435c2d0f869340007ef2680a98d6c0072c5 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/navigation/nnss.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/navigation/nnss.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Navigation Navy Navigation Satellite System",
+  Version = "1.0",
+  Description = [[ Satellites asset for Navigation Navy Navigation Satellite System. 
+  Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/navigation/sbas.asset b/data/assets/scene/solarsystem/planets/earth/satellites/navigation/sbas.asset
index 5e30251ea3ae49f3231b67c3003c824cac64297e..266fd5de9a6475b0b410410229722431ebcaad86 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/navigation/sbas.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/navigation/sbas.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Navigation Satellite Based Augmentation System",
+  Version = "1.0",
+  Description = [[ Satellites asset for Navigation Satellite Based Augmentation System.
+  Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/satellites.asset b/data/assets/scene/solarsystem/planets/earth/satellites/satellites.asset
index acb2faf5e582cf6546f70277221a8b1968209250..0e85684c8d2d88cefb8a041af6481877f33eb90a 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/satellites.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/satellites.asset
@@ -1 +1,12 @@
 asset.require("./satellites_interesting")
+
+
+asset.meta = {
+  Name = "Satellites",
+  Version = "1.0",
+  Description = [[ Default Earth Satellites. This file is the same as 
+  satellites_interesting.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/science/education.asset b/data/assets/scene/solarsystem/planets/earth/satellites/science/education.asset
index 0850296deb4eeaeb4c6c2f4e3f54487be9d1b639..f07a6fbcd69330d96ec45635acf4bde2ea085724 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/science/education.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/science/education.asset
@@ -8,3 +8,13 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Science Education",
+  Version = "1.0",
+  Description = [[ Satellites asset for Science Education. Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/science/engineering.asset b/data/assets/scene/solarsystem/planets/earth/satellites/science/engineering.asset
index b0d22df91193ac87bc0351b8017469421407be49..80d6cab0f1419d50b691211d9f15115b8301d367 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/science/engineering.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/science/engineering.asset
@@ -8,3 +8,13 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Science Engineering",
+  Version = "1.0",
+  Description = [[ Satellites asset for Science Engineering. Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/science/geodetic.asset b/data/assets/scene/solarsystem/planets/earth/satellites/science/geodetic.asset
index e1999224d8d99dc9eefdfe688ff5226e144921fa..231604f951f59f14a45aaf8e8b561f4c77e72201 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/science/geodetic.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/science/geodetic.asset
@@ -8,3 +8,13 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Science Geodect",
+  Version = "1.0",
+  Description = [[ Satellites asset for Science Geodect. Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/science/spaceearth.asset b/data/assets/scene/solarsystem/planets/earth/satellites/science/spaceearth.asset
index 6a18f6f1adb5b7ab1d1727f80f35e9f30d0e197f..2b65c770a136e3fa489d394c2e6154d7b9408628 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/science/spaceearth.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/science/spaceearth.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Science Space & Earth Science",
+  Version = "1.0",
+  Description = [[ Satellites asset for Science Space & Earth Science. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/weather/argos.asset b/data/assets/scene/solarsystem/planets/earth/satellites/weather/argos.asset
index e1fb6435cc8db74ffb329af8f11aab442abd1c62..b515339277a0670ee875fd070d701b1c41f7bd18 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/weather/argos.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/weather/argos.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Weather - ARGOS",
+  Version = "1.0",
+  Description = [[ Satellites asset for Weather - ARGOS. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/weather/dmc.asset b/data/assets/scene/solarsystem/planets/earth/satellites/weather/dmc.asset
index 804614312a40d329cb5deb7c2fec3a5c3ca5d2d5..6d05a891408a328a000d69afb5144fc8ef52b034 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/weather/dmc.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/weather/dmc.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Weather - Disaster Monitoring",
+  Version = "1.0",
+  Description = [[ Satellites asset for Weather - Disaster Monitoring. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/weather/earth_resources.asset b/data/assets/scene/solarsystem/planets/earth/satellites/weather/earth_resources.asset
index 379c6e246f7263b2d195636bfbe6021aab0748b2..5e9c7c2f96b79855e4f15e5bbcbbb91d2d1194c5 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/weather/earth_resources.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/weather/earth_resources.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Weather - Earth Resources",
+  Version = "1.0",
+  Description = [[ Satellites asset for Weather - Earth Resources. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/weather/goes.asset b/data/assets/scene/solarsystem/planets/earth/satellites/weather/goes.asset
index c4feefd1e8e5e94d3cb8934f44b82021028cd809..cb464c89995149a4973fa195acde380945113be2 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/weather/goes.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/weather/goes.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Weather - GOES",
+  Version = "1.0",
+  Description = [[ Satellites asset for Weather - GOES. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/weather/noaa.asset b/data/assets/scene/solarsystem/planets/earth/satellites/weather/noaa.asset
index b3d5f0e3a84c45e6eda29682ed08ac24330fd38d..be73a4e12d608069c18237b2b5b6411a6b9f5639 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/weather/noaa.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/weather/noaa.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Weather - NOAA",
+  Version = "1.0",
+  Description = [[ Satellites asset for Weather - NOAA. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/weather/planet.asset b/data/assets/scene/solarsystem/planets/earth/satellites/weather/planet.asset
index 6053428283c675ecb5d04a8b888da58bd39728bf..d777d6f803413e7b59d2ba302de479186791317c 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/weather/planet.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/weather/planet.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Weather - Planet",
+  Version = "1.0",
+  Description = [[ Satellites asset for Weather - Planet. Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/weather/sarsat.asset b/data/assets/scene/solarsystem/planets/earth/satellites/weather/sarsat.asset
index 0e6fbaf55f9bd1e9602ff6c65098d87257b93032..b9063795aac8e6670470b460e24eeca3a8e5115d 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/weather/sarsat.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/weather/sarsat.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Weather - Search & Rescue (SARSAT)",
+  Version = "1.0",
+  Description = [[ Satellites asset for Weather - Search & Rescue (SARSAT). Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/weather/spire.asset b/data/assets/scene/solarsystem/planets/earth/satellites/weather/spire.asset
index 55c152ca80afb2686bc2c57a94684abd4b5ba413..95ba2c97ace39a247be23c602bd83a42e6c4ad4b 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/weather/spire.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/weather/spire.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Weather - Spire",
+  Version = "1.0",
+  Description = [[ Satellites asset for Weather - Search & Rescue (SARSAT). Data from 
+  Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/weather/tdrss.asset b/data/assets/scene/solarsystem/planets/earth/satellites/weather/tdrss.asset
index ec5303c5e94eb2c245a8e1e28dc0027e3109b00e..a126d8916001edf800fcaa30adedade185961f75 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/weather/tdrss.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/weather/tdrss.asset
@@ -8,3 +8,14 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Weather - Tracking and Data Relay Satellite System (TDRSS)",
+  Version = "1.0",
+  Description = [[ Satellites asset for Weather - Tracking and Data Relay Satellite 
+  System (TDRSS). Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/weather/weather.asset b/data/assets/scene/solarsystem/planets/earth/satellites/weather/weather.asset
index 1c9afa8c8c589cdf677dc33f5052b7b7002092e8..7c4f1aa854598fbff0df9c0f9f092cb4a572a3dc 100644
--- a/data/assets/scene/solarsystem/planets/earth/satellites/weather/weather.asset
+++ b/data/assets/scene/solarsystem/planets/earth/satellites/weather/weather.asset
@@ -8,3 +8,13 @@ local group = {
 
 local tle = shared.downloadTLEFile(asset, group.Url, group.Title)
 shared.registerSatelliteGroupObjects(asset, group, tle, true)
+
+
+asset.meta = {
+  Name = "Satellites Weather - Weather",
+  Version = "1.0",
+  Description = [[ Satellites asset for Weather - Weather. Data from Celestrak]],
+  Author = "OpenSpace Team",
+  URL = "https://celestrak.com/NORAD/elements/",
+  License = "Celestrak"
+}
diff --git a/data/assets/scene/solarsystem/planets/earth/trail.asset b/data/assets/scene/solarsystem/planets/earth/trail.asset
index 444dd149a711bafc37a4befca21ad484a2cb71ec..d684284d1fa2e81a7109dfe0ebc1a63277c2d3c6 100644
--- a/data/assets/scene/solarsystem/planets/earth/trail.asset
+++ b/data/assets/scene/solarsystem/planets/earth/trail.asset
@@ -30,11 +30,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { EarthTrail })
 
 asset.meta = {
   Name = "Earth Trail",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Trail of Earth as observed by the Sun. Data from NASA Spice (see
     base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"EarthTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/earth/transforms.asset b/data/assets/scene/solarsystem/planets/earth/transforms.asset
index f784b7aa157aff5f359412ee9baf39c56e141cd4..eb1ee37c7a5acf9e42c88a65ffee158aa31dd345 100644
--- a/data/assets/scene/solarsystem/planets/earth/transforms.asset
+++ b/data/assets/scene/solarsystem/planets/earth/transforms.asset
@@ -83,11 +83,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, {
 
 asset.meta = {
   Name = "Earth Transforms",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Earth transforms: Earth Barycenter, Earth Center, Earth Inertial, 
     Earth IAU. A scene graph node is created for each transform.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"EarthBarycenter", "EarthCenter", "EarthInertial", "EarthIAU"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/jupiter/callisto/callisto.asset b/data/assets/scene/solarsystem/planets/jupiter/callisto/callisto.asset
index 1a070de460170b9232c0e916bf3efb246974a451..6bc4c93f6ecd9a45a1a1983242367c2fdc5560d1 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/callisto/callisto.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/callisto/callisto.asset
@@ -58,10 +58,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Callisto })
 
 asset.meta = {
   Name = "Callisto",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Callisto globe with labels.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Callisto"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/jupiter/callisto/layers/colorlayers/callisto_texture.asset b/data/assets/scene/solarsystem/planets/jupiter/callisto/layers/colorlayers/callisto_texture.asset
index e8645189be45440ea314d38dd9dc77c00484399c..1f6e0584efac6a5240e45fe49043facbf08fff9b 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/callisto/layers/colorlayers/callisto_texture.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/callisto/layers/colorlayers/callisto_texture.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../callisto").Callisto.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -12,11 +13,7 @@ local layer = {
   FilePath = texturesPath .. "callisto_os.tif",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
diff --git a/data/assets/scene/solarsystem/planets/jupiter/callisto/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/callisto/trail.asset
index fcca4c1af04dfdab7a521e7ee02257dfbc4d4e65..7d17801f1bc6fc606126d83c1f14114bcf806b31 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/callisto/trail.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/callisto/trail.asset
@@ -32,11 +32,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { CallistoTrail })
 
 asset.meta = {
   Name = "Callisto Trail",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Trail of Callisto as observed by the Jupiter. Data from NASA Spice
     (see base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"CallistoTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/jupiter/europa/europa.asset b/data/assets/scene/solarsystem/planets/jupiter/europa/europa.asset
index aef595b55b240988037a718a1c591e805c588ce9..247b6cb4d88bad55e14ca11204ab352c9bee146f 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/europa/europa.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/europa/europa.asset
@@ -57,10 +57,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Europa })
 
 asset.meta = {
   Name = "Mimas",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Europa globe with labels.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Europa"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/jupiter/europa/layers/colorlayers/europa_texture.asset b/data/assets/scene/solarsystem/planets/jupiter/europa/layers/colorlayers/europa_texture.asset
index 9b4ff9e14b74fffa9685626ac8cc485b24eb84bc..296af219df0e270b8ef19d42dd5724d255fdf586 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/europa/layers/colorlayers/europa_texture.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/europa/layers/colorlayers/europa_texture.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../europa").Europa.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -13,11 +14,7 @@ local layer = {
   Enabled = true
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
diff --git a/data/assets/scene/solarsystem/planets/jupiter/europa/layers/colorlayers/voyager_global_mosaic_local.asset b/data/assets/scene/solarsystem/planets/jupiter/europa/layers/colorlayers/voyager_global_mosaic_local.asset
index 7a4ce493425099700b97cf60d76b237b672f38cf..b3592f52ecb044edcd28a016209d1551bee3ca2f 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/europa/layers/colorlayers/voyager_global_mosaic_local.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/europa/layers/colorlayers/voyager_global_mosaic_local.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../europa").Europa.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -14,16 +15,12 @@ local layer = {
   BlendMode = "Color"
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "Voyager Global Mosaic",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Europa Voyager - Galileo SSI Global Mosaic 500m v2. This global map
     base of Europa utilizes the best image quality and moderate resolution coverage
     supplied by the Galileo SSI (Solid-State Imaging) instrument and Voyager 1 and 2.
@@ -36,7 +33,6 @@ asset.meta = {
   Author = "USGS",
   URL = "https://astrogeology.usgs.gov/search/map/Europa/Voyager-Galileo/" ..
     "Europa_Voyager_GalileoSSI_global_mosaic_500m",
-  License = "NASA/PDS",
-  Identifiers = {"Voyager_Global_Mosaic_Local"}
+  License = "NASA/PDS"
 }
 
diff --git a/data/assets/scene/solarsystem/planets/jupiter/europa/layers/colorlayers/voyager_global_mosaic_sweden.asset b/data/assets/scene/solarsystem/planets/jupiter/europa/layers/colorlayers/voyager_global_mosaic_sweden.asset
index 42c935b19150911a34be586feb8591566a3da920..a047ecac9c101860aa47141a5e01932c006fb934 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/europa/layers/colorlayers/voyager_global_mosaic_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/europa/layers/colorlayers/voyager_global_mosaic_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../europa").Europa.Identifier
 
 local layer = {
@@ -7,16 +8,12 @@ local layer = {
   BlendMode = "Color",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "Voyager Global Mosaic",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Europa Voyager - Galileo SSI Global Mosaic 500m v2. This global map
     base of Europa utilizes the best image quality and moderate resolution coverage
     supplied by the Galileo SSI (Solid-State Imaging) instrument and Voyager 1 and 2.
@@ -29,6 +26,5 @@ asset.meta = {
   Author = "USGS",
   URL = "https://astrogeology.usgs.gov/search/map/Europa/Voyager-Galileo/" ..
     "Europa_Voyager_GalileoSSI_global_mosaic_500m",
-  License = "NASA/PDS",
-  Identifiers = {"Voyager_Global_Mosaic"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/jupiter/europa/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/europa/trail.asset
index 3bb96d5e41d303e211c27fa839aa94a4b49d73fd..685f24f487f336b87969306e11521060e65984ee 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/europa/trail.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/europa/trail.asset
@@ -3,8 +3,6 @@ local assetHelper = asset.require("util/asset_helper")
 asset.require("spice/base")
 local kernel = asset.require("../kernels").jup310
 
-
-
 local EuropaTrail = {
   Identifier = "EuropaTrail",
   Parent = transforms.JupiterBarycenter.Identifier,
@@ -32,11 +30,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { EuropaTrail })
 
 asset.meta = {
   Name = "Europa Trail",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Trail of Europa as observed by the Jupiter. Data from NASA Spice (see
     base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"EuropaTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/jupiter/ganymede/ganymede.asset b/data/assets/scene/solarsystem/planets/jupiter/ganymede/ganymede.asset
index 43ef9e2098d611e3d10391801d6481b178944c73..ee10014899ad12384d96646498e79111f010e6ea 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/ganymede/ganymede.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/ganymede/ganymede.asset
@@ -57,10 +57,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Ganymede })
 
 asset.meta = {
   Name = "Ganymede",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Ganymede globe with labels.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Ganymede"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/jupiter/ganymede/layers/colorlayers/ganymede_texture.asset b/data/assets/scene/solarsystem/planets/jupiter/ganymede/layers/colorlayers/ganymede_texture.asset
index 1fcee46112e26ff1c0a3852e2133e354575c7be6..f4ddb604510f57e41a44b67a24724559923af19c 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/ganymede/layers/colorlayers/ganymede_texture.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/ganymede/layers/colorlayers/ganymede_texture.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../ganymede").Ganymede.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -12,11 +13,7 @@ local layer = {
   FilePath = texturesPath .. "ganymede.jpg",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
diff --git a/data/assets/scene/solarsystem/planets/jupiter/ganymede/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/ganymede/trail.asset
index 46f091bf791e8a29bebcd1127dfdd312aa056486..4695298d2c2f9220293ff47d0220193a550dac2b 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/ganymede/trail.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/ganymede/trail.asset
@@ -32,11 +32,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { GanymedeTrail })
 
 asset.meta = {
   Name = "Ganymede Trail",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Trail of Ganymede as observed by the Jupiter. Data from NASA Spice
     (see base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"GanymedeTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/jupiter/io/io.asset b/data/assets/scene/solarsystem/planets/jupiter/io/io.asset
index f1db4cf69d763c8cb86e26f9d0bedeac7673d0ea..2e3509120e0c891aa90ea91f2ca5c8e45f9e26d7 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/io/io.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/io/io.asset
@@ -57,10 +57,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Io })
 
 asset.meta = {
   Name = "Io",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Io globe with labels.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Io"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/jupiter/io/layers/colorlayers/io_texture.asset b/data/assets/scene/solarsystem/planets/jupiter/io/layers/colorlayers/io_texture.asset
index 9b1cc66f0b7c8bc4f88c998fa8285d0752ed304c..5bfd45cb40387cedff907d53b943cd0d137401c5 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/io/layers/colorlayers/io_texture.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/io/layers/colorlayers/io_texture.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../io").Io.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -12,12 +13,7 @@ local layer = {
   FilePath = texturesPath .. "io.jpg",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
-
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 asset.meta = {
   Name = "Io Texutre",
diff --git a/data/assets/scene/solarsystem/planets/jupiter/io/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/io/trail.asset
index f61e88f68dc978b5a9513d53389d5717c3fd869c..3759fca849918864cfbe5d7d1eadcb4c08aa7e6d 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/io/trail.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/io/trail.asset
@@ -32,11 +32,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { IoTrail })
 
 asset.meta = {
   Name = "Io Trail",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Trail of Io as observed by the Jupiter. Data from NASA Spice (see
     base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"IoTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset b/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset
index 9e273566d79d15fbd0900a2549ed3c1e46c8ddef..96a16eb44865ebdfb8cb02a8fd1c9612d10abeae 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset
@@ -66,10 +66,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Jupiter, JupiterLabel })
 
 asset.meta = {
   Name = "Jupiter",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Jupiter globe, and main planet label.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Jupiter", "JupiterLabel"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/jupiter/layers/colorlayers/jupiter_texture.asset b/data/assets/scene/solarsystem/planets/jupiter/layers/colorlayers/jupiter_texture.asset
index f66313ab7931ca4195e9502869b65c6463d42195..6b8fb7e1136c27a1cb48512ba59b56c04fd6b57f 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/layers/colorlayers/jupiter_texture.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/layers/colorlayers/jupiter_texture.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../jupiter").Jupiter.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -12,11 +13,7 @@ local layer = {
   FilePath = texturesPath .. "jupiter_os.tif",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
diff --git a/data/assets/scene/solarsystem/planets/jupiter/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/trail.asset
index d55a414ebde4e957bd93eacf66d56b11f3518656..5f33376a707113f4bbbbd916f85222bfa59dfd13 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/trail.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/trail.asset
@@ -30,11 +30,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { JupiterTrail })
 
 asset.meta = {
   Name = "Jupiter Trail",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Trail of Jupiter as observed by the Sun. Data from NASA Spice (see
       base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"JupiterTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/jupiter/trail_earth.asset b/data/assets/scene/solarsystem/planets/jupiter/trail_earth.asset
index 59ff6ab042368c1c5fe3e453bf93b27680e5c056..d825fef9caecd2414979dc6f3299246a8a9b0ac4 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/trail_earth.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/trail_earth.asset
@@ -30,13 +30,12 @@ local JupiterTrailEarth = {
 
 asset.meta = {
   Name = "Jupiter Trail from Earth",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Trail of Jupiter as observed by the Earth. Data from NASA
     SPICE (see base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"JupiterTrailEarth"}
+  License = "MIT license"
 }
 
 assetHelper.registerSceneGraphNodesAndExport(asset, { JupiterTrailEarth })
diff --git a/data/assets/scene/solarsystem/planets/jupiter/transforms.asset b/data/assets/scene/solarsystem/planets/jupiter/transforms.asset
index e340a579ed417da3bae6fc45e4093ae50e2840da..ead9f1d4d1a4686d6ea905b0b15909f94dcd8ea6 100644
--- a/data/assets/scene/solarsystem/planets/jupiter/transforms.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/transforms.asset
@@ -26,10 +26,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { JupiterBarycenter })
 
 asset.meta = {
   Name = "Jupiter Transforms",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Jupiter Barycenter transform ]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"JupiterBarycenter"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/atmosphere.asset b/data/assets/scene/solarsystem/planets/mars/atmosphere.asset
index b1832cc1c4c1ecf26fc20fc352d727ec0826a45a..e4c3cdf51e25f639d1ca13a78a7befe25abd57fb 100644
--- a/data/assets/scene/solarsystem/planets/mars/atmosphere.asset
+++ b/data/assets/scene/solarsystem/planets/mars/atmosphere.asset
@@ -58,10 +58,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Atmosphere })
 
 asset.meta = {
   Name = "Mars Atmosphere",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableAtmosphere for Mars.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"MarsAtmosphere"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/ctx_blended_01.asset b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/ctx_blended_01.asset
index f717ff56d6de7f87be77c21b414b3fd5c4538c93..e94b0dc28101ffaa59b0b71fa333ad3d5dfeb5ee 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/ctx_blended_01.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/ctx_blended_01.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -26,20 +27,15 @@ local layer = {
     to prevent misinterpretation. (Description from URL)]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "CTX Blended beta01",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[New blended CTX map for Mars from CalTech Murray lab. This map is
     hosted by ESRI.]],
   Author = "Caltech Murray Lab",
   URL = "http://murray-lab.caltech.edu/CTX/",
-  License = "Esri Master License Agreement",
-  Identifiers = {"CTX_blended_01"}
+  License = "Esri Master License Agreement"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/ctx_mosaic_sweden.asset b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/ctx_mosaic_sweden.asset
index 0b09b46e386d11a0df5e85d634c18f2f97fb12db..84c5cd128a4d711b8a6ad61a324588b235e33c36 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/ctx_mosaic_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/ctx_mosaic_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -7,8 +8,15 @@ local layer = {
   BlendMode = "Color"
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "CTX Mosaic [Sweden]",
+  Version = "1.0",
+  Description = [[ CTX Mosaic layer for Mars globe. This layer is served from the 
+  OpenSpace servers in Sweden.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/ctx_mosaic_utah.asset b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/ctx_mosaic_utah.asset
index f6022d19233f0adffccac92f035fa9c17d83227f..bd9cc5d14a1aa4d8a0dfb67ae37d21784d3d7730 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/ctx_mosaic_utah.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/ctx_mosaic_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -7,8 +8,15 @@ local layer = {
   BlendMode = "Color"
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "CTX Mosaic [Utah]",
+  Version = "1.0",
+  Description = [[ CTX Mosaic layer for Mars globe. This layer is served from the 
+  OpenSpace servers in Utah.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/hirise.asset b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/hirise.asset
index 57082d19875c683a2bf52554cfa44d9b88ed1e04..7a652a60b239b8b808eb1501a7f65fc75d513413 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/hirise.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/hirise.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -22,20 +23,15 @@ local layer = {
     10 bit range. (Description from URL)]],
 }
 
-asset.onInitialize(function ()
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "HiRISE",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Updated HiRISE layer for Mars with raw unselected imagery. This map is
     hosted by ESRI.]],
   Author = "esri_astro",
   URL = "https://www.arcgis.com/home/item.html?id=c1c4c750a2154842ae523c984cc14fa5",
-  License = "Esri Master License Agreement",
-  Identifiers = {"HiRISE-PSP"}
+  License = "Esri Master License Agreement"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/hirisels.asset b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/hirisels.asset
index 93ab1d7cef4a6be7d5cf371e37f9d5932c19c3de..e5420111093252bf31a7ee2c336f142d17cc1372 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/hirisels.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/hirisels.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -19,22 +20,17 @@ local layer = {
     model (DTM) was available as of 2018.]],
 }
 
-asset.onInitialize(function ()
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "HiRISE Local Set",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[HiRISE layer for images with corresponding DEMs. This map is
     hosted by ESRI.]],
   Author = "USGS",
   URL = "https://www.uahirise.org",
-  License = "Esri Master License Agreement",
-  Identifiers = {"HiRISE-LS"}
+  License = "Esri Master License Agreement"
 }
 
 
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mars_texture.asset b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mars_texture.asset
index 45bfc84439482bfb919c0836a8d604820cfafb23..b5240a9749a3fc25fed81fd57e92b8bffae33e97 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mars_texture.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mars_texture.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -14,11 +15,7 @@ local layer = {
   Description = [[ Default jpg texture for Mars]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/moc_wa_color_sweden.asset b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/moc_wa_color_sweden.asset
index 8767bd034f243f0bb7bab18810a43a7cbd064330..f5aee8b1f5faf7a92ab3098e08ac475c6700b2d2 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/moc_wa_color_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/moc_wa_color_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local fallbackLayer = asset.require("./fallbacks/mars_texture").layer
@@ -17,20 +18,15 @@ local layer = {
     https://www.jpl.nasa.gov/spaceimages/details.php?id=PIA03467.]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "MOC WA Color [Sweden]",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Main color map layer for Mars. This map is hosted
     on the OpenSpace server in Sweden.]],
   Author = "OpenSpace Team",
   URL = "http://www.openspaceproject.com",
-  License = "NASA/PDS",
-  Identifiers = {"MOLA_HRSC_Sweden"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/moc_wa_color_utah.asset b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/moc_wa_color_utah.asset
index 5e74c9ed0eec25abc47191b340704e5c710d4dec..8b6a5b623d71cb7dbed2da322eb958b5d28ff8a7 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/moc_wa_color_utah.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/moc_wa_color_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local fallbackLayer = asset.require("./fallbacks/mars_texture").layer
@@ -17,20 +18,15 @@ local layer = {
     https://www.jpl.nasa.gov/spaceimages/details.php?id=PIA03467]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "MOC WA Color [Utah]",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Main color map layer for Mars. This map is hosted
     on the OpenSpace server in Utah.]],
   Author = "OpenSpace Team",
   URL = "http://www.openspaceproject.com",
-  License = "NASA/PDS",
-  Identifiers = {"MOC_WA_Color_Utah"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mola_hrsc_sweden.asset b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mola_hrsc_sweden.asset
index db37cdebb33ded8fd1b9d504a06dfe183a35e13d..59ed620783988c504e2c02801b76a753303b9db4 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mola_hrsc_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mola_hrsc_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -10,20 +11,15 @@ local layer = {
     https://astrogeology.usgs.gov/search/map/Mars/Topography/HRSC_MOLA_Blend/Mars_HRSC_MOLA_BlendDEM_Global_200mp_v2]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "MOLA HRSC [Sweden]",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Colorzied elevation data for Mars. This map is hosted on the
     OpenSpace server in Sweden.]],
   Author = "OpenSpace Team",
   URL = "http://www.openspaceproject.com",
-  License = "NASA/PDS",
-  Identifiers = {"MOLA_HRSC_Sweden"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mola_hrsc_utah.asset b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mola_hrsc_utah.asset
index 01dab9062145ef017b9e5852f3e3b26c6e372408..e604370a82962b18adbf280d6d0f3a6f73b8407a 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mola_hrsc_utah.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mola_hrsc_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -10,20 +11,15 @@ local layer = {
     https://astrogeology.usgs.gov/search/map/Mars/Topography/HRSC_MOLA_Blend/Mars_HRSC_MOLA_BlendDEM_Global_200mp_v2]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "MOLA HRSC [Utah]",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Colorzied elevation data for Mars. This map is hosted on the
     OpenSpace server in Sweden.]],
   Author = "OpenSpace Team",
   URL = "http://www.openspaceproject.com",
-  License = "NASA/PDS",
-  Identifiers = {"MOLA_HRSC_Sweden"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mola_pseudo_color_sweden.asset b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mola_pseudo_color_sweden.asset
index 7deafc1110621686770287f44a615fdf54d68daf..2b8d33eb2224e761985fc7906ba764c553fba4ec 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mola_pseudo_color_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mola_pseudo_color_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -20,21 +21,16 @@ local layer = {
     is 463 meters per pixel (m). (Description from URL). Data Reference: (See URL).]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "MOLA Pseudo Color [Sweden]",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Colorzied elevation data for Mars (with shading). This map is hosted
     on the OpenSpace server in Sweden.]],
   Author = "USGS",
   URL = "https://astrogeology.usgs.gov/search/map/Mars/GlobalSurveyor/MOLA/" ..
     "Mars_MGS_MOLA_ClrShade_merge_global_463m",
-  License = "NASA/PDS",
-  Identifiers = {"MOLA_Pseudo_Color_Sweden"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mola_pseudo_color_utah.asset b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mola_pseudo_color_utah.asset
index ab593d9443bab83a0b4230bd0207e4babba83edc..f830667cfdebae22b3345a9b1e049c0daf842fd0 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mola_pseudo_color_utah.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/mola_pseudo_color_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -20,21 +21,16 @@ local layer = {
     is 463 meters per pixel (m). (Description from URL). Data Reference: (See URL)]],
 }
 
-asset.onInitialize(function () 
-    openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "MOLA Pseudo Color [Utah]",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Colorzied elevation data for Mars (with shading). This map is hosted
     on the OpenSpace server in Utah.]],
   Author = "USGS",
   URL = "https://astrogeology.usgs.gov/search/map/Mars/GlobalSurveyor/MOLA/" ..
     "Mars_MGS_MOLA_ClrShade_merge_global_463m",
-  License = "NASA/PDS",
-  Identifiers = {"MOLA_Pseudo_Color_Utah"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/themis_ir_day_sweden.asset b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/themis_ir_day_sweden.asset
index ebcfce544888481ee7a1336960aa82b650424da8..3e97aceacf083a857accb92406cc33f92e541656 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/themis_ir_day_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/themis_ir_day_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -17,21 +18,16 @@ local layer = {
     (Description from URL).]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "Themis IR Day [Sweden]",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Themis Day layer for Mars. This map is hosted on the OpenSpace server
     in Sweden.]],
   Author = "USGS",
   URL = "https://astrogeology.usgs.gov/search/map/Mars/Odyssey/THEMIS-IR-Mosaic-ASU/" ..
     "Mars_MO_THEMIS-IR-Day_mosaic_global_100m_v12",
-  License = "NASA/PDS",
-  Identifiers = {"Themis_IR_Day_Sweden"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/themis_ir_day_utah.asset b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/themis_ir_day_utah.asset
index bbaf877c531ebc956e956cd0cdcb9a31a6727cc7..d6613bf751404040d8b1ae1cce4b698ac606c395 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/themis_ir_day_utah.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/themis_ir_day_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -17,21 +18,16 @@ local layer = {
     (Description from URL).]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "Themis IR Day [Utah]",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Themis Day layer for Mars. This map is hosted on the OpenSpace server
     in Utah.]],
   Author = "USGS",
   URL = "https://astrogeology.usgs.gov/search/map/Mars/Odyssey/THEMIS-IR-Mosaic-ASU/" ..
     "Mars_MO_THEMIS-IR-Day_mosaic_global_100m_v12",
-  License = "NASA/PDS",
-  Identifiers = {"Themis_IR_Day_Utah"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/themis_ir_night_sweden.asset b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/themis_ir_night_sweden.asset
index 39588692e9741e4fa2cf9a4b455fa49a36c75d8c..902f80356fd75335b32ba97cc79c01cfbcd6c828 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/themis_ir_night_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/themis_ir_night_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -18,21 +19,16 @@ local layer = {
     URL).]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "Themis IR Night [Sweden]",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Themis Night layer for Mars. This map is hosted on the OpenSpace
     server in Sweden.]],
   Author = "USGS",
   URL = "https://astrogeology.usgs.gov/search/map/Mars/Odyssey/THEMIS-IR-Mosaic-ASU/" ..
     "Mars_MO_THEMIS-IR-Night_mosaic_60N60S_100m_v14",
-  License = "NASA/PDS",
-  Identifiers = {"Themis_IR_Night_Sweden"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/themis_ir_night_utah.asset b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/themis_ir_night_utah.asset
index 03988bdb6c4343b81e3c197dcc0e08372226482d..d4f006f24242cf84983bed21dd88d04f972ee3d6 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/themis_ir_night_utah.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/themis_ir_night_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -18,21 +19,16 @@ local layer = {
     URL).]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "Themis IR Night [Utah]",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Themis Night layer for Mars. This map is hosted on the OpenSpace
     server in Utah.]],
   Author = "USGS",
   URL = "https://astrogeology.usgs.gov/search/map/Mars/Odyssey/THEMIS-IR-Mosaic-ASU/" ..
     "Mars_MO_THEMIS-IR-Night_mosaic_60N60S_100m_v14",
-  License = "NASA/PDS",
-  Identifiers = {"Themis_IR_Night_Utah"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/viking_mdim_sweden.asset b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/viking_mdim_sweden.asset
index 2fb79b5b3e04f9c2b8eb76e846e01e35603062e4..eef15b6151a7894e095f43972508b2465f462295 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/viking_mdim_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/viking_mdim_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -25,21 +26,16 @@ local layer = {
     references available here: http://astrogeology.usgs.gov/maps/mdim-2-1 ]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "Viking MDIM [Sweden]",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Alternate image layer for Mars. This map is hosted
     on the OpenSpace server in Sweden.]],
   Author = "USGS",
   URL = "https://astrogeology.usgs.gov/search/map/Mars/Viking/MDIM21/" ..
     "Mars_Viking_MDIM21_ClrMosaic_global_232m",
-  License = "NASA/PDS",
-  Identifiers = {"Viking_MDIM_Sweden"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/viking_mdim_utah.asset b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/viking_mdim_utah.asset
index 03055f155a7af1402e313042822b0d2f77d2868a..b5e140f023e886da51dd9840a330852a3ae3eedd 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/viking_mdim_utah.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/colorlayers/viking_mdim_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -25,21 +26,16 @@ local layer = {
     references available here: http://astrogeology.usgs.gov/maps/mdim-2-1 ]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "Viking MDIM [Utah]",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Alternate image layer for Mars. This map is hosted
     on the OpenSpace server in Utah.]],
   Author = "USGS",
   URL = "https://astrogeology.usgs.gov/search/map/Mars/Viking/MDIM21/" ..
     "Mars_Viking_MDIM21_ClrMosaic_global_232m",
-  License = "NASA/PDS",
-  Identifiers = {"Viking_MDIM_Utah"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/heightlayers/MDEM200M.asset b/data/assets/scene/solarsystem/planets/mars/layers/heightlayers/MDEM200M.asset
index c7dd7454bd4c9ff57e33333aafb91f13123c6ea7..be6cf0bba161097d5dc5089e88859bf6aa435974 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/heightlayers/MDEM200M.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/heightlayers/MDEM200M.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -11,24 +12,19 @@ local layer = {
     Express spacecraft). The average accuracy is ~100 meters in horizontal 
     position and the elevation uncertainty is at least 卤3 m. This
     tiled elevation layer, hosted by Esri, is made available using
-    lossless LERC compression.(Description from URL).]],
+    lossless LERC compression. (Description from URL).]],
 }
 
-asset.onInitialize(function ()
-  openspace.globebrowsing.addLayer(globeIdentifier, "HeightLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "HeightLayers")
 
 
 asset.meta = {
   Name = "Mars HRSC MOLA Blended DEM Global 200m v2",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ESRI Hosted ars HRSC MOLA Blended DEM.]],
   Author = "esri_astro",
   URL = "https://www.arcgis.com/home/item.html?id=225adad86379474ebc3d51a74573c99b",
-  License = "Esri Master License Agreement",
-  Identifiers = {"MDEM200M"}
+  License = "Esri Master License Agreement"
 }
 
 
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/heightlayers/hirisels.asset b/data/assets/scene/solarsystem/planets/mars/layers/heightlayers/hirisels.asset
index 0843e9f4c65745998dbfb2dd20445b090903c4a7..d50847052d9a4f9fae653afda18779ac6a293b23 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/heightlayers/hirisels.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/heightlayers/hirisels.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -17,22 +18,17 @@ local layer = {
     DEM where available as of 2018.]],
 }
 
-asset.onInitialize(function ()
-  openspace.globebrowsing.addLayer(globeIdentifier, "HeightLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "HeightLayers")
 
 
 asset.meta = {
   Name = "HiRISE Local Set DEM",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[HiRISE DEM layer for corresponding Local Set imager. This map is
     hosted by ESRI.]],
   Author = "USGS",
   URL = "https://www.uahirise.org",
-  License = "Esri Master License Agreement",
-  Identifiers = {"HiRISE-LS-DEM"}
+  License = "Esri Master License Agreement"
 }
 
 
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/heightlayers/mola_sweden.asset b/data/assets/scene/solarsystem/planets/mars/layers/heightlayers/mola_sweden.asset
index 5a68e92b577d32bb0db08b4ce44b9f5f1c1437d9..bfa5dc2ff0eb5a2a5edd33d5c7f080340f9f52a1 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/heightlayers/mola_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/heightlayers/mola_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -21,21 +22,16 @@ local layer = {
     URL). Data Reference: (See URL).]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "HeightLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "HeightLayers")
 
 
 asset.meta = {
   Name = "Mola Elevation [Sweden]",
-  Version = "1.0",
+  Version = "1.1",
   Author = "USGS",
   Description = [[ Global elevation layer for Mars. This layer is hosted on the
     OpenSpace server in Sweden.]],
   URL = "https://astrogeology.usgs.gov/search/map/Mars/GlobalSurveyor/MOLA/" ..
     "Mars_MGS_MOLA_DEM_mosaic_global_463m",
-  License = "NASA/PDS",
-  Identifiers = {"Mola_Europe"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/heightlayers/mola_utah.asset b/data/assets/scene/solarsystem/planets/mars/layers/heightlayers/mola_utah.asset
index e37d69d6447cb244b12536fa63a247a3cd813577..92febe410aee4ed10fb9f0b05a4646aa09e43959 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/heightlayers/mola_utah.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/heightlayers/mola_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -21,21 +22,16 @@ local layer = {
     URL). Data Reference: (See URL).]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "HeightLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "HeightLayers")
 
 
 asset.meta = {
   Name = "Mola Elevation [Utah]",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Global elevation layer for Mars. This layer is hosted on the
     OpenSpace server in Utah.]],
   Author = "USGS",
   URL = "https://astrogeology.usgs.gov/search/map/Mars/GlobalSurveyor/MOLA/" ..
     "Mars_MGS_MOLA_DEM_mosaic_global_463m",
-  License = "NASA/PDS",
-  Identifiers = {"Mola_Utah"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/overlays/indices.asset b/data/assets/scene/solarsystem/planets/mars/layers/overlays/indices.asset
index 3136ceea89e5c0c75a2c5f3a0dae1e72670e2809..68425c008bdc02e77760906f69f8bd75ee1695c0 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/overlays/indices.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/overlays/indices.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mars").Mars.Identifier
 
 local layer = {
@@ -5,8 +6,13 @@ local layer = {
   Type = "TileIndexTileLayer"
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "Overlays", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "Overlays")
 
-asset.export("layer", layer)
+asset.meta = {
+  Name = "Mars Indices",
+  Version = "1.0",
+  Description = [[ This asset supplies a tile index layer for the Mars globe.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/mars/layers/overlays/size_reference.asset b/data/assets/scene/solarsystem/planets/mars/layers/overlays/size_reference.asset
index fe6c33934916c466efe54df5cb5d7443a9d16633..925f7c3a3bcfe9676e6f178f64acd9a5dd9a6617 100644
--- a/data/assets/scene/solarsystem/planets/mars/layers/overlays/size_reference.asset
+++ b/data/assets/scene/solarsystem/planets/mars/layers/overlays/size_reference.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local marsAsset = asset.require("../../mars").Mars
 local globeIdentifier = marsAsset.Identifier
 
@@ -8,8 +9,14 @@ local layer ={
   Radii = marsAsset.Renderable.Radii
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "Overlays", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "Overlays")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Mars Size Reference",
+  Version = "1.0",
+  Description = [[ This asset supplies a size reference layer for the Mars globe.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/mars/mars.asset b/data/assets/scene/solarsystem/planets/mars/mars.asset
index 135de2b5ca3a346f6963f688a72eb6321f40b2d6..51e5562411806423929d704a4021657fbeaef5fe 100644
--- a/data/assets/scene/solarsystem/planets/mars/mars.asset
+++ b/data/assets/scene/solarsystem/planets/mars/mars.asset
@@ -86,10 +86,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Mars, MarsLabel })
 
 asset.meta = {
   Name = "Mars",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Mars globe, and main globe label.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Mars", "MarsLabel"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/moons/deimos.asset b/data/assets/scene/solarsystem/planets/mars/moons/deimos.asset
index 14e2b7f7bb5b7c903acc9271dd0fb8c119fea389..8d594bd4f39778e6dbf4c4686c29cd164dd4c0c0 100644
--- a/data/assets/scene/solarsystem/planets/mars/moons/deimos.asset
+++ b/data/assets/scene/solarsystem/planets/mars/moons/deimos.asset
@@ -66,10 +66,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Deimos, DeimosTrail })
 
 asset.meta = {
   Name = "Deimos",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableGlobe and Trail for Deimos.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Deimos", "DeimosTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/moons/layers/colorlayers/deimos_viking.asset b/data/assets/scene/solarsystem/planets/mars/moons/layers/colorlayers/deimos_viking.asset
index 97ab860099f78a719e888fc7b61cabb271b1e702..6000230b40b38d0ffabf24cd2221804ec15b1bd8 100644
--- a/data/assets/scene/solarsystem/planets/mars/moons/layers/colorlayers/deimos_viking.asset
+++ b/data/assets/scene/solarsystem/planets/mars/moons/layers/colorlayers/deimos_viking.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../deimos").Deimos.Identifier
 
 local layer = {
@@ -11,18 +12,13 @@ local layer = {
     released 26 October 2001. (Description from URL)]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "Deimos Global Mosaic [USGS]",
-  Version = "1.0",
+  Version = "1.1",
   Author = "Philip Stooke/NASA",
   URL = "https://astrowebmaps.wr.usgs.gov/webmapatlas/Layers/maps.html",
-  License = "NASA/PDS",
-  Identifiers = {'Deimos_Global_Mosaic_USGS'}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/moons/layers/colorlayers/phobos_viking.asset b/data/assets/scene/solarsystem/planets/mars/moons/layers/colorlayers/phobos_viking.asset
index 446c188279d0d674e74d975a514878acdf0853ac..2ebc0b4be720278ac922c0a7f82653ae83bcab42 100644
--- a/data/assets/scene/solarsystem/planets/mars/moons/layers/colorlayers/phobos_viking.asset
+++ b/data/assets/scene/solarsystem/planets/mars/moons/layers/colorlayers/phobos_viking.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../phobos").Phobos.Identifier
 
 local layer = {
@@ -8,18 +9,13 @@ local layer = {
   Description = [[ Viking-base Phobos shaded relief created by USGS.]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "Phobos Global Shaded Relief [USGS]",
-  Version = "1.0",
+  Version = "1.1",
   Author = "USGS/NASA",
   URL = "https://astrowebmaps.wr.usgs.gov/webmapatlas/Layers/maps.html",
-  License = "NASA/PDS",
-  Identifiers = {'Phobos_Global_Shaded_Relief_USGS'}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/moons/phobos.asset b/data/assets/scene/solarsystem/planets/mars/moons/phobos.asset
index 4b8aad75d5c7a1c5e473b79ec7a512938c99914c..9a11f40d2767d99ca69d6c113832196aaad64e99 100644
--- a/data/assets/scene/solarsystem/planets/mars/moons/phobos.asset
+++ b/data/assets/scene/solarsystem/planets/mars/moons/phobos.asset
@@ -66,10 +66,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Phobos, PhobosTrail })
 
 asset.meta = {
   Name = "Phobos",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableGlobe and Trail for Phobos.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Phobos", "PhobosTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/trail.asset b/data/assets/scene/solarsystem/planets/mars/trail.asset
index bda74c054b068dc9b6ecb28cba7b481789555aca..b7085cb3e1ff278b8b07810212271c05ab2d6090 100644
--- a/data/assets/scene/solarsystem/planets/mars/trail.asset
+++ b/data/assets/scene/solarsystem/planets/mars/trail.asset
@@ -32,10 +32,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { MarsTrail })
 
 asset.meta = {
   Name = "Mars Trail",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Main Mars trail from SPICE.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"MarsTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/trail_earth.asset b/data/assets/scene/solarsystem/planets/mars/trail_earth.asset
index d96759605bf69d92ba9a6dd40d35461686261e6f..eecb83ba283b79b432d4bf4a29865de5aec5d904 100644
--- a/data/assets/scene/solarsystem/planets/mars/trail_earth.asset
+++ b/data/assets/scene/solarsystem/planets/mars/trail_earth.asset
@@ -34,11 +34,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { MarsTrailEarth })
 
 asset.meta = {
   Name = "Mars Trail from Earth",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Trail of Mars, parented to Earth with Earth as the SPICE observer.
     Data from NASA SPICE (see base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"MarsTrailEarth"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/mars/transforms.asset b/data/assets/scene/solarsystem/planets/mars/transforms.asset
index 1e3ff966f5a3680f256ecea4855bd8a7cf85b32c..b8128ea5da8f716459d34cea4ca8b4cec70d0e65 100644
--- a/data/assets/scene/solarsystem/planets/mars/transforms.asset
+++ b/data/assets/scene/solarsystem/planets/mars/transforms.asset
@@ -25,10 +25,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { MarsBarycenter })
 
 asset.meta = {
   Name = "Mars Transforms",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Transform with position for Mars.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"MarsBarycenter"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/alsimap_02122015.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/alsimap_02122015.asset
index 4191fa531b3ecf2cf043f4a9d2b4c56c45b09ae5..a94894efa6409d469d8b607b844ec95c1e9622ae 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/alsimap_02122015.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/alsimap_02122015.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -14,8 +15,14 @@ local layer = {
   BlendMode = "Multiply",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Mercury Aluminium Abundance",
+  Version = "1.0",
+  Description = [[ Aluminium Abundance layer for Mercury globe]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/casimap_02122015.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/casimap_02122015.asset
index 132c104cc770f65b99a4276d8507c6d9032f1738..8af4e18616e83c592194c7764cbb6332a7c67bfd 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/casimap_02122015.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/casimap_02122015.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -14,8 +15,15 @@ local layer = {
   BlendMode = "Multiply",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+
+asset.meta = {
+  Name = "Mercury Calcium Abundance",
+  Version = "1.0",
+  Description = [[ Calcium Abundance layer for Mercury globe]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/fesimap_02122015.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/fesimap_02122015.asset
index 20762ae4a479956acfc87f1be870ad8ef9ed5a43..f38888ad3a4415eaf9c295557e776ab175b17666 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/fesimap_02122015.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/fesimap_02122015.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -14,8 +15,15 @@ local layer = {
   BlendMode = "Multiply",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+
+asset.meta = {
+  Name = "Mercury Iron Abundance",
+  Version = "1.0",
+  Description = [[ Iron Abundance layer for Mercury globe]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_bdr_sweden.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_bdr_sweden.asset
index 412364df0d6fadad1400f9ea1b39a5102905a16b..4c4bc729a3b1952602d63a944aabd7bba8c936c2 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_bdr_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_bdr_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local layer = {
@@ -5,10 +6,25 @@ local layer = {
   Name = "Messenger BDR [Sweden]",
   FilePath = asset.localResource("messenger_bdr_sweden.wms"),
   TilePixelSize = 360,
+  Description = [[The Map Projected Basemap RDR (BDR) data set consists of a global 
+  monochrome map of reflectance at a resolution of 256 pixels per degree (~166 m/p). 
+  This edition, version 1, was released May 6, 2016 to the Planetary Data System (PDS) 
+  MESSENGER archive. It is compiled using NAC or WAC 750-nm images from any campaign that 
+  best fit the intended illumination geometry or low emission angle and incidence angle 
+  near 74 degrees. It is controlled and projected onto a global digital elevation model. It uses 
+  a Kasseleinin-Shkuratov photometric model, whose parameters are the same for any given 
+  wavelength band across all MESSENGER end-of-mission map data products.]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Messenger BDR [Sweden]",
+  Version = "1.0",
+  Description = [[ Mercury MESSENGER MDIS Global Basemap BDR 166m layer for Mercury globe. 
+  This map is hosted on the OpenSpace server in Sweden.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Mercury/Messenger/Global/Mercury_MESSENGER_MDIS_Basemap_BDR_Mosaic_Global_166m",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_bdr_utah.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_bdr_utah.asset
index b81431684e6463238ea6c90d11c28dfd35c220d7..23e5581a8d0c602e1071a6b99890d71fc356a05c 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_bdr_utah.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_bdr_utah.asset
@@ -1,14 +1,30 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local layer = {
   Identifier = "Messenger_BDR_Utah",
   Name = "Messenger BDR [Utah]",
   FilePath = asset.localResource("messenger_bdr_utah.wms"),
-  TilePixelSize = 360
+  TilePixelSize = 360,
+  Description = [[The Map Projected Basemap RDR (BDR) data set consists of a global 
+  monochrome map of reflectance at a resolution of 256 pixels per degree (~166 m/p). 
+  This edition, version 1, was released May 6, 2016 to the Planetary Data System (PDS) 
+  MESSENGER archive. It is compiled using NAC or WAC 750-nm images from any campaign that 
+  best fit the intended illumination geometry or low emission angle and incidence angle 
+  near 74 degrees. It is controlled and projected onto a global digital elevation model. It uses 
+  a Kasseleinin-Shkuratov photometric model, whose parameters are the same for any given 
+  wavelength band across all MESSENGER end-of-mission map data products.]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Messenger BDR [Utah]",
+  Version = "1.0",
+  Description = [[ Mercury MESSENGER MDIS Global Basemap BDR 166m layer for Mercury globe. 
+  This map is hosted on the OpenSpace server in Utah.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Mercury/Messenger/Global/Mercury_MESSENGER_MDIS_Basemap_BDR_Mosaic_Global_166m",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_hie_sweden.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_hie_sweden.asset
index fe1a646b64187921d92691bff14fab2c842dc521..b28bdf861ce58ddcd3edceb89bbf184f1ecc4866 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_hie_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_hie_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local layer = {
@@ -6,8 +7,16 @@ local layer = {
   FilePath = asset.localResource("messenger_hie_sweden.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
+
+
+asset.meta = {
+  Name = "Messenger HIE [Sweden]",
+  Version = "1.0",
+  Description = [[ Mercury HIE layer for Mercury globe. 
+  This map is hosted on the OpenSpace server in Sweden.]],
+  Author = "USGS",
+  URL = "",
+  License = "NASA/PDS"
+}
 
-asset.export("layer", layer)
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_hie_utah.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_hie_utah.asset
index a126f50f99e1b9430f4d16b7606716c4d35e6d81..2c134783d11d8e958e2b96dd2587d987e84c4271 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_hie_utah.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_hie_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local layer = {
@@ -6,8 +7,15 @@ local layer = {
   FilePath = asset.localResource("messenger_hie_utah.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Messenger HIE [Utah]",
+  Version = "1.0",
+  Description = [[ Mercury HIE layer for Mercury globe. 
+  This map is hosted on the OpenSpace server in Utah.]],
+  Author = "USGS",
+  URL = "",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_hiw_sweden.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_hiw_sweden.asset
index 95b7d143d2e96a24ac68a68fa0bfacec57056fc6..a97c5780e9e449da1f8de0ef502249708becc6ae 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_hiw_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_hiw_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local layer = {
@@ -6,8 +7,17 @@ local layer = {
   FilePath = asset.localResource("messenger_hiw_sweden.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
+
+
+asset.meta = {
+  Name = "Messenger HIW [Sweden]",
+  Version = "1.0",
+  Description = [[ Messenger HIW layer for Mercury globe. 
+  This map is hosted on the OpenSpace server in Sweden.]],
+  Author = "USGS",
+  URL = "",
+  License = "NASA/PDS"
+}
+
 
-asset.export("layer", layer)
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_hiw_utah.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_hiw_utah.asset
index 84ba23aeaf9f5ffb299fd398a45b7256cbf45d5e..0c7f7e22848d63d959dc0d6cc5b8be7f7f8f0e13 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_hiw_utah.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_hiw_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local layer = {
@@ -6,8 +7,16 @@ local layer = {
   FilePath = asset.localResource("messenger_hiw_utah.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
+
+
+asset.meta = {
+  Name = "Messenger HIW [Utah]",
+  Version = "1.0",
+  Description = [[ Messenger HIW layer for Mercury globe. 
+  This map is hosted on the OpenSpace server in Utah.]],
+  Author = "USGS",
+  URL = "",
+  License = "NASA/PDS"
+}
 
-asset.export("layer", layer)
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_loi_sweden.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_loi_sweden.asset
index cbf10715c6aa3021c23aa2d357c0698134ad008c..597dd6ec21108298aa80bfd2138bf5955ec4d9e1 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_loi_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_loi_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local layer = {
@@ -6,8 +7,16 @@ local layer = {
   FilePath = asset.localResource("messenger_loi_sweden.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
+
+
+asset.meta = {
+  Name = "Messenger LOI [Sweden]",
+  Version = "1.0",
+  Description = [[ Mercury LOI layer for Mercury globe. 
+  This map is hosted on the OpenSpace server in Sweden.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Mercury/Messenger/Global/Mercury_MESSENGER_MDIS_Basemap_LOI_Mosaic_Global_166m",
+  License = "NASA/PDS"
+}
 
-asset.export("layer", layer)
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_loi_utah.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_loi_utah.asset
index 53f551ea2c639bbcb6d522eada3cfccf11b5e4d5..3644a798b81115eb46147689b5939e55b27c5549 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_loi_utah.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_loi_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local layer = {
@@ -6,8 +7,16 @@ local layer = {
   FilePath = asset.localResource("messenger_loi_utah.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
+
+
+asset.meta = {
+  Name = "Messenger LOI [Utah]",
+  Version = "1.0",
+  Description = [[ Mercury LOI layer for Mercury globe. 
+  This map is hosted on the OpenSpace server in Utah.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Mercury/Messenger/Global/Mercury_MESSENGER_MDIS_Basemap_LOI_Mosaic_Global_166m",
+  License = "NASA/PDS"
+}
 
-asset.export("layer", layer)
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mdis_sweden.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mdis_sweden.asset
index 14c98c20d02fe26f77a6a52e48617c27ecfa0d03..57f827e4c10214b6658fd75ac30e3a568a0d408e 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mdis_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mdis_sweden.asset
@@ -1,13 +1,31 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local layer = {
   Identifier = "Messenger_MDIS_Sweden",
   Name = "Messenger MDIS [Sweden]",
-  FilePath = asset.localResource("messenger_mdis_sweden.wms")
+  FilePath = asset.localResource("messenger_mdis_sweden.wms"),
+  Description = [[This May 2013 basemap is a combination of the following mosaics; (1) 
+  The 2013-05-10 version of the monochrome global mosaic, made from Applied Coherent 
+  Technology (ACT) Corporation tiles, (2) An average north polar mosaic from 90N to 82.5N, 
+  composed of images from many campaigns, made by C. Ernst, and (3) An average south 
+  polar mosaic from 90S to 85S, composed of images from the south polar monitoring 
+  campaign from the primary mission, made by N. Chabot. To fill minor areas of missing 
+  data, the 2013-05-10 version of the high-incidence global mosaic was underlain. This 
+  monochrome mosaic is composed of Mercury Dual Imaging System (MDIS) Narrow Angle 
+  Camera (NAC) images and Wide Angle Camers (WAC) images acquired in the filter centered 
+  at 750 nm. The resolution of this mosaic is 250 meters per pixel (m).]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Messenger MDIS [Sweden]",
+  Version = "1.0",
+  Description = [[ Messenger MDIS layer for Mercury globe. 
+  This map is hosted on the OpenSpace server in Sweden.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Mercury/Messenger/Global/Mercury_MESSENGER_MDIS_mosaic_global_250m_2013",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mdis_utah.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mdis_utah.asset
index 2a5bc1361c5ab08a1609a3a44cb25580c4d1dd29..5d371b74046fb3f60f62d2f32c6863c71f3ef931 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mdis_utah.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mdis_utah.asset
@@ -1,13 +1,33 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local layer = {
   Identifier = "Messenger_MDIS_Utah",
   Name = "Messenger MDIS [Utah]",
-  FilePath = asset.localResource("messenger_mdis_utah.wms")
+  FilePath = asset.localResource("messenger_mdis_utah.wms"),
+  Description = [[This May 2013 basemap is a combination of the following mosaics; (1) 
+  The 2013-05-10 version of the monochrome global mosaic, made from Applied Coherent 
+  Technology (ACT) Corporation tiles, (2) An average north polar mosaic from 90N to 82.5N, 
+  composed of images from many campaigns, made by C. Ernst, and (3) An average south 
+  polar mosaic from 90S to 85S, composed of images from the south polar monitoring 
+  campaign from the primary mission, made by N. Chabot. To fill minor areas of missing 
+  data, the 2013-05-10 version of the high-incidence global mosaic was underlain. This 
+  monochrome mosaic is composed of Mercury Dual Imaging System (MDIS) Narrow Angle 
+  Camera (NAC) images and Wide Angle Camers (WAC) images acquired in the filter centered 
+  at 750 nm. The resolution of this mosaic is 250 meters per pixel (m).]]
+}
+
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
+
+
+asset.meta = {
+  Name = "Messenger MDIS [Utah]",
+  Version = "1.0",
+  Description = [[ Messenger MDIS layer for Mercury globe. 
+  This map is hosted on the OpenSpace server in Utah.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Mercury/Messenger/Global/Mercury_MESSENGER_MDIS_mosaic_global_250m_2013",
+  License = "NASA/PDS"
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
 
-asset.export("layer", layer)
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mdr_utah.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mdr_utah.asset
index df0e160a02c623e4ec848e5805eb5dedb1bc5c7f..7f10000c10d587ac00dfcb501b51fabf1623241e 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mdr_utah.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mdr_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local layer = {
@@ -6,8 +7,16 @@ local layer = {
   FilePath = asset.localResource("messenger_mdr_utah.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
+
+
+asset.meta = {
+  Name = "Messenger MDR [Utah]",
+  Version = "1.0",
+  Description = [[ Mercury MDR layer for Mercury globe. 
+  This map is hosted on the OpenSpace server in Utah.]],
+  Author = "USGS",
+  URL = "",
+  License = "NASA/PDS"
+}
 
-asset.export("layer", layer)
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mosaic2_sweden.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mosaic2_sweden.asset
index f164a293bd6cb91e939fa5b5f152357c4448d340..5239fad7df2a8da67d92146390dddbd39ef34c5b 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mosaic2_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mosaic2_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local layer = {
@@ -6,8 +7,15 @@ local layer = {
   FilePath = asset.localResource("messenger_mosaic2_sweden.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Messenger Mosaic2 [Sweden]",
+  Version = "1.0",
+  Description = [[ Mercury Messenger Mosaic2 layer for Mercury globe. 
+  This map is hosted on the OpenSpace server in Sweden.]],
+  Author = "USGS",
+  URL = "",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mosaic2_utah.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mosaic2_utah.asset
index 047670cf8f6b2c640aa193b6965a37a174ff54f9..3d225e53bc1c2273f41899c71b3baf31b3ee39ec 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mosaic2_utah.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mosaic2_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local layer = {
@@ -6,8 +7,15 @@ local layer = {
   FilePath = asset.localResource("messenger_mosaic2_utah.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Messenger Mosaic2 [Utah]",
+  Version = "1.0",
+  Description = [[ Mercury Messenger Mosaic2 layer for Mercury globe. 
+  This map is hosted on the OpenSpace server in Utah.]],
+  Author = "USGS",
+  URL = "",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mosaic_sweden.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mosaic_sweden.asset
index a2d20199b3b1a3b1ef2265735dcb892a67fc3b05..1f2e414c40837521cd0e9c643643732e7b073d88 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mosaic_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mosaic_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local layer = {
@@ -6,8 +7,15 @@ local layer = {
   FilePath = asset.localResource("messenger_mosaic_sweden.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Messenger Mosaic [Sweden]",
+  Version = "1.0",
+  Description = [[ Mercury Messenger Mosaic layer for Mercury globe.
+  This map is hosted on the OpenSpace server in Sweden.]],
+  Author = "USGS",
+  URL = "",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mosaic_utah.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mosaic_utah.asset
index 8bc56447557db8efd5fbd077541de2310a5678bd..5f8758bce5aac0999229c1222c412ae64ab48d95 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mosaic_utah.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mosaic_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local layer = {
@@ -6,8 +7,15 @@ local layer = {
   FilePath = asset.localResource("messenger_mosaic_utah.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Messenger Mosaic [Utah]",
+  Version = "1.0",
+  Description = [[ Mercury Messenger Mosaic layer for Mercury globe. 
+  This map is hosted on the OpenSpace server in Utah.]],
+  Author = "USGS",
+  URL = "",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mp3_utah.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mp3_utah.asset
index 4aab95aa3f3f17c9a9602a7c2e1c1287c6452f08..30e8be0dbd02fb486bf3ee316006d7e1c9353816 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mp3_utah.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_mp3_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local layer = {
@@ -6,8 +7,16 @@ local layer = {
   FilePath = asset.localResource("messenger_mp3_utah.wms")
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
+
+
+asset.meta = {
+  Name = "Messenger MP3 [Utah]",
+  Version = "1.0",
+  Description = [[ Mercury Messenger MP3 layer for Mercury globe. 
+  This map is hosted on the OpenSpace server in Utah.]],
+  Author = "USGS",
+  URL = "",
+  License = "NASA/PDS"
+}
 
-asset.export("layer", layer)
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_shade_sweden.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_shade_sweden.asset
index f66e07b49cc67d4e74e96cc8add281b87e7ccdd3..a22ea995ae162dc19023770c8baea4e3233a97ea 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_shade_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_shade_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local layer = {
@@ -11,8 +12,15 @@ local layer = {
   BlendMode = "Multiply",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Messenger SHADE [Sweden]",
+  Version = "1.0",
+  Description = [[ Mercury SHADE layer for Mercury globe. 
+  This map is hosted on the OpenSpace server in Sweden.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Mercury/Topography/MESSENGER/Mercury_Messenger_USGS_ClrShade_Global_2km",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_shade_utah.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_shade_utah.asset
index ee62abad1fc0ee446904e2a34e55082a92c655d0..99e21a345175eb144d8f260fe2a93da8cc1d5388 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_shade_utah.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/messenger_shade_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local layer = {
@@ -11,8 +12,15 @@ local layer = {
   BlendMode = "Multiply",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Messenger SHADE [Utah]",
+  Version = "1.0",
+  Description = [[ Mercury Messenger SHADE layer for Mercury globe. 
+  This map is hosted on the OpenSpace server in Utah.]],
+  Author = "USGS",
+  URL = "https://astrogeology.usgs.gov/search/map/Mercury/Topography/MESSENGER/Mercury_Messenger_USGS_ClrShade_Global_2km",
+  License = "NASA/PDS"
+}
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/mgsimap_02122015.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/mgsimap_02122015.asset
index 138e1017b36bf4a216bca4556c8407575ee2f75c..bd22e1514b0d02d9cd27c07a11704b3c1e85e408 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/mgsimap_02122015.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/mgsimap_02122015.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -18,8 +19,14 @@ local layer = {
   BlendMode = "Multiply",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Mercury Magnesium Abundance",
+  Version = "1.0",
+  Description = [[ Magnesium Abundance layer for Mercury globe]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/ssimap_02122015.asset b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/ssimap_02122015.asset
index b910263ee57db6b7702fb4b4c175e170a257f324..2a7c66ac6097216e269353230a45b8d6dd097e09 100644
--- a/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/ssimap_02122015.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/layers/colorlayers/ssimap_02122015.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mercury").Mercury.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -14,8 +15,14 @@ local layer = {
   BlendMode = "Multiply",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Mercury Silicon Abundance",
+  Version = "1.0",
+  Description = [[ Silicon Abundance layer for Mercury globe]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/mercury/mercury.asset b/data/assets/scene/solarsystem/planets/mercury/mercury.asset
index 9ecd31f7959531c44149f89f5443547535772b61..635571cea4952260fda70306d2ae33e3db13384d 100644
--- a/data/assets/scene/solarsystem/planets/mercury/mercury.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/mercury.asset
@@ -77,10 +77,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Mercury, MercuryLabel })
 
 asset.meta = {
   Name = "Mercury",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Mercury globe with labels, and main planet label.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Mercury" , "MercuryLabel"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/mercury/trail.asset b/data/assets/scene/solarsystem/planets/mercury/trail.asset
index 410e93a92a09a41154070c98f6b6ce0c3cd5bfe9..b5c560fcaa9796a89e0f6d2f9cd83af86d0d04dc 100644
--- a/data/assets/scene/solarsystem/planets/mercury/trail.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/trail.asset
@@ -31,11 +31,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { MercuryTrail })
 
 asset.meta = {
   Name = "Mercury Trail",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Main trail for Mercury. Data from NASA Spice (see
     base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"MercuryTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/mercury/trail_earth.asset b/data/assets/scene/solarsystem/planets/mercury/trail_earth.asset
index 1eb4e8c0a4a33f95198113d2aa1d825cb35c0679..c92515b06ba451fb338b140b1c350ff2b3b01df9 100644
--- a/data/assets/scene/solarsystem/planets/mercury/trail_earth.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/trail_earth.asset
@@ -34,11 +34,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { MercuryTrailEarth })
 
 asset.meta = {
   Name = "Mercury Trail from Earth",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Alternate trail of Mercury, as observed by the Earth rather then the
     Sun.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"MercuryTrailEarth"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/mercury/transforms.asset b/data/assets/scene/solarsystem/planets/mercury/transforms.asset
index db4f0452992c216d493924b913411863d0dac301..61606eeb6834da96ddcb2897e113898152a0747b 100644
--- a/data/assets/scene/solarsystem/planets/mercury/transforms.asset
+++ b/data/assets/scene/solarsystem/planets/mercury/transforms.asset
@@ -25,10 +25,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { MercuryBarycenter })
 
 asset.meta = {
   Name = "Mercury Transforms",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Mercury Barycenter transform]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"MercuryBarycenter"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/neptune/layers/colorlayers/neptune_texture.asset b/data/assets/scene/solarsystem/planets/neptune/layers/colorlayers/neptune_texture.asset
index 86a362599873502933cd7f6d6938dc26e2e64c25..c066e907aeb6d2d178e11e3a0e767ea1a707d469 100644
--- a/data/assets/scene/solarsystem/planets/neptune/layers/colorlayers/neptune_texture.asset
+++ b/data/assets/scene/solarsystem/planets/neptune/layers/colorlayers/neptune_texture.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../neptune").Neptune.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -12,11 +13,7 @@ local layer = {
   FilePath = texturesPath .. "neptune.jpg",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
diff --git a/data/assets/scene/solarsystem/planets/neptune/minor_moons.asset b/data/assets/scene/solarsystem/planets/neptune/minor_moons.asset
index 8f5e758e56d1a43521792bd2d2d020367cd5a92f..584e67489b51c986fba09af6411ccc1684e238f6 100644
--- a/data/assets/scene/solarsystem/planets/neptune/minor_moons.asset
+++ b/data/assets/scene/solarsystem/planets/neptune/minor_moons.asset
@@ -1,3 +1,14 @@
 asset.require("./inner_moons")
 asset.require("./irregular_prograde_moons")
 asset.require("./irregular_retrograde_moons")
+
+
+asset.meta = {
+  Name = "Neptune Minor Moons",
+  Version = "1.0",
+  Description = [[ Meta asset containing 3 moon groups: inner_moons, 
+  irregular_prograde_moons, and irregular_retrograde_moons]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/neptune/neptune.asset b/data/assets/scene/solarsystem/planets/neptune/neptune.asset
index e8702e04e76ded8b7df69777eedf23252c8bbe45..e4d1691a9180a23ef80cc902634002fc5cb18895 100644
--- a/data/assets/scene/solarsystem/planets/neptune/neptune.asset
+++ b/data/assets/scene/solarsystem/planets/neptune/neptune.asset
@@ -58,10 +58,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Neptune, NeptuneLabel })
 
 asset.meta = {
   Name = "Neptune",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Neptune globe, and main planet label.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Neptune"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/neptune/trail.asset b/data/assets/scene/solarsystem/planets/neptune/trail.asset
index 579a87ff9d17f0656e5850ff37203754c0a0a905..e1434267b0e7098b0028320d3a823ad7ca168e10 100644
--- a/data/assets/scene/solarsystem/planets/neptune/trail.asset
+++ b/data/assets/scene/solarsystem/planets/neptune/trail.asset
@@ -42,10 +42,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { NeptuneTrail })
 
 asset.meta = {
   Name = "Neptune Trail",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Main trail of Neptune. Data from NASA Spice (see base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"NeptuneTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/neptune/trail_earth.asset b/data/assets/scene/solarsystem/planets/neptune/trail_earth.asset
index 6bd470acf5706f6abb5167892f829fc6588313af..1d373108ee7537ebbc1e4eb160efd20ec8100660 100644
--- a/data/assets/scene/solarsystem/planets/neptune/trail_earth.asset
+++ b/data/assets/scene/solarsystem/planets/neptune/trail_earth.asset
@@ -34,11 +34,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { NeptuneTrailEarth })
 
 asset.meta = {
   Name = "Neptune Trail from Earth",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Alternate trail of Neptune, as observed by the Earth rather then the
     Sun.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"NeptuneTrailEarth"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/neptune/transforms.asset b/data/assets/scene/solarsystem/planets/neptune/transforms.asset
index fdb81080adfe7efd562b4a83bf95058bdec35d74..d638cca5961591e15e86f5fce29ab36a8b5ca1a9 100644
--- a/data/assets/scene/solarsystem/planets/neptune/transforms.asset
+++ b/data/assets/scene/solarsystem/planets/neptune/transforms.asset
@@ -25,10 +25,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { NeptuneBarycenter })
 
 asset.meta = {
   Name = "Neptune Transforms",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Neptune Barycenter transform ]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"NeptuneBarycenter"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/neptune/triton.asset b/data/assets/scene/solarsystem/planets/neptune/triton.asset
index cbeba17776b31ae474604e27a7f8264845c590e6..9554dab706dd40b6c50610d32d9ae9c6545e7cc8 100644
--- a/data/assets/scene/solarsystem/planets/neptune/triton.asset
+++ b/data/assets/scene/solarsystem/planets/neptune/triton.asset
@@ -31,11 +31,10 @@ assetHelper.registerSceneGraphNodesAndExport(
 
 asset.meta = {
   Name = "Triton",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Procedural Globe asset containing Neptune's moon: Triton.
     A blank globe and SPICE trail are generated for the moon.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Triton"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/saturn/dione/layers/colorlayers/dione_texture.asset b/data/assets/scene/solarsystem/planets/saturn/dione/layers/colorlayers/dione_texture.asset
index 891a48d36cfb98c26ffaf9ba93ec5871cf8a6029..459648fd37a4f2fecf480c1ec672db5cca5c52b7 100644
--- a/data/assets/scene/solarsystem/planets/saturn/dione/layers/colorlayers/dione_texture.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/dione/layers/colorlayers/dione_texture.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../dione").Dione.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -12,11 +13,7 @@ local layer = {
   FilePath = texturesPath .. "dione.jpg",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
diff --git a/data/assets/scene/solarsystem/planets/saturn/enceladus/enceladus.asset b/data/assets/scene/solarsystem/planets/saturn/enceladus/enceladus.asset
index 48fbce8a6d16deac1cc11a345b7255e1eac660d5..560d6d0e1ef4a722aa4fc169e7e7196c03228de2 100644
--- a/data/assets/scene/solarsystem/planets/saturn/enceladus/enceladus.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/enceladus/enceladus.asset
@@ -57,10 +57,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Enceladus })
 
 asset.meta = {
     Name = "Enceladus",
-    Version = "1.0",
+    Version = "1.1",
     Description = [[ Enceladus globe with labels and map layers]],
     Author = "OpenSpace Team",
     URL = "http://openspaceproject.com",
-    License = "MIT license",
-    Identifiers = {"Enceladus"}
+    License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/saturn/enceladus/layers/colorlayers/enceladus_texture.asset b/data/assets/scene/solarsystem/planets/saturn/enceladus/layers/colorlayers/enceladus_texture.asset
index b28f512525e5f4d1125e5dd82adc150d8e6ad9e0..b3c5f6e5997db8ba849ccf2b757be15c4bc59660 100644
--- a/data/assets/scene/solarsystem/planets/saturn/enceladus/layers/colorlayers/enceladus_texture.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/enceladus/layers/colorlayers/enceladus_texture.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../enceladus").Enceladus.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -12,11 +13,7 @@ local layer = {
   FilePath = texturesPath .. "enceladus.jpg",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
diff --git a/data/assets/scene/solarsystem/planets/saturn/enceladus/layers/colorlayers/global_mosaic_100m_hpf.asset b/data/assets/scene/solarsystem/planets/saturn/enceladus/layers/colorlayers/global_mosaic_100m_hpf.asset
index 59bdc0c7760623b1fffacb3453afe9eea66effc5..608becb171e09855c97981ecb4a81458fa039616 100644
--- a/data/assets/scene/solarsystem/planets/saturn/enceladus/layers/colorlayers/global_mosaic_100m_hpf.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/enceladus/layers/colorlayers/global_mosaic_100m_hpf.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../enceladus").Enceladus.Identifier
 
 local layer = {
@@ -12,11 +13,7 @@ local layer = {
     than 120 degrees. (Description from URL).]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
@@ -27,6 +24,5 @@ asset.meta = {
   Author = "USGS",
   URL = "https://astrogeology.usgs.gov/search/map/Enceladus/Cassini/" ..
     "Enceladus_Cassini_ISS_Global_Mosaic_100m_HPF",
-  License = "NASA/PDS",
-  Identifiers = {"Global_Mosaic_100m_HPF"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/saturn/enceladus/trail.asset b/data/assets/scene/solarsystem/planets/saturn/enceladus/trail.asset
index eb70ea00eaceeab870aa8f73c563b5a3c80cf01d..7c6314a470e8079263c3fe8e2e3eafb2f4e7de01 100644
--- a/data/assets/scene/solarsystem/planets/saturn/enceladus/trail.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/enceladus/trail.asset
@@ -32,10 +32,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { EnceladusTrail })
 
 asset.meta = {
   Name = "Enceladus Trail",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Trail for Enceladus. Data from NASA Spice (see base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"EnceladusTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/saturn/hyperion/hyperion.asset b/data/assets/scene/solarsystem/planets/saturn/hyperion/hyperion.asset
index 7a1d445e7e54c822cf0cb07fb7f481c526acfed9..ec96ea15efe3b63696fb01a4a5b6b1c0c37912a9 100644
--- a/data/assets/scene/solarsystem/planets/saturn/hyperion/hyperion.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/hyperion/hyperion.asset
@@ -56,10 +56,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Hyperion })
 
 asset.meta = {
   Name = "Hyperion",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Hyperion globe with labels]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Hyperion"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/saturn/hyperion/trail.asset b/data/assets/scene/solarsystem/planets/saturn/hyperion/trail.asset
index f6e01eeba9ebc7ec10f03a01857e037af2767430..21afd8b8c45184a6bc9238d41c78d6dd9d63f94b 100644
--- a/data/assets/scene/solarsystem/planets/saturn/hyperion/trail.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/hyperion/trail.asset
@@ -31,11 +31,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { HyperionTrail })
 
 asset.meta = {
   Name = "Hyperion Trail",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Trail of Saturn's moon Hyperion as observed by Saturn. Data from NASA
     Spice (see base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"HyperionTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/saturn/iapetus/layers/colorlayers/iapetus_texture.asset b/data/assets/scene/solarsystem/planets/saturn/iapetus/layers/colorlayers/iapetus_texture.asset
index d00aef94cd513ac47d59b84efed730b7d2949fd4..5ed38f75c42a760cccca56d254bca7f39132ab9b 100644
--- a/data/assets/scene/solarsystem/planets/saturn/iapetus/layers/colorlayers/iapetus_texture.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/iapetus/layers/colorlayers/iapetus_texture.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../iapetus").Iapetus.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -12,11 +13,7 @@ local layer = {
   FilePath = texturesPath .. "iapetus.jpg",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
diff --git a/data/assets/scene/solarsystem/planets/saturn/iapetus/trail.asset b/data/assets/scene/solarsystem/planets/saturn/iapetus/trail.asset
index 011dbcd41f26e56803b931b5dde21ef9d27e5206..15ef5d0b40afa0e353315addcb17d94865c5cf3f 100644
--- a/data/assets/scene/solarsystem/planets/saturn/iapetus/trail.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/iapetus/trail.asset
@@ -32,10 +32,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { IapetusTrail })
 
 asset.meta = {
   Name = "Iapetus Trail",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Main trail for Iapetus. Data from NASA Spice (see base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"IapetusTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/saturn/layers/colorlayers/saturn_texture.asset b/data/assets/scene/solarsystem/planets/saturn/layers/colorlayers/saturn_texture.asset
index 11c2f39bf9f725fb670aee5fe6dcfeb1cf3355e5..40e4b12dd4bfce29b1c23e3a7dcd74fe0e163683 100644
--- a/data/assets/scene/solarsystem/planets/saturn/layers/colorlayers/saturn_texture.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/layers/colorlayers/saturn_texture.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../saturn").Saturn.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -12,11 +13,7 @@ local layer = {
   FilePath = texturesPath .. "saturn.jpg",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
diff --git a/data/assets/scene/solarsystem/planets/saturn/mimas/layers/colorlayers/mimas_texture.asset b/data/assets/scene/solarsystem/planets/saturn/mimas/layers/colorlayers/mimas_texture.asset
index bef66be274432af02dadc7661cce54e3cac0f9ab..05f561f73528ef765acc94df27c490ac4b0b941c 100644
--- a/data/assets/scene/solarsystem/planets/saturn/mimas/layers/colorlayers/mimas_texture.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/mimas/layers/colorlayers/mimas_texture.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../mimas").Mimas.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -12,11 +13,7 @@ local layer = {
   FilePath = texturesPath .. "mimas.jpg",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
diff --git a/data/assets/scene/solarsystem/planets/saturn/mimas/mimas.asset b/data/assets/scene/solarsystem/planets/saturn/mimas/mimas.asset
index 4a4948f5557139626f73831b0dd3f85a8db02d14..18f4919b9cc67267567ab058a8763f1d72335aac 100644
--- a/data/assets/scene/solarsystem/planets/saturn/mimas/mimas.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/mimas/mimas.asset
@@ -57,10 +57,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Mimas })
 
 asset.meta = {
   Name = "Mimas",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Mimas globe with labels.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Mimas"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/saturn/mimas/trail.asset b/data/assets/scene/solarsystem/planets/saturn/mimas/trail.asset
index 29da5054d74f7819881ebfeb967bb0ff6f409695..e5ea363a8709ee8d31343e6f6e70d9f74f62a757 100644
--- a/data/assets/scene/solarsystem/planets/saturn/mimas/trail.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/mimas/trail.asset
@@ -32,10 +32,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { MimasTrail })
 
 asset.meta = {
   Name = "Mimas Trail",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Main trail for Mimas. Data from NASA Spice (see base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"MimasTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/saturn/rhea/layers/colorlayers/rhea_texture.asset b/data/assets/scene/solarsystem/planets/saturn/rhea/layers/colorlayers/rhea_texture.asset
index a75b2eeee6b5c6c2bc64b798f7abfb1327204bf0..eb0ae0c6b5c339e767a0a3c68b6cf4e04e3d6f98 100644
--- a/data/assets/scene/solarsystem/planets/saturn/rhea/layers/colorlayers/rhea_texture.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/rhea/layers/colorlayers/rhea_texture.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../rhea").Rhea.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -12,11 +13,7 @@ local layer = {
   FilePath = texturesPath .. "rhea.jpg",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
diff --git a/data/assets/scene/solarsystem/planets/saturn/saturn.asset b/data/assets/scene/solarsystem/planets/saturn/saturn.asset
index 666a9a161ee0c157c3010625a9bde52a5a2434b8..ea99d2503af8a9a352a46d2c1eb95880c74891f2 100644
--- a/data/assets/scene/solarsystem/planets/saturn/saturn.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/saturn.asset
@@ -86,10 +86,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Saturn, SaturnLabel })
 
 asset.meta = {
   Name = "Saturn",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Saturn globe, and main planet label.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Saturn", "SaturnLabel"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/saturn/tethys/layers/colorlayers/tethys_texture.asset b/data/assets/scene/solarsystem/planets/saturn/tethys/layers/colorlayers/tethys_texture.asset
index c7fbe1969c114f7ea148cf247c8c4de9f2d9acbf..069d872c010110b4150f2535dabb61f98385d000 100644
--- a/data/assets/scene/solarsystem/planets/saturn/tethys/layers/colorlayers/tethys_texture.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/tethys/layers/colorlayers/tethys_texture.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../tethys").Tethys.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -12,11 +13,7 @@ local layer = {
   FilePath = texturesPath .. "tethys.jpg",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
diff --git a/data/assets/scene/solarsystem/planets/saturn/titan/atmosphere.asset b/data/assets/scene/solarsystem/planets/saturn/titan/atmosphere.asset
index 1c186daa01338db86ec499767c9b84df76e5afe3..64839e715ca4e1ace36463c158d7ef05daa74312 100644
--- a/data/assets/scene/solarsystem/planets/saturn/titan/atmosphere.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/titan/atmosphere.asset
@@ -49,10 +49,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Atmosphere })
 
 asset.meta = {
   Name = "Titan Atmosphere",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableAtmosphere for Titan.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = { "TitanAtmosphere" }
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/saturn/titan/layers/colorlayers/cassini_iss_global_mosaic_4km_local.asset b/data/assets/scene/solarsystem/planets/saturn/titan/layers/colorlayers/cassini_iss_global_mosaic_4km_local.asset
index 91e0c5a587fb8874e7d9fb3cc1d03e2842b7f362..06455475ff0912e899f2ff5c99f9c915146cfb14 100644
--- a/data/assets/scene/solarsystem/planets/saturn/titan/layers/colorlayers/cassini_iss_global_mosaic_4km_local.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/titan/layers/colorlayers/cassini_iss_global_mosaic_4km_local.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../titan").Titan.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -21,20 +22,15 @@ local layer = {
     is created at some point in the future. (Description from URL)]]
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "Cassini ISS Global Mosaic",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Cassini global image layer for Titan]],
   Author = "USGS",
   URL = "https://astrogeology.usgs.gov/search/map/Titan/Cassini/Global-Mosaic/" ..
     "Titan_ISS_P19658_Mosaic_Global_4km",
-  License = "NASA/PDS",
-  Identifiers = {"Cassini_ISS_Global_Mosaic_4km_Local"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/saturn/titan/layers/colorlayers/cassini_iss_global_mosaic_4km_sweden.asset b/data/assets/scene/solarsystem/planets/saturn/titan/layers/colorlayers/cassini_iss_global_mosaic_4km_sweden.asset
index b04e2c974a82d608c78710636d0d7c45901c6cb9..1637278b984d60e1c73054951be89686911c328b 100644
--- a/data/assets/scene/solarsystem/planets/saturn/titan/layers/colorlayers/cassini_iss_global_mosaic_4km_sweden.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/titan/layers/colorlayers/cassini_iss_global_mosaic_4km_sweden.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../titan").Titan.Identifier
 
 local layer = {
@@ -14,21 +15,16 @@ local layer = {
     is created at some point in the future. (Description from URL)]],
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
   Name = "Cassini ISS Global Mosaic",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Cassini global image layer for Titan. This layer is hosted on the
     OpenSpace server in Sweden]],
   Author = "USGS",
   URL = "https://astrogeology.usgs.gov/search/map/Titan/Cassini/Global-Mosaic/" ..
     "Titan_ISS_P19658_Mosaic_Global_4km",
-  License = "NASA/PDS",
-  Identifiers = {"Cassini_ISS_Global_Mosaic_4km_LiU"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/saturn/titan/titan.asset b/data/assets/scene/solarsystem/planets/saturn/titan/titan.asset
index b407affe837e14c76e74bca18411ee015c983720..c885d1752188ab1ac6244859eb63cf49915fd0c6 100644
--- a/data/assets/scene/solarsystem/planets/saturn/titan/titan.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/titan/titan.asset
@@ -47,7 +47,7 @@ local Titan = {
   Tag = { "moon_solarSystem", "moon_giants", "moon_saturn" },
   GUI = {
     Name = "Titan",
-    Path = "/Solar System/Planets/Saturn/Moons",
+    Path = "/Solar System/Planets/Saturn/Moons/Titan",
     Description = [[Largest moon of Saturn.]]
   }
 }
@@ -57,10 +57,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Titan })
 
 asset.meta = {
   Name = "Titan",
-  Version = "1.0",
+  Version = "1.2",
   Description = [[ Titan globe with labels.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Titan"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/saturn/titan/trail.asset b/data/assets/scene/solarsystem/planets/saturn/titan/trail.asset
index 7b4c0177b8b6ff08c875cb47ffcd8062e2642546..3213b4c1ce8d945774e38477a7141e609a307b46 100644
--- a/data/assets/scene/solarsystem/planets/saturn/titan/trail.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/titan/trail.asset
@@ -22,7 +22,7 @@ local TitanTrail = {
   Tag = { "moonTrail_solarSystem", "moonTrail_giants", "moonTrail_saturn" },
   GUI = {
     Name = "Titan Trail",
-    Path = "/Solar System/Planets/Saturn/Moons",
+    Path = "/Solar System/Planets/Saturn/Moons/Titan",
     Description = [[ Trail of Saturn's moon Titan as observed by Saturn.]],
   }
 }
@@ -32,10 +32,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { TitanTrail })
 
 asset.meta = {
   Name = "Titan Trail",
-  Version = "1.0",
+  Version = "1.2",
   Description = [[ Main trail for Titan. Data from NASA Spice (see base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"TitanTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/saturn/trail.asset b/data/assets/scene/solarsystem/planets/saturn/trail.asset
index 5dcb7522844772009fcd2700f8f364ed2ecda5c8..f94030d01b4e56b1df300dc2c8dcc2c8eca743da 100644
--- a/data/assets/scene/solarsystem/planets/saturn/trail.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/trail.asset
@@ -30,10 +30,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { SaturnTrail })
 
 asset.meta = {
   Name = "Saturn Trail",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Main trail of Saturn. Data from NASA Spice (see base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"SaturnTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/saturn/trail_earth.asset b/data/assets/scene/solarsystem/planets/saturn/trail_earth.asset
index def9f62137152c1d5edd4c73cbb1d6c340201a09..bab0f19dfd788bbdbf0b5c0dca6b572dbdc71aad 100644
--- a/data/assets/scene/solarsystem/planets/saturn/trail_earth.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/trail_earth.asset
@@ -31,13 +31,12 @@ local SaturnTrailEarth = {
 
 asset.meta = {
   Name = "Saturn Trail from Earth",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Alternate trail of Saturn, as observed by the Earth rather then the
     Sun. Data from NASA SPICE (see base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"SaturnTrailEarth"}
+  License = "MIT license"
 }
 
 
diff --git a/data/assets/scene/solarsystem/planets/saturn/transforms.asset b/data/assets/scene/solarsystem/planets/saturn/transforms.asset
index 4c1a939748af4e5909b2b2163cd26f125fc8560a..61c299bb64fdb9d3a3e3af2c838dc840d8c11b79 100644
--- a/data/assets/scene/solarsystem/planets/saturn/transforms.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/transforms.asset
@@ -25,10 +25,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { SaturnBarycenter })
 
 asset.meta = {
   Name = "Saturn Transforms",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Saturn Barycenter transform]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"SaturnBarycenter"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/uranus/layers/colorlayers/uranus_texture.asset b/data/assets/scene/solarsystem/planets/uranus/layers/colorlayers/uranus_texture.asset
index 7efd9eb3cd8599626ffa3992fe4be3010c35b549..c36af0f9373e4c05555d7bad8668e2dd845427fb 100644
--- a/data/assets/scene/solarsystem/planets/uranus/layers/colorlayers/uranus_texture.asset
+++ b/data/assets/scene/solarsystem/planets/uranus/layers/colorlayers/uranus_texture.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../uranus").Uranus.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -12,11 +13,7 @@ local layer = {
   FilePath = texturesPath .. "uranus.jpg",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
diff --git a/data/assets/scene/solarsystem/planets/uranus/trail.asset b/data/assets/scene/solarsystem/planets/uranus/trail.asset
index 6c21fde33f585f267593a8b183afe889470a17e5..442b92134c644b9b3323c77a78a41d219c2a6627 100644
--- a/data/assets/scene/solarsystem/planets/uranus/trail.asset
+++ b/data/assets/scene/solarsystem/planets/uranus/trail.asset
@@ -30,10 +30,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { UranusTrail })
 
 asset.meta = {
   Name = "Uranus Trail",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Main trail of Uranus. Data from NASA Spice (see base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"UranusTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/uranus/trail_earth.asset b/data/assets/scene/solarsystem/planets/uranus/trail_earth.asset
index 60eed096e0d323c63818c5a3cb08480abc3f8c28..f80b061daccafd67c28694081e7fe63c604e054e 100644
--- a/data/assets/scene/solarsystem/planets/uranus/trail_earth.asset
+++ b/data/assets/scene/solarsystem/planets/uranus/trail_earth.asset
@@ -34,11 +34,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { UranusTrailEarth })
 
 asset.meta = {
   Name = "Uranus Trail from Earth",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Alternate trail of Uranus, as observed by the Earth rather then the
     Sun. Data from NASA SPICE (see base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"UranusTrailEarth"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/uranus/transforms.asset b/data/assets/scene/solarsystem/planets/uranus/transforms.asset
index 0cdd92f6421804c74245045f26bf0df760ca1c8c..4ac93c9378a0a93e3e5062298d305e4bee1fa2b1 100644
--- a/data/assets/scene/solarsystem/planets/uranus/transforms.asset
+++ b/data/assets/scene/solarsystem/planets/uranus/transforms.asset
@@ -27,10 +27,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { UranusBarycenter })
 
 asset.meta = {
   Name = "Uranus Transforms",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Uranus Barycenter transform]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"UranusBarycenter"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/uranus/uranus.asset b/data/assets/scene/solarsystem/planets/uranus/uranus.asset
index 6e065fd4e22693985b8e7473aee65535c06fc555..59b9da50799fc7922fad24e244c8b765d1476a98 100644
--- a/data/assets/scene/solarsystem/planets/uranus/uranus.asset
+++ b/data/assets/scene/solarsystem/planets/uranus/uranus.asset
@@ -58,10 +58,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Uranus, UranusLabel })
 
 asset.meta = {
   Name = "Uranus",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Uranus globe, and main planet label.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Uranus" , "UranusLabel"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/venus/atmosphere.asset b/data/assets/scene/solarsystem/planets/venus/atmosphere.asset
index 4e6f7515fe907da6f8c1df2ed155d528d9cc0036..044ba1eed9ec115f525c38dc58c52cf2d688ab3a 100644
--- a/data/assets/scene/solarsystem/planets/venus/atmosphere.asset
+++ b/data/assets/scene/solarsystem/planets/venus/atmosphere.asset
@@ -57,10 +57,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Atmosphere })
 
 asset.meta = {
   Name = "Venus Atmosphere",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Atmosphere of Venus.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"VenusAtmosphere"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/venus/default_layers.asset b/data/assets/scene/solarsystem/planets/venus/default_layers.asset
index cd7a8e653b7e2bf50a2fa800772630f879c67b68..26f07e266c73d549ddf63272bfa6625bf5b4938c 100644
--- a/data/assets/scene/solarsystem/planets/venus/default_layers.asset
+++ b/data/assets/scene/solarsystem/planets/venus/default_layers.asset
@@ -15,7 +15,7 @@ end)
 
 asset.meta = {
   Name = "Default Venus Layers",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Default Venus layers are: Venus Magellan Mosaic and Venus Magellan
     DEM]],
   Author = "OpenSpace Team",
diff --git a/data/assets/scene/solarsystem/planets/venus/layers/colorlayers/magellan_mosaic_utah.asset b/data/assets/scene/solarsystem/planets/venus/layers/colorlayers/magellan_mosaic_utah.asset
index df2ad891622d1b708b89f891cc4dc357fdd60daf..96baf091efd94f7fea60205990bfb352faf2586b 100644
--- a/data/assets/scene/solarsystem/planets/venus/layers/colorlayers/magellan_mosaic_utah.asset
+++ b/data/assets/scene/solarsystem/planets/venus/layers/colorlayers/magellan_mosaic_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require('util/asset_helper')
 local globeIdentifier = asset.require("../../venus").Venus.Identifier
 
 local layer = {
@@ -26,11 +27,7 @@ local layer = {
   }
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
@@ -41,6 +38,5 @@ asset.meta = {
   Author = "USGS",
   URL = "https://astrogeology.usgs.gov/search/map/Venus/Magellan/" ..
     "Venus_Magellan_LeftLook_mosaic_global_75m",
-  License = "NASA/PDS",
-  Identifiers = {"Magellan_Mosaic_Utah"}
+  License = "NASA/PDS"
 }
diff --git a/data/assets/scene/solarsystem/planets/venus/layers/colorlayers/venus_texture.asset b/data/assets/scene/solarsystem/planets/venus/layers/colorlayers/venus_texture.asset
index 8aee32e12e3cfbe3c37e0d445ba80cb1489e9094..c3548e169e485623ea08b04c1cb57fcc43e01d17 100644
--- a/data/assets/scene/solarsystem/planets/venus/layers/colorlayers/venus_texture.asset
+++ b/data/assets/scene/solarsystem/planets/venus/layers/colorlayers/venus_texture.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../venus").Venus.Identifier
 
 local texturesPath = asset.syncedResource({
@@ -16,8 +17,14 @@ local layer = {
   }
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
-asset.export("layer", layer)
+
+asset.meta = {
+  Name = "Venus Texture",
+  Version = "1.0",
+  Description = [[ This asset supplies a default texture for Venus.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/planets/venus/layers/heightlayers/magellan_utah.asset b/data/assets/scene/solarsystem/planets/venus/layers/heightlayers/magellan_utah.asset
index c1475af736a150c1ece4cabeba1da0ffd5af9b0f..4bfb93d6062def767c10eedf67435d39b793f567 100644
--- a/data/assets/scene/solarsystem/planets/venus/layers/heightlayers/magellan_utah.asset
+++ b/data/assets/scene/solarsystem/planets/venus/layers/heightlayers/magellan_utah.asset
@@ -1,3 +1,4 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../venus").Venus.Identifier
 
 local layer = {
@@ -21,11 +22,7 @@ local layer = {
   }
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "HeightLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "HeightLayers")
 
 
 asset.meta = {
diff --git a/data/assets/scene/solarsystem/planets/venus/trail.asset b/data/assets/scene/solarsystem/planets/venus/trail.asset
index db8a8f09b59b5e5e83676fd19ff0750660e7f90c..7e68e7c109f569c7de6540a44f582574caf7a2d1 100644
--- a/data/assets/scene/solarsystem/planets/venus/trail.asset
+++ b/data/assets/scene/solarsystem/planets/venus/trail.asset
@@ -32,11 +32,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { VenusTrail })
 
 asset.meta = {
   Name = "Venus Trail",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Trail of Venus as observed by the Sun. Data from NASA Spice (see
     base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"VenusTrail"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/venus/trail_earth.asset b/data/assets/scene/solarsystem/planets/venus/trail_earth.asset
index 62133e5af9e25ea064a32269729047ae2f30fab1..4b39aca93b39044020201aeb24a7b50bee4331ed 100644
--- a/data/assets/scene/solarsystem/planets/venus/trail_earth.asset
+++ b/data/assets/scene/solarsystem/planets/venus/trail_earth.asset
@@ -33,11 +33,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { VenusTrailEarth })
 
 asset.meta = {
   Name = "Venus Trail from Earth",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Trail of Venus as observed by the Earth. Data from NASA
     SPICE (see base spice asset)]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"VenusTrailEarth"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/venus/transforms.asset b/data/assets/scene/solarsystem/planets/venus/transforms.asset
index 9620f615e0efa7c9cb2ea4670dbc6385c87b69b9..06b8411be8e4e70d8e27aa3745aef44b511bf43e 100644
--- a/data/assets/scene/solarsystem/planets/venus/transforms.asset
+++ b/data/assets/scene/solarsystem/planets/venus/transforms.asset
@@ -25,10 +25,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { VenusBarycenter })
 
 asset.meta = {
   Name = "Venus Transforms",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Spice translation for Venus Barycenter ]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"VenusBarycenter"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/planets/venus/venus.asset b/data/assets/scene/solarsystem/planets/venus/venus.asset
index 1a3acd055b6853d69637c1ee23445d29535f884d..065c55aa725abe81edba5eb5863c43539ee6739d 100644
--- a/data/assets/scene/solarsystem/planets/venus/venus.asset
+++ b/data/assets/scene/solarsystem/planets/venus/venus.asset
@@ -83,10 +83,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Venus, VenusLabel })
 
 asset.meta = {
     Name = "Venus",
-    Version = "1.0",
+    Version = "1.1",
     Description = [[ Venus globe with labels, and main planet label.]],
     Author = "OpenSpace Team",
     URL = "http://openspaceproject.com",
-    License = "MIT license",
-    Identifiers = {"Venus", "VenusLabel"}
+    License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/sssb/amor_asteroid.asset b/data/assets/scene/solarsystem/sssb/amor_asteroid.asset
index ff4e89334cd77ac5ad3408872160a65b46ee30ee..117cef10a78fa6798231c22cf7343a0af8b46093 100644
--- a/data/assets/scene/solarsystem/sssb/amor_asteroid.asset
+++ b/data/assets/scene/solarsystem/sssb/amor_asteroid.asset
@@ -17,13 +17,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Amor Asteroids",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableSmallBody asset with data from from JPL Horizons
     contiaining the Amor group.]],
   Author = "JPL Small-Body Database hosted by California Institute of Technology",
   URL = "https://ssd.jpl.nasa.gov/sbdb_query.cgi",
   License = [[JPL-authored documents are sponsored by NASA under Contract NAS7-030010.
     All documents available from this server may be protected under the U.S. and
-    Foreign Copyright Laws."]],
-  Identifiers = {"sssb_sssb_data_amor_asteroid"}
+    Foreign Copyright Laws."]]
 }
diff --git a/data/assets/scene/solarsystem/sssb/apollo_asteroid.asset b/data/assets/scene/solarsystem/sssb/apollo_asteroid.asset
index 667bfb0d30ca16b25df7abc15f4be9a9b31f6858..69f724f1e9ffd3586b6468188f01574033585c6b 100644
--- a/data/assets/scene/solarsystem/sssb/apollo_asteroid.asset
+++ b/data/assets/scene/solarsystem/sssb/apollo_asteroid.asset
@@ -17,13 +17,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Apollo Asteroids",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableSmallBody asset with data from from JPL Horizons
     contiaining the Apollo group.]],
   Author = "JPL Small-Body Database hosted by California Institute of Technology",
   URL = "https://ssd.jpl.nasa.gov/sbdb_query.cgi",
   License = [[JPL-authored documents are sponsored by NASA under Contract NAS7-030010.
     All documents available from this server may be protected under the U.S. and
-    Foreign Copyright Laws.]],
-  Identifiers = {"sssb_sssb_data_apollo_asteroid"}
+    Foreign Copyright Laws.]]
 }
diff --git a/data/assets/scene/solarsystem/sssb/astraea.asset b/data/assets/scene/solarsystem/sssb/astraea.asset
index 87ed46a1779db7eaf59ba1f053f21c08cc3b5745..5260ba97519632394193fb213684ed74f6fa2d32 100644
--- a/data/assets/scene/solarsystem/sssb/astraea.asset
+++ b/data/assets/scene/solarsystem/sssb/astraea.asset
@@ -49,7 +49,7 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { AstraeaPosition, AstraeaTr
 
 asset.meta = {
   Name = "5 Astraea",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ This asset contains the trail
     and position of 5 Astraea from 2014 JAN 01 00:00:00
     to 2023 JAN 01 00:00:00. Data from JPL Horizons']],
diff --git a/data/assets/scene/solarsystem/sssb/aten_asteroid.asset b/data/assets/scene/solarsystem/sssb/aten_asteroid.asset
index 63c1f2dc2dcf5b58ed442b5bee061d4f452e6f95..f630f9db89b0cc024a45dfd37e71c904b71cbd13 100644
--- a/data/assets/scene/solarsystem/sssb/aten_asteroid.asset
+++ b/data/assets/scene/solarsystem/sssb/aten_asteroid.asset
@@ -18,13 +18,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Aten Asteroids",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableSmallBody asset with data from from JPL Horizons
     contiaining the Aten group.]],
   Author = "JPL Small-Body Database hosted by California Institute of Technology",
   URL = "https://ssd.jpl.nasa.gov/sbdb_query.cgi",
   License = [[JPL-authored documents are sponsored by NASA under Contract NAS7-030010.
     All documents available from this server may be protected under the U.S. and
-    Foreign Copyright Laws.]],
-  Identifiers = {"sssb_sssb_data_aten_asteroid"}
+    Foreign Copyright Laws.]]
 }
diff --git a/data/assets/scene/solarsystem/sssb/atira_asteroid.asset b/data/assets/scene/solarsystem/sssb/atira_asteroid.asset
index b16b13266acb6de8d56bd7b7069ff1740d0ed8e3..4bd96d7920abc13d986a04674db34648c5d35d6e 100644
--- a/data/assets/scene/solarsystem/sssb/atira_asteroid.asset
+++ b/data/assets/scene/solarsystem/sssb/atira_asteroid.asset
@@ -18,13 +18,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Atira Asteroids",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableSmallBody asset with data from from JPL Horizons
     contiaining the Atira group.]],
   Author = "JPL Small-Body Database hosted by California Institute of Technology",
   URL = "https://ssd.jpl.nasa.gov/sbdb_query.cgi",
   License = [[JPL-authored documents are sponsored by NASA under Contract NAS7-030010.
     All documents available from this server may be protected under the U.S. and
-    Foreign Copyright Laws."]],
-  Identifiers = {"sssb_sssb_data_atira_asteroid"}
+    Foreign Copyright Laws."]]
 }
diff --git a/data/assets/scene/solarsystem/sssb/c2019y4atlas.asset b/data/assets/scene/solarsystem/sssb/c2019y4atlas.asset
index 49c06b661f614d298a65d31417149993b7ee08c7..dd7eac1d2982a01d17107b91a3aa4c3f99d7a9b4 100644
--- a/data/assets/scene/solarsystem/sssb/c2019y4atlas.asset
+++ b/data/assets/scene/solarsystem/sssb/c2019y4atlas.asset
@@ -53,11 +53,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, {
 
 asset.meta = {
   Name = "C/2019 Y4 Atlas",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ This asset contains the trail  and position of C/2019 Y4 Atlas from
     1950 JAN 01 00:00:00 to 2100 JAN 01 00:00:00. Data from JPL Horizons]],
   Author = "OpenSpace Team",
   URL = "https://ssd.jpl.nasa.gov/horizons.cgi",
-  License = "NASA",
-  Identifiers = {"C2019Y4AtlasPosition", "C2019Y4AtlasTrail"}
+  License = "NASA"
 }
diff --git a/data/assets/scene/solarsystem/sssb/centaur_asteroid.asset b/data/assets/scene/solarsystem/sssb/centaur_asteroid.asset
index 1fd58d30296279877a213f9092fd4ccf938cbcef..6a0a69d7f9ab6b4a6a5ee5f545aef988e2ee28ef 100644
--- a/data/assets/scene/solarsystem/sssb/centaur_asteroid.asset
+++ b/data/assets/scene/solarsystem/sssb/centaur_asteroid.asset
@@ -18,13 +18,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Centaur Asteroids",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableSmallBody asset with data from from JPL Horizons
     contiaining the Centaur group.]],
   Author = "JPL Small-Body Database hosted by California Institute of Technology",
   URL = "https://ssd.jpl.nasa.gov/sbdb_query.cgi",
   License = [[JPL-authored documents are sponsored by NASA under Contract NAS7-030010.
     All documents available from this server may be protected under the U.S. and 
-    Foreign Copyright Laws.]],
-  Identifiers = {"sssb_sssb_data_centaur_asteroid"}
+    Foreign Copyright Laws.]]
 }
diff --git a/data/assets/scene/solarsystem/sssb/chiron-type_comet.asset b/data/assets/scene/solarsystem/sssb/chiron-type_comet.asset
index c5fa1d6cd6d9acd5afbf8b6efff4b3fe538043b7..a4d21d94e6f0cd96a599af24a531735e0fdc2b68 100644
--- a/data/assets/scene/solarsystem/sssb/chiron-type_comet.asset
+++ b/data/assets/scene/solarsystem/sssb/chiron-type_comet.asset
@@ -18,13 +18,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Chiron-Type Comets",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableSmallBody asset with data from from JPL Horizons
     contiaining the Chiron-Type group.]],
   Author = "JPL Small-Body Database hosted by California Institute of Technology",
   URL = "https://ssd.jpl.nasa.gov/sbdb_query.cgi",
   License = [[JPL-authored documents are sponsored by NASA under Contract NAS7-030010.
     All documents available from this server may be protected under the U.S. and
-    Foreign Copyright Laws.]],
-  Identifiers = {"sssb_sssb_data_chiron-type_comet"}
+    Foreign Copyright Laws.]]
 }
diff --git a/data/assets/scene/solarsystem/sssb/encke-type_comet.asset b/data/assets/scene/solarsystem/sssb/encke-type_comet.asset
index 2dfea14d392dfd3d66db2f8d1193b5d7d875b01c..c630aabe45cd0e238aff0a2f790635bbf75b481c 100644
--- a/data/assets/scene/solarsystem/sssb/encke-type_comet.asset
+++ b/data/assets/scene/solarsystem/sssb/encke-type_comet.asset
@@ -18,13 +18,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Encke-Type Comets",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableSmallBody asset with data from from JPL Horizons
     contiaining the Encke-Type group.]],
   Author = "JPL Small-Body Database hosted by California Institute of Technology",
   URL = "https://ssd.jpl.nasa.gov/sbdb_query.cgi",
   License = [[JPL-authored documents are sponsored by NASA under Contract NAS7-030010.
     All documents available from this server may be protected under the U.S. and 
-    Foreign Copyright Laws.]],
-  Identifiers = {"sssb_sssb_data_encke-type_comet"}
+    Foreign Copyright Laws.]]
 }
diff --git a/data/assets/scene/solarsystem/sssb/halley-type_comet.asset b/data/assets/scene/solarsystem/sssb/halley-type_comet.asset
index bf3cd4537f58548c390987ec47166805a962d7ef..30280e780de0f2a5505f329f154e4f13d604c5a6 100644
--- a/data/assets/scene/solarsystem/sssb/halley-type_comet.asset
+++ b/data/assets/scene/solarsystem/sssb/halley-type_comet.asset
@@ -17,13 +17,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Halley-Type Comets",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableSmallBody asset with data from from JPL Horizons
     contiaining the Halley-Type group.]],
   Author = "JPL Small-Body Database hosted by California Institute of Technology",
   URL = "https://ssd.jpl.nasa.gov/sbdb_query.cgi",
   License = [[JPL-authored documents are sponsored by NASA under Contract NAS7-030010.
     All documents available from this server may be protected under the U.S. and
-    Foreign Copyright Laws.]],
-  Identifiers = {"sssb_sssb_data_halley-type_comet"}
+    Foreign Copyright Laws.]]
 }
diff --git a/data/assets/scene/solarsystem/sssb/inner_main_belt_asteroid.asset b/data/assets/scene/solarsystem/sssb/inner_main_belt_asteroid.asset
index d07fa4ab13c347f6848c6f28bff892a8ce9558d0..e0ee99a43bb7fd9501013f62ec5b745db5585142 100644
--- a/data/assets/scene/solarsystem/sssb/inner_main_belt_asteroid.asset
+++ b/data/assets/scene/solarsystem/sssb/inner_main_belt_asteroid.asset
@@ -18,13 +18,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Inner Main Asteroid Belt",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableSmallBody asset with data from from JPL Horizons
     contiaining the Inner Main Asteroid Belt group.]],
   Author = "JPL Small-Body Database hosted by California Institute of Technology",
   URL = "https://ssd.jpl.nasa.gov/sbdb_query.cgi",
   License = [[JPL-authored documents are sponsored by NASA under Contract NAS7-030010.
     All documents available from this server may be protected under the U.S. and
-    Foreign Copyright Laws.]],
-  Identifiers = {"sssb_sssb_data_inner_main_belt_asteroid"}
+    Foreign Copyright Laws.]]
 }
diff --git a/data/assets/scene/solarsystem/sssb/jupiter-family_comet.asset b/data/assets/scene/solarsystem/sssb/jupiter-family_comet.asset
index 82ed1f59017a8d48ee2978a9ec97acc3132e4556..e0f4ab7b6a7572e854a29c9da09a49f7b6174159 100644
--- a/data/assets/scene/solarsystem/sssb/jupiter-family_comet.asset
+++ b/data/assets/scene/solarsystem/sssb/jupiter-family_comet.asset
@@ -18,13 +18,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Jupiter Family Comets",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableSmallBody asset with data from from JPL Horizons
     contiaining Jupiter-family group.]],
   Author = "JPL Small-Body Database hosted by California Institute of Technology",
   URL = "https://ssd.jpl.nasa.gov/sbdb_query.cgi",
   License = [[JPL-authored documents are sponsored by NASA under Contract NAS7-030010.
     All documents available from this server may be protected under the U.S. and
-    Foreign Copyright Laws.]],
-  Identifiers = {"sssb_sssb_data_jupiter-family_comet"}
+    Foreign Copyright Laws.]]
 }
diff --git a/data/assets/scene/solarsystem/sssb/jupiter_trojan_asteroid.asset b/data/assets/scene/solarsystem/sssb/jupiter_trojan_asteroid.asset
index 6e3e344b6bd44ad3215cc12fb3de1423a4aa00ca..a07b9393fe1a9f83a2615a9ce899ca011a01e5c1 100644
--- a/data/assets/scene/solarsystem/sssb/jupiter_trojan_asteroid.asset
+++ b/data/assets/scene/solarsystem/sssb/jupiter_trojan_asteroid.asset
@@ -18,13 +18,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Jupiter Trojan Asteroids",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableSmallBody asset with data from from JPL Horizons
     contiaining Jupiter Trojan group.]],
   Author = "JPL Small-Body Database hosted by California Institute of Technology",
   URL = "https://ssd.jpl.nasa.gov/sbdb_query.cgi",
   License = [[JPL-authored documents are sponsored by NASA under Contract NAS7-030010.
     All documents available from this server may be protected under the U.S. and
-    Foreign Copyright Laws.]],
-  Identifiers = {"sssb_sssb_data_jupiter_trojan_asteroid"}
+    Foreign Copyright Laws.]]
 }
diff --git a/data/assets/scene/solarsystem/sssb/main_belt_asteroid.asset b/data/assets/scene/solarsystem/sssb/main_belt_asteroid.asset
index 77ca6d32beea2a4823a9f79f07b177e85ed04711..9da8b7231cbf444357afc2871739caddb84faae4 100644
--- a/data/assets/scene/solarsystem/sssb/main_belt_asteroid.asset
+++ b/data/assets/scene/solarsystem/sssb/main_belt_asteroid.asset
@@ -19,13 +19,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Main Asteroid Belt",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableSmallBody asset with data from from JPL Horizons
     contiaining Main Asteroid Belt group.]],
   Author = "JPL Small-Body Database hosted by California Institute of Technology",
   URL = "https://ssd.jpl.nasa.gov/sbdb_query.cgi",
   License = [[JPL-authored documents are sponsored by NASA under Contract NAS7-030010.
     All documents available from this server may be protected under the U.S. and
-    Foreign Copyright Laws.]],
-  Identifiers = {"sssb_sssb_data_main_belt_asteroid"}
+    Foreign Copyright Laws.]]
 }
diff --git a/data/assets/scene/solarsystem/sssb/mars-crossing_asteroid.asset b/data/assets/scene/solarsystem/sssb/mars-crossing_asteroid.asset
index 5be63fdf5233a206dd1813fe9a07f1cd27a7c30f..22ad96e6786f1dbf23ed4dec806ce3a1f1d15847 100644
--- a/data/assets/scene/solarsystem/sssb/mars-crossing_asteroid.asset
+++ b/data/assets/scene/solarsystem/sssb/mars-crossing_asteroid.asset
@@ -18,13 +18,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Mars-Crossing Asteroids",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableSmallBody asset with data from from JPL Horizons
     containing Mars-Crossing group.]],
   Author = "JPL Small-Body Database hosted by California Institute of Technology",
   URL = "https://ssd.jpl.nasa.gov/sbdb_query.cgi",
   License = [[JPL-authored documents are sponsored by NASA under Contract NAS7-030010.
     All documents available from this server may be protected under the U.S. and
-    Foreign Copyright Laws.]],
-  Identifiers = {"sssb_sssb_data_mars-crossing_asteroid"}
+    Foreign Copyright Laws.]]
 }
diff --git a/data/assets/scene/solarsystem/sssb/outer_main_belt_asteroid.asset b/data/assets/scene/solarsystem/sssb/outer_main_belt_asteroid.asset
index 0c3b16a9c4d77390ba7026e1a8ca46c987502006..d4f6171e14384301bb8751d5835ea29b9e92ec24 100644
--- a/data/assets/scene/solarsystem/sssb/outer_main_belt_asteroid.asset
+++ b/data/assets/scene/solarsystem/sssb/outer_main_belt_asteroid.asset
@@ -23,13 +23,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Outer Main Asteroid Belt",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableSmallBody asset with data from from JPL Horizons
     contiaining Outer Main Asteroid Belt group.]],
   Author = "JPL Small-Body Database hosted by California Institute of Technology",
   URL = "https://ssd.jpl.nasa.gov/sbdb_query.cgi",
   License = [[JPL-authored documents are sponsored by NASA under Contract NAS7-030010.
     All documents available from this server may be protected under the U.S.
-    and Foreign Copyright Laws.]],
-  Identifiers = {"sssb_sssb_data_outer_main_belt_asteroid"}
+    and Foreign Copyright Laws.]]
 }
diff --git a/data/assets/scene/solarsystem/sssb/pha.asset b/data/assets/scene/solarsystem/sssb/pha.asset
index e80295a4784c79e95ef6cc637c7a4ddc5dafe300..c6455f624bc056f131e214cfdca256c0ec4cfaa8 100644
--- a/data/assets/scene/solarsystem/sssb/pha.asset
+++ b/data/assets/scene/solarsystem/sssb/pha.asset
@@ -22,7 +22,7 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Potentially-Hazardous Asteroids",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableSmallBody asset with data from from JPL Horizons
     contiaining Potentially Hazardous group. ]],
   Author = [[JPL Small-Body Database hosted by California Institute of
@@ -30,6 +30,5 @@ asset.meta = {
   URL = "https://ssd.jpl.nasa.gov/sbdb_query.cgi",
   License = [[JPL-authored documents are sponsored by NASA under Contract
     NAS7-030010. All documents available from this server may be protected
-    under the U.S. and Foreign Copyright Laws.]],
-  Identifiers = {"sssb_sssb_data_pha"}
+    under the U.S. and Foreign Copyright Laws.]]
 }
diff --git a/data/assets/scene/solarsystem/sssb/sssb_shared.asset b/data/assets/scene/solarsystem/sssb/sssb_shared.asset
index c8770fb413e80b19c87f8be7e142ee0b4c2603dd..732b70c745bf760540d4e80addcd3a953042b7e4 100644
--- a/data/assets/scene/solarsystem/sssb/sssb_shared.asset
+++ b/data/assets/scene/solarsystem/sssb/sssb_shared.asset
@@ -38,3 +38,13 @@ end
 
 asset.export("downloadSssbDatabaseFile", downloadSssbDatabaseFile)
 asset.export("createSssbGroupObject", createSssbGroupObject)
+
+
+asset.meta = {
+  Name = "SSSB shared",
+  Version = "1.0",
+  Description = [[ UTILITY ASSET; This asset is for builders and coders.]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/sssb/swifttuttle.asset b/data/assets/scene/solarsystem/sssb/swifttuttle.asset
index bcad498a16c1f6a2fcf270419bc5edc4e672d164..faacae7ff5c7582f95b3bfbef3a7bd6476dc8cd8 100644
--- a/data/assets/scene/solarsystem/sssb/swifttuttle.asset
+++ b/data/assets/scene/solarsystem/sssb/swifttuttle.asset
@@ -50,13 +50,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, {
 
 asset.meta = {
   Name = "Swift Tuttle",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Position and Trail of Swift Tuttle from 1879 JUN 27
     to 1879 JUN 27. Data from JPL Horizons]],
   Author = "OpenSpace Team",
   URL = "https://ssd.jpl.nasa.gov/horizons.cgi",
   License = [[ JPL-authored documents are sponsored by NASA under Contract
     NAS7-030010. All documents available from this server may be protected
-    under the U.S. and Foreign Copyright Laws."]],
-  Identifiers = {"SwiftTuttlePosition", "SwiftTuttleTrail"}
+    under the U.S. and Foreign Copyright Laws."]]
 }
diff --git a/data/assets/scene/solarsystem/sssb/tesla_roadster.asset b/data/assets/scene/solarsystem/sssb/tesla_roadster.asset
index fc1e71735a631ac3e59fdd4d416abf77b8ffc296..b687e2e3701702e3ffc027e080520c053d86c032 100644
--- a/data/assets/scene/solarsystem/sssb/tesla_roadster.asset
+++ b/data/assets/scene/solarsystem/sssb/tesla_roadster.asset
@@ -51,13 +51,12 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { TeslaPosition, TeslaRoadst
 
 asset.meta = {
   Name = "Tesla Roadster",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Position and Trail of Tesla Roadster from 2018 FEB 8
     to 2022 FEB 7 00:00:00. Data from JPL Horizons.]],
   Author = "OpenSpace Team",
   URL = "https://ssd.jpl.nasa.gov/horizons.cgi",
   License = [[ JPL-authored documents are sponsored by NASA under Contract
     NAS7-030010. All documents available from this server may be protected
-    under the U.S. and Foreign Copyright Laws.]],
-  Identifiers = {"TeslaPosition", "TeslaRoadsterTrail"}
+    under the U.S. and Foreign Copyright Laws.]]
 }
diff --git a/data/assets/scene/solarsystem/sssb/transneptunian_object_asteroid.asset b/data/assets/scene/solarsystem/sssb/transneptunian_object_asteroid.asset
index 312c4ee15411670a813eb2cc8983632aeff0c07a..a6501a38048c79d8c1e60b18756eed04bc7b6694 100644
--- a/data/assets/scene/solarsystem/sssb/transneptunian_object_asteroid.asset
+++ b/data/assets/scene/solarsystem/sssb/transneptunian_object_asteroid.asset
@@ -24,7 +24,7 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { object })
 
 asset.meta = {
   Name = "Trans-Neptunian Asteroids",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ RenderableSmallBody asset with data from from JPL Horizons
     contiaining Trans-Neptunian group. ]],
   Author = [[JPL Small-Body Database hosted by California Institute of
@@ -32,6 +32,5 @@ asset.meta = {
   URL = "https://ssd.jpl.nasa.gov/sbdb_query.cgi",
   License = [[ JPL-authored documents are sponsored by NASA under Contract
     NAS7-030010. All documents available from this server may be protected
-    under the U.S. and Foreign Copyright Laws."]],
-  Identifiers = {"sssb_sssb_data_transneptunian_object_asteroid"}
+    under the U.S. and Foreign Copyright Laws."]]
 }
diff --git a/data/assets/scene/solarsystem/sun.asset b/data/assets/scene/solarsystem/sun.asset
index 0b1286c347af46102f6cc6e1511f6f07410638de..e7ace912168cf3b142f71d224d5c318fc226bfab 100644
--- a/data/assets/scene/solarsystem/sun.asset
+++ b/data/assets/scene/solarsystem/sun.asset
@@ -1,2 +1,13 @@
 asset.require("./sun/sun")
 asset.require("./sun/glare")
+
+
+asset.meta = {
+  Name = "Sun",
+  Version = "1.0",
+  Description = [[ Meta asset for the Sun in our solar system. Contains the Sun globe and
+  Sun glare texture]],
+  Author = "OpenSpace Team",
+  URL = "http://openspaceproject.com",
+  License = "MIT license"
+}
diff --git a/data/assets/scene/solarsystem/sun/EUV_layer.asset b/data/assets/scene/solarsystem/sun/EUV_layer.asset
index 7a7e617a41fca49d69b238f92bc575d3895eea97..85471845398c128aea661131ed08376c9eb4a8f2 100644
--- a/data/assets/scene/solarsystem/sun/EUV_layer.asset
+++ b/data/assets/scene/solarsystem/sun/EUV_layer.asset
@@ -47,11 +47,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { EUVLayer })
 
 asset.meta = {
   Name = "Predictive Science Inc. EUV texture sequence Bastille Days",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[Texture sequence of an extreme ultraviolet (EUV) simulation during, 
     the CME]],
   Author = "CCMC, OpenSpace team",
   URL = "https://dx.doi.org/10.3847/1538-4357/aab36d",
-  License = "CC-BY",
-  Identifier = {"EUV-Layer-bastille-day-2000"}
+  License = "CC-BY"
 }
diff --git a/data/assets/scene/solarsystem/sun/glare.asset b/data/assets/scene/solarsystem/sun/glare.asset
index ee3697c1aac5d7931fa74b9311d3f67a7deba0dc..b9b078b86ba19bd9b4b0ac9a257bc7e060b14adb 100644
--- a/data/assets/scene/solarsystem/sun/glare.asset
+++ b/data/assets/scene/solarsystem/sun/glare.asset
@@ -35,10 +35,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { SunGlare })
 
 asset.meta = {
   Name = "Sun Glare",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Image plane with sun glare effect.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"SunGlare"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/sun/habitablezone.asset b/data/assets/scene/solarsystem/sun/habitablezone.asset
index 6726c3667c624f4f1c0b74e9107013968704aa78..399e0da791fc3cdd1ff2b1fbfb5f89f257f24d76 100644
--- a/data/assets/scene/solarsystem/sun/habitablezone.asset
+++ b/data/assets/scene/solarsystem/sun/habitablezone.asset
@@ -25,11 +25,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { HabitableZone })
 
 asset.meta = {
   Name = "Sun Habitable Zone",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ The habitable zone around our sun, computed using formula and 
     coefficients by Kopparapu et al. (2015) https://arxiv.org/abs/1404.5292]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"SunHabitableZone"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/sun/layers/colorlayers/sun_texture.asset b/data/assets/scene/solarsystem/sun/layers/colorlayers/sun_texture.asset
index 2ce7e12487fb146bae60b4a2ddc4f87ea077b92f..2795fffe1769293b0eaf6e418502c518adb7757f 100644
--- a/data/assets/scene/solarsystem/sun/layers/colorlayers/sun_texture.asset
+++ b/data/assets/scene/solarsystem/sun/layers/colorlayers/sun_texture.asset
@@ -1,6 +1,6 @@
+local assetHelper = asset.require("util/asset_helper")
 local globeIdentifier = asset.require("../../sun").Sun.Identifier
 
-
 local texturesPath = asset.syncedResource({
   Type = "HttpSynchronization",
   Name = "Sun textures",
@@ -13,11 +13,7 @@ local layer = {
   FilePath = texturesPath .. "sun.jpg",
 }
 
-asset.onInitialize(function () 
-  openspace.globebrowsing.addLayer(globeIdentifier, "ColorLayers", layer)
-end)
-
-asset.export("layer", layer)
+assetHelper.registerLayerAndExport(asset, layer, globeIdentifier, "ColorLayers")
 
 
 asset.meta = {
diff --git a/data/assets/scene/solarsystem/sun/marker.asset b/data/assets/scene/solarsystem/sun/marker.asset
index 877fad9992801e5e4b867b0fbe93491ab46a281a..ebc87eba3b61ddf9055c6f319e31322e9eb4a394 100644
--- a/data/assets/scene/solarsystem/sun/marker.asset
+++ b/data/assets/scene/solarsystem/sun/marker.asset
@@ -34,10 +34,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { SunMarker })
 
 asset.meta = {
   Name = "Sun marker",
-  Version = "1.0",
-  Description = [[ Marker for the sun, with a stick and label.]],
+  Version = "1.1",
+  Description = [[ Marker for the Sun, with a stick and label.]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"SunMarker"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/sun/sun.asset b/data/assets/scene/solarsystem/sun/sun.asset
index de53d4aa1b988d4c1407b41583f59e65765d44a8..03d54392c70d458c2ccd74b12abff93e4df8abf1 100644
--- a/data/assets/scene/solarsystem/sun/sun.asset
+++ b/data/assets/scene/solarsystem/sun/sun.asset
@@ -50,10 +50,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { Sun, SunLabel })
 
 asset.meta = {
   Name = "Sun",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ The Sun and label]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"Sun" , "SunLabel"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/sun/transforms.asset b/data/assets/scene/solarsystem/sun/transforms.asset
index 952b9e85150912d3e582ac4bad63d9c024b9aa5e..309b5ba2556f14c5a00ea1520384093440947c71 100644
--- a/data/assets/scene/solarsystem/sun/transforms.asset
+++ b/data/assets/scene/solarsystem/sun/transforms.asset
@@ -90,11 +90,10 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { SolarSystemBarycenter, Sun
 
 asset.meta = {
   Name = "Sun Transforms",
-  Version = "1.0",
+  Version = "1.1",
   Description = [[ Sun transforms: Solar System Barycenter, SUN IAU and
    SUN J2000]],
   Author = "OpenSpace Team",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"SolarSystemBarycenter", "SunIAU", "SunECLIPJ2000"}
+  License = "MIT license"
 }
diff --git a/data/assets/scene/solarsystem/sun/transforms_heliosphere.asset b/data/assets/scene/solarsystem/sun/transforms_heliosphere.asset
index 9478e20141797094e0ee1fb3c316a020d62e186e..53301daf7ea8e1a4f0fa750c2472eb891456cbd0 100644
--- a/data/assets/scene/solarsystem/sun/transforms_heliosphere.asset
+++ b/data/assets/scene/solarsystem/sun/transforms_heliosphere.asset
@@ -30,10 +30,9 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { HEEQ180ReferenceFrame })
 
 asset.meta = {
   Name = "Sun Transform, HEEQ180",
-  Version = "1.0",
+  Version = "1.1",
   Description = "Sun transform: HEEQ180",
   Author = "CCMC",
   URL = "http://openspaceproject.com",
-  License = "MIT license",
-  Identifiers = {"HEEQ180ReferenceFrame"}
+  License = "MIT license"
 }
diff --git a/data/assets/util/asset_helper.asset b/data/assets/util/asset_helper.asset
index 51fc00b2e84c6ab66c774cb04296b48a1211f65f..1910de8a1fa95be819fd681cfe65a74f42b9b87e 100644
--- a/data/assets/util/asset_helper.asset
+++ b/data/assets/util/asset_helper.asset
@@ -32,11 +32,12 @@ local registerSceneGraphNodes = function (sceneAsset, nodes, override)
   sceneAsset.onInitialize(function ()
     for i, node in ipairs(nodes) do
       openspace.addSceneGraphNode(node)
+      sceneAsset.registerIdentifierWithMeta(node.Identifier);
     end
   end)
   sceneAsset.onDeinitialize(function ()
     for i = #nodes, 1, -1 do
-      node = nodes[i]
+      local node = nodes[i]
       openspace.removeSceneGraphNode(node.Identifier)
     end
   end)
@@ -82,35 +83,24 @@ local registerDashboardItems = function (dashboardAsset, items)
 end
 
 local registerSceneGraphNodesAndExport = function (sceneAsset, nodes, override)
-  override = override or false
-  if not override then
-    if tableLength(nodes) == 0 then
-      openspace.printWarning(sceneAsset.filePath .. ": Register function was called with an empty node list. Pass 'true' as third argument to silence this warning.")
-      return
-    end
-  end
+  registerSceneGraphNodes(sceneAsset, nodes, override)
 
   for i, node in ipairs(nodes) do
-    if not node.Identifier then
-      openspace.printError("Could not load asset as Identifier was missing")
-    end
+    sceneAsset.export(node.Identifier, node)
   end
+end
 
-  sceneAsset.onInitialize(function ()
-    for i, node in ipairs(nodes) do
-      openspace.addSceneGraphNode(node)
-    end
+local registerLayerAndExport = function (sceneAsset, layer, globeIdentifier, layerGroup)
+  sceneAsset.onInitialize(function () 
+    openspace.globebrowsing.addLayer(globeIdentifier, layerGroup, layer)
+    sceneAsset.registerIdentifierWithMeta(layer.Identifier)
   end)
+
   sceneAsset.onDeinitialize(function ()
-    for i = #nodes, 1, -1 do
-      local node = nodes[i]
-      openspace.removeSceneGraphNode(node.Identifier)
-    end
+    openspace.globebrowsing.deleteLayer(globeIdentifier, layerGroup, layer)
   end)
 
-  for i, node in ipairs(nodes) do
-    sceneAsset.export(node.Identifier, node)
-  end
+  sceneAsset.export("layer", layer)
 end
 
 local requireAll = function (sceneAsset, directory)
@@ -178,6 +168,7 @@ end
 
 asset.export("registerSceneGraphNodes", registerSceneGraphNodes)
 asset.export("registerSceneGraphNodesAndExport", registerSceneGraphNodesAndExport)
+asset.export("registerLayerAndExport", registerLayerAndExport)
 asset.export("registerScreenSpaceRenderables", registerScreenSpaceRenderables)
 asset.export("registerSpiceKernels", registerSpiceKernels)
 asset.export("registerDashboardItems", registerDashboardItems)
diff --git a/data/assets/util/tle_helper.asset b/data/assets/util/tle_helper.asset
index 089d040ddb044a2944ab58d2f03b0f6f848f1edb..acd01555172a659743910088ea5f0895fc5ef7f2 100644
--- a/data/assets/util/tle_helper.asset
+++ b/data/assets/util/tle_helper.asset
@@ -91,7 +91,9 @@ function satellites(title, file, color, group)
     },
     Tag = { "earth_satellites" },
     GUI = {
-      Path = "/Solar System/Planets/Earth/Satellites"
+      Name = group.Title,
+      Path = "/Solar System/Planets/Earth/Satellites",
+      Description = group.Description
     }
   }
 end
diff --git a/data/assets/util/webgui.asset b/data/assets/util/webgui.asset
index 203b14ea9daadac84c9ea1a330ba7957f24e6aa6..b3866fcce25c88bdaa683bc22be291486c852e25 100644
--- a/data/assets/util/webgui.asset
+++ b/data/assets/util/webgui.asset
@@ -3,7 +3,7 @@ asset.require("./static_server")
 local guiCustomization = asset.require("customization/gui")
 
 -- Select which commit hashes to use for the frontend and backend
-local frontendHash = "7e513ba86b0bb989b72f22712ebf0bb5a626ba06"
+local frontendHash = "32980412faef0773cb7ebaa78ad0db1444f244cc"
 local dataProvider = "data.openspaceproject.com/files/webgui"
 
 local frontend = asset.syncedResource({
diff --git a/include/openspace/scene/asset.h b/include/openspace/scene/asset.h
index 22af5c2cadfc57a3866032e21f21be5789627f7f..1b96ce95aef240b9d35e3580f94164be3a5f503f 100644
--- a/include/openspace/scene/asset.h
+++ b/include/openspace/scene/asset.h
@@ -117,6 +117,13 @@ public:
      */
     void setSynchronizationStateRejected();
 
+
+    /**
+     * Register a SceneGraphNodeIdentifier with the asset
+     * (used to associate Nodes with asset meta)
+     */
+    void addIdentifier(std::string identifier);
+
     /**
      * If the asset has not yet been loaded, this function loads the asset and returns the
      * success state. If the loading succeeded, the Asset transitions into the \c Loaded
diff --git a/src/scene/asset.cpp b/src/scene/asset.cpp
index 0998b40f1a7cd9dffbb3c685f414b491dd19763d..a90ddbafe61927f42aedf588dd460171073ccde0 100644
--- a/src/scene/asset.cpp
+++ b/src/scene/asset.cpp
@@ -205,6 +205,12 @@ void Asset::startSynchronizations() {
     }
 }
 
+void Asset::addIdentifier(std::string identifier) {
+    if (_metaInformation.has_value()) {
+        _metaInformation->identifiers.push_back(std::move(identifier));
+    }
+}
+
 void Asset::load(Asset* parent) {
     if (!isLoaded()) {
         const bool loaded = _manager.loadAsset(this, parent);
diff --git a/src/scene/assetmanager.cpp b/src/scene/assetmanager.cpp
index d3cee96134b901ae3a07afddda3847382526685d..ddbe19a775a415e99766b5220f9be48f0ae85fd8 100644
--- a/src/scene/assetmanager.cpp
+++ b/src/scene/assetmanager.cpp
@@ -410,6 +410,7 @@ void AssetManager::setUpAssetLuaTable(Asset* asset) {
     // |  |- require
     // |  |- exists
     // |  |- export
+    // |  |- registerIdentifierWithMeta
     // |  |- onInitialize
     // |  |- onDeinitialize
     // |  |- directory
@@ -622,6 +623,27 @@ void AssetManager::setUpAssetLuaTable(Asset* asset) {
     );
     lua_setfield(*_luaState, assetTableIndex, "export");
 
+    // Register registerIdentifierWithMeta function to add meta at runtime
+    // registerIdentifierWithMeta(string identifier)
+    ghoul::lua::push(*_luaState, this, asset);
+    lua_pushcclosure(
+        *_luaState,
+        [](lua_State* L) {
+            ZoneScoped
+
+            Asset* asset = ghoul::lua::userData<Asset>(L, 2);
+            ghoul::lua::checkArgumentsAndThrow(L, 1, "lua::registerIdentifierWithMeta");
+
+            std::string identifier = luaL_checkstring(L, 1);
+            asset->addIdentifier(identifier);
+
+            lua_settop(L, 0);
+            return 0;
+        },
+        2
+    );
+    lua_setfield(*_luaState, assetTableIndex, "registerIdentifierWithMeta");
+
     // Register onInitialize function to be called upon asset initialization
     // void onInitialize(function<void()> initializationFunction)
     ghoul::lua::push(*_luaState, this, asset);
diff --git a/src/util/resourcesynchronization.cpp b/src/util/resourcesynchronization.cpp
index 367b9781faf3621a95ef431d7997f88bd337cfe8..b92ec9a241b5ff8be51727bb5fda9e7a2d298426 100644
--- a/src/util/resourcesynchronization.cpp
+++ b/src/util/resourcesynchronization.cpp
@@ -63,7 +63,6 @@ std::unique_ptr<ResourceSynchronization> ResourceSynchronization::createFromDict
     auto factory = FactoryManager::ref().factory<ResourceSynchronization>();
     ghoul_assert(factory, "ResourceSynchronization factory did not exist");
     ResourceSynchronization* sync = factory->create(p.type, dictionary);
-    sync->_identifier = p.identifier;
     sync->_name = p.name;
     return std::unique_ptr<ResourceSynchronization>(sync);
 }