Interoperability
Guidance around MSquared's network and interoperability mechanisms
Last updated
Was this helpful?
Guidance around MSquared's network and interoperability mechanisms
Last updated
Was this helpful?
MSquared, besides being a platform for building high-density virtual world experiences, also features object interoperability as a first-class feature. This enables users to take their virtual possessions between many worlds with minimal work from you as a developer.
This interoperability is achieved through a combination of on-chain NFT records, an omnichain blockchain indexer, MML for interoperable object definition, and a mechanism for permissioned object storage and content moderation.
This guide explains in more detail how this mechanism works, and the current and in-development capabilities.
MSquared wants to help grow a network of interconnected experiences which the whole is greater than the sum of the parts - enabling free movement of users and their possessions between metaverses.
Below are currently planned types of interoperable objects, and their current implementation status
đŧī¸đˇ Image
Typical picture-based NFTs - could be used as profile pictures or placing in world into photo frames etc
Reading the image
field on the NFT metadata
đđē Character
Humanoid characters that can be used as the player's avatar, or used for non-player characters
đĒŠđĒ Dynamic Object
Spawnable items that may be static or interactable - a chair, a jukebox, a quiz machine, etc
đđŠ Accessory
Static 3D models attached to particular part of a Character such as hats, glasses, backpacks, etc
Currently supported as part of a Character
đđ Clothing
Skeletal meshes layered on top of a base Character
Currently supported as part of a Character
đĨŗđ Emotes
Short animations that can be played to express emotions or interact
Currently in exploration
Ownership between different metaverses is established by associating one or many web3 wallets with a particular user.
While delegation protocols technically support concurrent delegation of an NFT to multiple wallets, the following logic is in place to prevent scenarios where an NFT being used for access gating could be used to allow large numbers of people to share the same "ticket":
For any wallet, it can only be linked to one user account at a time
For any token, it can only be delegated to one wallet a time
If there are multiple delegations, the most recent delegation is prioritized
We currently support ERC-721 and ERC-1155 tokens
The following fields within an ERC-721/ERC-1155 metadata JSON are respected.\
name
The canonical name of the object in a userâs collection
description
The additional descriptive text for a user, used in the collections frontend react components
image
Used as a preview image for any collection item, and allows its usage as a profile picture
mml
The URL to a static MML document containing an <m-character>
. Allows the user to use it as a default avatar
âĻ.
Other fields are imported, and available for querying in Unreal and Web APIs
While the interoperable network is in Early Access, interoperable objects are currently restricted to those approved by MSquared directly, rather than being moderated - the wider moderated network will be launching later in 2025
Some types of interoperable objects may not be suitable for your particular experience. All objects within the interoperable network will be subject to a classification process, resulting in tags being applied to the object.
Metaverses will be able to define your interoperable object import policy based upon these tags.
While many NFT projects host their interoperable object content in a publicly accessible location, for many projects this many be unwanted or impractical.
Permissioned Storage is a mechanism where interoperable object content URLs can be placed on-chain, but the underlying asset is not publicly available for download. The service ensures any reader owns the underlying NFT to get access to the content.
While the interoperability network is in Early Access weâre interested in any interoperable content, starting with Avatars and Accessories.
If you have an NFT collection youâd like to be part of the network please reach out on Discord!
\
NFTs don't necessarily need to be owned and custodied by users in a financially tradeable way - the same standard can be used for more traditional digital "entitlements" by using a mechanism called
Part of the terms of using MSquared's platform is the commitment to this interoperability for at least user's appearance - their Characters, Clothing, Accessories and Emotes, given they pass your .
Reading the mml
field on the NFT metadata linking to an MML <m-character>
- see
Reading the mml
field for a wss://
to a live MML object - see
MSquared supports users linking self-owned web3 wallets such as out of the box. Enterprise customers can request more bespoke integrations if they have existing web3 identity systems.
Delegation is a method for NFTs (often high value ones) to be non-permanently granted in a read-only manner to another "hot" wallet which is used for more day-to-day interaction. MSquared supports both and (v1 and v2) mechanisms.
This is true across all supported delegation methods (e.g. a recent delegation would take priority over a less recent delegation)
Successfully imported interoperable objects will be visible in the user's , which combines both "foreign" interoperable objects across multiple blockchains with "native" off-chain digital goods for your metaverse.