Instantiate a new instance of Visitor class for an existing visitor in a world.
Optional
options: VisitorOptionalInterfaceReturns a new Visitor object without fetching its properties.
This method creates a controller instance for a visitor but does not fetch its properties. Use this when you need a lightweight instance and will fetch properties separately or when you already have the properties.
// Import the pre-initialized factory from your app's initialization file
import { Visitor } from "utils/topiaInit.ts";
// Create a Visitor instance with credentials
const visitorInstance = Visitor.create(
12345, // visitor ID
"my-world-slug",
{
credentials: {
interactiveNonce,
interactivePublicKey,
assetId,
urlSlug,
visitorId
}
}
);
// Later fetch visitor properties if needed
await visitorInstance.fetchVisitor();
Instantiate a new instance of Visitor class and automatically fetch all its properties.
Optional
options: VisitorOptionalInterfaceReturns a new Visitor object with all properties already fetched.
This method creates a controller instance and immediately fetches all properties of the visitor. It's a convenience method that combines creating an instance and calling fetchVisitor().
// Import the pre-initialized factory from your app's initialization file
import { Visitor } from "utils/topiaInit.ts";
// Get a fully populated Visitor instance
const visitorInstance = await Visitor.get(
12345, // visitor ID
"my-world-slug",
{
credentials: {
interactiveNonce,
interactivePublicKey,
assetId,
urlSlug,
visitorId
}
}
);
// The properties are already loaded, so you can use them immediately
console.log(visitorInstance.username);
console.log(visitorInstance.position);
Factory for creating Visitor instances. Use this factory to work with visitors in Topia worlds.
Remarks
This factory should be instantiated once per application and reused across your codebase. The Visitor controller represents a specific visitor/avatar instance in a world.
Keywords
visitor, factory, create, get, avatar, user, participant
Example