For the complete documentation index, see llms.txt. This page is also available as Markdown.

Player / Entity Visibility

By default, every player (and Morpheus entity with a render target) in a world is visible to every other player. Visibility can be controlled globally from the server, or locally by each client.

Local (Per-Client) Visibility

Individual clients can hide specific players locally, while having no effect on other clients, by using either the MorpheusActorRenderTargetComponent::SetHiddenLocally or MorpheusActor::SetHiddenLocally nodes (the MorpheusActor variant just calls through to the component).

SetHiddenLocally must be called on the client, and has no effect if called on the server.

Visibility is managed entirely by the client, based on your gameplay logic. The render target stays loaded, but the character meshes are hidden.

Hiding is managed with a tagging system. All default meshes will be hidden, but if you have manually added additional meshes to the render target actor you will need to add the MorpheusCharacterMesh tag to your mesh component. Any meshes without the tag will not be hidden.

Server (Replicated) Visibility

Morpheus entities can be hidden globally by using the ServerSetEntityHidden node.

ServerSetEntityHidden must be called on the server, and has no effect if called on clients.

This is replicated, and causes the render target to be fully unloaded on every client EXCEPT the authoritative client for that Morpheus actor. This can be used for shadow-banning players - their own client is unaffected, but the player entirely disappears from all other clients.

Combine it with SetHiddenLocally if the intent is to also hide the player on the authoritative client.

Last updated