Set Material in verse doesn't function properly unless you are close to the props origin/transform point.

Summary

We’ve encountered an issue similar to the one that this forum post mentions:

Ours is a bit different because it happens with a stationary prop rather than a moving one, but its the same issue nonetheless. Basically we have a Time of Day system that changes the lighting as well as the skydome prop we have. When a Time of day is picked, in verse it sets a new material to the Skydome. Unfortunately, when we are a certain distance from the origin point of the skydome prop, we don’t see the material actually change until we move closer to said origin point.

Please select what you are reporting on:

Creative

What Type of Bug are you experiencing?

Stability

Steps to Reproduce

  1. You can add a sky dome mesh like us, but the issue should still show with a regular mesh

  2. Make the skydome/other mesh a creative prop and have at least two different materials, one as the default, and another to set the material as.

  3. In verse, use SetMaterial() and have it set to the second material you have. Also have it in a function so you can call it with a button device interact event.

  4. Place a button on the map far away from the mesh(or if you’re doing a skydome, just be far off from where the origin point is), connect it to the verse device, launch session and start game.

  5. Go to the button and click it, then proceed to move closer to the mesh/skydome origin point.

Expected Result

Skydome/mesh material should change properly, no matter your distance from it.

Observed Result

The material fails to change and stays as it’s original material until you move close enough to the origin point of the prop/skydome prop.

Platform(s)

Windows PC

Additional Notes

This video shows the issue when using a skydome prop:

Hey, map looks sick, hope it will do well. A solution to this could be to use a proxy mesh that’s hidden you set the material onto it and teleport it to each player on your map (I added a 2tick sleep between teleports to ensure the data is replicated properly), then hide the main mesh and unhide the proxy (basically making the main mesh the new proxy)

That’s not an easy thing to do, but it could work, otherwise you should be able to use a sequence instead of Verse, the sequence should be relevant no matter the distance, if it doesn’t work, try animating a material collection parameter inside that sequence instead

Verse will one day provide a way to better customize client replication, but for now you gotta stick with those solutions

Good luck, lmk what worked for you

Yeah we’ve decided to just use a sequence to move the skydome. Annoying we even have to do that lol but it should work