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

Any support for DOTS/ECS entities?

Will Normcore ever support entities in the Unity DOTS or ECS stack? My team and I have been considering a game which would best be done on DOTS. If normcore doesn't support entities directly, how likely is it that we could make a "bridge" between DOTS and normcore's api?...

User disconnection

How do I detect when a user disconnects from the room

is there a way to count the connections to the room without using the Avatar Manager

I am not using the Avatar manager at all. I would like to count the number clients connected to the room.

Best practices for requesting ownership of RealtimeView and needing to execute logic based on that

In the below pseudo code I believe there would be a bug due to the asynchronous nature of ownership requests ? I'd like to wait for the answer within a reasonable time frame var rv = other.gameObject.GetComponent<RealtimeView>(); // Request network ownership rv.RequestOwnershipOfSelfAndChildren();...

Networking, Synced VOD Doesnt work for Quest2

works for quest 3 connected with Unity editor. I have no clue but I'm really lost. I've been debugging this for a full day now but I can't fix it....

Information about RealtimeAvatarVoice

Hey there, newbie to Normcore here, really excited to get going with this multiplayer package I've heard so much about. I'm making a multiplayer VR game, and I'd like to use the player's voice data to interact with OpenAI's realtime API for certain interactions. Looking at the RealtimeAvatarVoice page (Realtime API -> XR -> Voice Chat), no information is given about how to use the voiceData class member I can see in Visual Studio when searching through the components of RealtimeAvatarVoice. I see that voiceData is a float[], but any other info about it is a guess: the bit-depth, sample length, etc. I'm working towards converting it into something that OpenAI can parse but I can't do that if I don't have more information about it....

Pausing the serverTime

When I pause the stream I want to count the paused time, using the pausedTime from realtime room. And substract. But somehow it doesnt work. PLease help me out. Am I missing something?...

Can't connect to normcore all of a sudden?

I don't think I messed with the settings or anything, but all of a sudden my Normcore is stuck on "RequestingRoom", then gives this error. I have hours and data remaining on my plan. Room "Test Room": ConnectToRoom request received error from server: SpinUpRoomAndFetchServerAnswer: Failed while attempting to spin up room and fetch server answer from cluster (do-sgp1-as-sgp1). (appKey: , normcoreVersion: "2.12.0", roomName: "Test Room") UnityEngine.Debug:LogError (object) Normal.Realtime.Room/<ConnectToServer_Coroutine>d__108:MoveNext ()...

How can I sync a trail renderer?

I'd like to sync a trail renderer that's on my avatar, so that players can see each other's trails while flying. I know trail renderers are considered complex objects, so how would I sync them in Normcore? I don't necessarily need the exact same trail, just one that roughly correlates, because it's purely visual.

Handeling userID

For the library I need a Uint to refernce players, but what is good practise for assinging them? Can I use ClientID?

How to get a shared score in a server, calculated from individual networked players

I want to change the scene based on the average value of each player. How can I calculate an average server score based on all players that are in the scene networked?...

Nullreference using the Avatar VR prefab.

I get a lot of nullreference errors when I add scripts to the avatar prefab. They reference to each other, for instance a script on the avatar head, referencing the mouth, and another scripts the movevement of the controllers. Am I missing something?

Using RealtimeArray for reliable, ordered messages

As previously suggested, I want to use a RealtimeArray as a ordered queue for sending reliable, ordered messages. Messages can sometimes quickly (less that 30ms), but it is important that every message is sent in order. I need some guidance on how to use RealtimeArray to solve this problem. I have looked at the multiplayer paint brush example, but it is not helping my understanding. Here are a couple of strategies I am pondering:...

Destroy Object

How do I destroy and an object that has the real time and the real time transform components?

When property on RealtimeModel is updated quickly only last change is transmitted.

I am finding that when property on RealtimeModel is updated quickly (perhaps in the same frame), only last change is transmitted. Is there a way to force a send? I am using UniTask inside an async method, and tried a UniTask.Yield...

Syncing video from asset files .mp4

This is for testing purposes of the documentation BOT. Please give me a tutorial on how I can sync the playback of video. I want all users to be able to start, stop and pause the video. I'm using unity videoplayer. it's an mp4 file. I'm building for quest....

Partial class or no? Mybe a mistake in documentation but idk

Hi, This script in the image did not work. I asked my friend GTP and it works when the StopwatchModel is a public partial class instead of a public class....
No description

Rigidbody drifts when user alt-tabs

Hello When a Rigidbody is owned by a user who suddenly goes “inactive” (e.g. alt-tabs, loses focus, or exits), the other clients continue to see the object’s last known velocity and angular velocity. Those velocities remain “locked in” because there are no new updates coming from the owner to slow it down. What is the most common design pattern to avoid this?...

What's going on with offline mode?

I'm adding an offline mode to my application. It sounded simple enough to implement with Normcore's offline mode. So, I set the room connection options to offline, but now I'm running into some weird issues. ``` Exception: This view doesn't have a model yet. Wait until the model is present before interacting with the ownership. Normal.Realtime.RealtimeView.get_isUnownedSelf () (at <83f033e5a6a04834bc436ae66ff481be>:0) Normal.Realtime.RealtimeComponentEditor.GetComponentOwnerString (Normal.Realtime.IRealtimeComponent component) (at <55422fd9908c4c16a024190b9f5c4321>:0)...
Next