Normal

N

Normal

Join the community to ask questions about Normal and get answers from other members.

Join

🤝ask-a-question

đź’Ľjobs-and-opportunities

đź’ľsample-code

🥂project-showcase

đź’­feature-request

✨normcore

đź’¬chat

🚧wip-and-updates

Normcore is lag even though I try it sample scenes with Pro License

I try to use Normcore to implement multiplayer for my app. I have purchased Pro license app ID to test best network performance. But although I only test with sample scene where we instantiate and sync prefab's transform, it start lagging when reach 7 players in the room. So where is the problem, our internet connection or Normcore?...
Solution:
If you're still experiencing issues, you might want to consider reaching out to the Normcore support team for further assistance. ---------------------- Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: ----------------------...

Networking Scale

How can I scale up a 3d object within a certain time that is broadcasted to all the players. When a play joins a room the sizes are different for everyone.
Example: When I join a room the initalize size of the cube is 1. The cube starts to scale up every 5 seconds and increases by 0.05 When my friend joins the room, the cube isn't the same size that I see. They see the cube's size at its original scale of 1....

How to play sounds?

I was wondering the best way to play sounds using normcore in my game, as I found no official documentation for this. Is using RPC events the best option?

how to see if player is connected to room

how can i get a bool that tells me if the player is connected to a room or not

How to sync a reference to a gameobject

What is the easiest way to sync and update a gameobject reference

Normcore causing editor errors when I launch Unity

Here's an example of one of the errors:
"Asset Packages/com.normalvr.normcore/Plugins/Mac/RealtimeClient.bundle/Contents has no meta file, but it's in an immutable folder. The asset will be ignored.
All other errors look similar....
Solution:
fwiw you can ignore it. it won’t prevent entering play mode or compilation

Is there a way to manually trigger a timeout?

Hello, so I noticed a certain bug occurs in my program when normcore timeouts and reconnects. I've been trying to forcefully trigger a timeout instead of having to idle for a few minutes every time I want to test. Is there a way to do this or a way to decrease the time required for a timeout to occur?

Re-subscribing to delegate events on scene change

Hey yall, my app systemetically changes the scene of all clients in a given order. The first time this happens (from scene A->B) it works great. However, after that (B->C etc), my delegate event (IsSceneChangingDidChange) does not fire. I can also see that the OnRealtimeModelReplaced() method does not run again. I'm not sure how to manually resubscribe to this delegate to listen for model changes when a new scene is loaded. My RealtimeView component this script is attached to is persistent and a singleton. Here is the method in question:...

Checking realtimeTransform.isOwnedLocallySelf

Is checking this identical to checking any local bool in a script or does it have to fetch that property from the server?

Suddenly unable to connect to Normcore servers

Hey guys, as of yesterday I could connect to the servers using the same app key as I am using now. Initially I try to connect and it gives me Realtime: Connecting to room "AdminRoom" then Disconnected. Eventually it throws the unable to connect error, and will ocassionally give me: Realtime (native): BidirectionalClient: Connection Error: Unable to connect to webgl-demo.normcore-matcher.normcore.io on port 3000, error: Cancelled...
No description

If two players request ownership at the same moment

Are there circumstances where it looks momentarily like you could own the item locally but then your ownership is rejected by the server?

Is there a way to make my own avatar invisible to myself but keep it visible for others?

I've tried some to apply so easy stuff that I could think of - turning off rendering, not displaying that layer on my own camera - but it seems like the issue isnt the fact I need to find an avatar owned by me to do this, but how do I apply something like this without replicating it to others.

What's the best way to change scenes across all clients?

Hi guys! As per the title, my application requires that all users be in a certain room at a certain time. I don't seem to be able to trigger this accross a second client (webXR build), only my local machine. This is my SceneSyncModel:...

Trying to update a value reliably

I have a realtime property for example fillpercentage property. Now every client can update that property (increment/decrement) but the issue is that there is a slight chance that they might override each other values instead of adding on top of eachother. For example the default value is 0 -> then client 1 did currentVal + 10 and client 2 also did currentVal + 10 but if they both did it on the same time then currentFillPercentage will be 10 instead of 20 right? I have following ways to solve it but each solution have some pros and cons. Please let me know if there is a solution that is robust in everyway. I am not using Normcore private or headless builds and likely wont use it anytime soon. Using RealtimeDictionary or RealtimeArrays: Pros: We can record the last few added values. For example client 1 can add 5, client 2 can add 10 and client 3 can add 15 and all 3 events would be recieved on all clients and only 1 client (e.g. master client) can process them 1 by 1....

Does syncing a rigidbody with realtime transform while kinematic limit the values being synced?

If a rigidbody is kinematic does realtime transform truncate the sync variables in any way for efficiency?

How to make a custom model using a type other than Color?

Hey guys! I have been following the Synchronising Custom Data guide (https://normcore.io/documentation/realtime/synchronizing-custom-data) and managed to get the ColorSync working successfully. I now want to change this to allow for strings to be sent to all clients, to update a TextMeshPro component. I replicated all the steps for the Color guide, but the delegate events such as textDidChange are not being generated from the model (see pic). This is my Model file: `...
Solution:
the name of the didChange event is prefixed by the property name, in your case messageTextDidChange
No description

Manually syncing position, rotation at 20hz?

If I were manually syncing an object position and rotation, should the model setter just be setting every frame or can resources be saved by setting it only 20x a second becuase thats what normcore would use anyway? It woudnlt' be in sync with normcores refresh anyway i'd assume so how does that work? Is there a way to sync at normcores refresh rate?
Solution:
```cs protected override void OnRealtimeModelReplaced(YourModel previousModel, YourModel currentModel) { model.onWillWrite += OnModelWillWrite; } ...

How do I check the latency of the connected player?

How do I check the latency of the connected player?
Solution:
---------------------- You can check the latency of the connected player in NormalVR by using the ping property of the Realtime class. This property returns the local client's last known ping with the server in milliseconds. Here is how you can access it: ...

I'm trying to use Normcore to send audio source data over multiplayer.

I specifically don't want the microphone data, I've recorded clips using the Microphone and playing them back and I'd like that playback to be synced. Is there any way for me to create an Audio Stream for each audio source I create?