LibreMetaverse.Assets
3.2.0
Prefix Reserved
dotnet add package LibreMetaverse.Assets --version 3.2.0
NuGet\Install-Package LibreMetaverse.Assets -Version 3.2.0
<PackageReference Include="LibreMetaverse.Assets" Version="3.2.0" />
<PackageVersion Include="LibreMetaverse.Assets" Version="3.2.0" />
<PackageReference Include="LibreMetaverse.Assets" />
paket add LibreMetaverse.Assets --version 3.2.0
#r "nuget: LibreMetaverse.Assets, 3.2.0"
#:package LibreMetaverse.Assets@3.2.0
#addin nuget:?package=LibreMetaverse.Assets&version=3.2.0
#tool nuget:?package=LibreMetaverse.Assets&version=3.2.0
▗▖ ▄ ▗▖ ▄▄▄ ▗▞▀▚▖▗▖ ▗▖▗▞▀▚▖ ■ ▗▞▀▜▌▄ ▄ ▗▞▀▚▖ ▄▄▄ ▄▄▄ ▗▞▀▚▖
▐▌ ▄ ▐▌ █ ▐▛▀▀▘▐▛▚▞▜▌▐▛▀▀▘▗▄▟▙▄▖▝▚▄▟▌█ █ ▐▛▀▀▘█ ▀▄▄ ▐▛▀▀▘
▐▌ █ ▐▛▀▚▖█ ▝▚▄▄▖▐▌ ▐▌▝▚▄▄▖ ▐▌ ▀▄▀ ▝▚▄▄▖█ ▄▄▄▀ ▝▚▄▄▖
▐▙▄▄▖█ ▐▙▄▞▘ ▐▌ ▐▌ ▐▌
▐▌
LibreMetaverse.Assets
Everything LibreMetaverse knows about the things in a virtual world, without a connection to one. Assets, primitives and their textures, inventory items, the avatar's skeleton and appearance, the data behind a mesh upload, glTF documents, animations and logging. You can read a notecard, decode a mesh, build a prim or check a model for upload from a program that never logs in.
Archiving · Utilities · Voice.Vivox · Voice.WebRTC
│ built on the client
LibreMetaverse the client: login, managers, inventory
│
Transport UDP socket, reliable circuit, throttle
│
Protocol packets and capability messages
│
[Assets] the offline data model
├── ModelFormats · Rendering.MeshFoundry · Rendering.Simple
│
StructuredData · Imaging.Abstractions
│
Types UUID, vectors, quaternions, colors
on their own: PrimMesher · Imaging.Skia · RLV · LslTools
A name in brackets is this package. Packages use the ones beneath them; the Depends on section below is exact.
What is in it
- Asset types:
AssetTexture,AssetMesh,AssetNotecard,AssetPrim,AssetSound,AssetAnimation,AssetClothing,AssetBodypart,AssetGesture,AssetLandmark,AssetScriptText,AssetScriptBinary,AssetMaterial,AssetSettingsand the others. Each encodes to and decodes from the bytes a grid stores.SceneObjectGroupXmlReaderandSceneObjectGroupXmlWriterread and write OpenSim's linkset XML. - Primitives:
Primitivewith its construction data,TextureEntry, particle systems, flexible and light parameters, sculpt and mesh data, andLegacyMaterial. - Inventory: the item classes (
InventoryItem,InventoryFolder,InventoryNotecardand the rest),PermissionsandInventoryHelpers. - Avatar data:
LindenSkeleton, the visual parameters, the tree and grass definitions,BVHDecoder,AnimationTrackandAnimeshPlayer. - Models:
ModelPrimandModelUploadChecks, the level-of-detail and physics-shape generators,IModelLoader(implemented byLibreMetaverse.ModelFormats),GltfDocument, and theIRenderinginterface the renderer packages implement. - Sounds: the table of the grid's standard UI sounds (
Sounds). - Logging:
Logger,ILogContextandProcessSettings, built onMicrosoft.Extensions.Logging.
Example
using LibreMetaverse;
using LibreMetaverse.Assets;
var note = new AssetNotecard { BodyText = "Meet at the fountain." };
note.Encode(); // note.AssetData now holds what a grid would store
byte[] stored = note.AssetData;
var read = new AssetNotecard(UUID.Random(), stored);
Console.WriteLine(read.Decode() ? read.BodyText : "unreadable");
Use it when
You are building an asset converter, a content pipeline, a viewer-side tool, or the storage half of a server: anything that handles grid content without a login. It is also what the other packages (Protocol, ModelFormats, the renderers) are written against.
Depends on
LibreMetaverse.Types, LibreMetaverse.StructuredData and LibreMetaverse.Imaging.Abstractions, plus CoreJ2K (JPEG 2000), Pfim, OggVorbisEncoder, MessagePack, zlib and ZLogger. It targets .NET Standard 2.1, .NET Framework 4.8.1, and .NET 8, 9 and 10.
Install
dotnet add package LibreMetaverse.Assets
More
- Source, issues and discussion: https://github.com/cinderblocks/libremetaverse
- Moving from 3.1: the migration guide
- License: BSD-3-Clause
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| .NET Framework | net481 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.8.1
- CoreJ2K (>= 2.4.1)
- LibreMetaverse.Imaging.Abstractions (>= 3.2.0)
- LibreMetaverse.StructuredData (>= 3.2.0)
- LibreMetaverse.Types (>= 3.2.0)
- MessagePack (>= 3.1.8)
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.12)
- Microsoft.Bcl.TimeProvider (>= 10.0.12)
- Microsoft.Extensions.Logging (>= 10.0.12)
- Microsoft.Extensions.Logging.Console (>= 10.0.12)
- OggVorbisEncoder (>= 1.2.2)
- Pfim (>= 0.11.4)
- System.Collections.Immutable (>= 10.0.12)
- zlib.net-mutliplatform (>= 1.1.0)
- ZLogger (>= 2.5.10)
-
.NETStandard 2.1
- CoreJ2K (>= 2.4.1)
- LibreMetaverse.Imaging.Abstractions (>= 3.2.0)
- LibreMetaverse.StructuredData (>= 3.2.0)
- LibreMetaverse.Types (>= 3.2.0)
- MessagePack (>= 3.1.8)
- Microsoft.Bcl.TimeProvider (>= 10.0.12)
- Microsoft.Extensions.Logging (>= 10.0.12)
- Microsoft.Extensions.Logging.Console (>= 10.0.12)
- OggVorbisEncoder (>= 1.2.2)
- Pfim (>= 0.11.4)
- System.Collections.Immutable (>= 10.0.12)
- zlib.net-mutliplatform (>= 1.1.0)
- ZLogger (>= 2.5.10)
-
net10.0
- CoreJ2K (>= 2.4.1)
- LibreMetaverse.Imaging.Abstractions (>= 3.2.0)
- LibreMetaverse.StructuredData (>= 3.2.0)
- LibreMetaverse.Types (>= 3.2.0)
- MessagePack (>= 3.1.8)
- Microsoft.Extensions.Logging (>= 10.0.12)
- Microsoft.Extensions.Logging.Console (>= 10.0.12)
- OggVorbisEncoder (>= 1.2.2)
- Pfim (>= 0.11.4)
- zlib.net-mutliplatform (>= 1.1.0)
- ZLogger (>= 2.5.10)
-
net8.0
- CoreJ2K (>= 2.4.1)
- LibreMetaverse.Imaging.Abstractions (>= 3.2.0)
- LibreMetaverse.StructuredData (>= 3.2.0)
- LibreMetaverse.Types (>= 3.2.0)
- MessagePack (>= 3.1.8)
- Microsoft.Extensions.Logging (>= 10.0.12)
- Microsoft.Extensions.Logging.Console (>= 10.0.12)
- OggVorbisEncoder (>= 1.2.2)
- Pfim (>= 0.11.4)
- System.Collections.Immutable (>= 10.0.12)
- zlib.net-mutliplatform (>= 1.1.0)
- ZLogger (>= 2.5.10)
-
net9.0
- CoreJ2K (>= 2.4.1)
- LibreMetaverse.Imaging.Abstractions (>= 3.2.0)
- LibreMetaverse.StructuredData (>= 3.2.0)
- LibreMetaverse.Types (>= 3.2.0)
- MessagePack (>= 3.1.8)
- Microsoft.Extensions.Logging (>= 10.0.12)
- Microsoft.Extensions.Logging.Console (>= 10.0.12)
- OggVorbisEncoder (>= 1.2.2)
- Pfim (>= 0.11.4)
- System.Collections.Immutable (>= 10.0.12)
- zlib.net-mutliplatform (>= 1.1.0)
- ZLogger (>= 2.5.10)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on LibreMetaverse.Assets:
| Package | Downloads |
|---|---|
|
LibreMetaverse
LibreMetaverse is a .NET client library for connecting to and interacting with Second Life, OpenSimulator, and compatible virtual world servers. Provides networking, inventory, avatar, asset, and world management APIs. |
|
|
LibreMetaverse.Rendering.Simple
A stand-in IRendering for LibreMetaverse that returns a unit cube for every prim, sculpt and mesh. For tests and for code that needs a renderer without caring about the shape; use LibreMetaverse.Rendering.MeshFoundry for real geometry. |
|
|
LibreMetaverse.Rendering.MeshFoundry
Modern mesh rendering library for LibreMetaverse. Generates renderable geometry from Second Life prims, sculpts, and mesh assets with correct normal decoding, skin weight support, and TexCoord1/NormalizedScale for PBR. |
|
|
LibreMetaverse.ModelFormats
3D model format importers for LibreMetaverse. Loads Collada (.dae), glTF 2.0 (.gltf, .glb) and Wavefront OBJ (.obj) models into the ModelPrim structures used for Second Life mesh upload, behind a common IModelLoader interface. Also exports decoded meshes, including rigged ones, as glTF. |
|
|
LibreMetaverse.Protocol
The Second Life wire protocol for LibreMetaverse, without the client: the UDP packet classes generated from the message template, the packet decoder, the capability event-queue messages, and the enums they use. Pulled in by the LibreMetaverse package; reference it alone to build packet tools such as proxies and capture analysers. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.2.0 | 66 | 10/13/2026 |