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

What is the point of having multiple rooms?

If it's not possible to transfer data from one room to another what is the point of having multiple rooms?
Solution:
These answers are correct fwiw. Typically folks have a RealtimeAvatarManager on each Realtime instance. You can enable/disable it to spawn the avatar for the local player. Which you can use to move a player between rooms.

How to pass avatar to another room?

How can we pass an avatar created in a room to another?
Solution:
Typically folks have a RealtimeAvatarManager on each Realtime instance. You can enable/disable it to spawn the avatar for the local player. Which you can use to move a player between rooms.

Why can't I sign up a normcore account on my pc.

I was on the normcore website trying to sign up because I was trying to get a appkey for my gorilla tag fangame, and when i try to sign up, the button that says signing up... . keeps going on forever and is there any fix to this?
No description

meta Avatar configuration

Hey all, been working on this for ages and really cant figure out what the issue is. I need you!! Been trying to use meta avatars with Normcore and In the following script, i am trying to stream the data of my local avatar to the remote avatar. the local avatar's movements is mimicking my camera rig. The issue is that when i connect 2 players, the "remote avatars" flicker between two states. the first being a mimicry of the local avatar and the second being the other player's avatar movements. i have the two avatars attached to this script, and they are both in the scene hierarchy. Been at it for days and have no idea what the issue could be, anyone have any ideas why this could be happening?...
Solution:
Meta avatars now available with normcore! https://normcore.io/documentation/guides/meta/meta-avatars-setup...

Is Normcore having latency/connection issues right now ?

Hi, we are doing our daily Playtesting of our game right now, and we are having quite serious Latency problems it seems, it feels normcore related as this worked fine earlier and yesterday, and the same build is now feeling delayed. We use a stopwatch system based on room.time to know when the game is 'running' so that we move the player trolley based on the calculated ElapsedGameTime, sometimes though, the game still runs, but the trolley stops for a while, as if room.time had not changed multiple frames in a row. We are also noticing that when the game starts, which enables movement of the singular trolley to all players, that it takes over 1 second to propagate the start which is done by adding a Stopwatch.StartEvent to a RealtimeSet with a TimeStamp, to know the current elapsed time. We've tried and looked to debug anything local, but nothing seems out of the ordinary, so in hope to rule out any bugs coming from our game, we wanted to know if Normcore had been having connectivity issues ?...

How can you use voice chat in the Unity project

I don't get it
Solution:
#4 is what you want

How to clear RealtimeArray?

I am using RealtimeArrays to store RealtimeModels for scoring like kills/deaths etc. There is a use-case where I need to reset the scores and everything. How do I clear/remove all elements of RealtimeArray to start from scratch?
Solution:
you can store the realtime array inside a realtime set in order to clear your scores and create a new array

Text Chat System

Hiya! I was just wondering if there is any documentation at all about how to make a text chat system in NormCore using custom models?

Could I make a LAN based project for VR? (Quest 3)

Title. I want to make a VR Multiplayer project with ~16 people connected simultaneously on the same net. Should I be able to do that using Normcore?
Solution:
dang it really failed that one. LAN is not supported with Normcore unfortunately. We do have LAN options on Normcore Private for enterprise customers.

how to delete normcore?

How do I delete it from my unity project?

Turn off avatar voice in one room

is it possible to turn off avatar voice in one room and keep it on in other rooms?
Solution:
---------------------- Yes, it is possible to control the voice chat feature in Normcore's VR environment. The RealtimeAvatarVoice component in Normcore includes a mute property. If RealtimeAvatarVoice represents a local player, this property will stop sending audio, effectively muting this player for everyone in the room. However, if RealtimeAvatarVoice represents a remote player, it will mute their audio stream only for the local client. Here is the relevant excerpt from the documentation (https://normcore.io/documentation/realtime/xr/voicechat): ...

Multiroom voice

If my player is connect in two rooms, how to turn off voice in only one room?
Solution:
This is correct. Or modify the RealtimeAvatarVoice component to close the audio stream altogether.

How to use the support channel

Follow these steps to get the answers you need fast! - Click New post - Give it a Title and ask your question underneath, the more information you include the better and feel free to include any code - Select a Tag to help categorize your question - Click Post...
No description

How is StopWatch Recipe updating other clients?

I dont see a didchange event in this model so how is this starting the stop watch on clients other than the one who started the stopwatch model? using Normal.Realtime; using Normal.Realtime.Serialization; ...
Solution:
you don't need an extra int, just add the udpate event parameter to this model

Transform not being followed

When I parent a realtime transform to a non-network transform, then the realtime transform doesn't parent and goes to vector 0 on all clients. Why would this happen?
Solution:
---------------------- This issue is likely due to how Normcore handles the synchronization of RealtimeTransform components. RealtimeTransform does not track the parent of a RealtimeTransform and cannot synchronize it at runtime. If a RealtimeTransform is reparented under another game object, and that game object is destroyed, it will take the RealtimeTransform with it, leading to inconsistent state between clients. This could be why your RealtimeTransform is not following its parent and is resetting to a position of vector 0 on all clients. Instead of reparenting, you can create an empty game object on your player character at the pick-up point. Then use a script that synchronizes the world position of the pick-up point object and the RealtimeTransform object that you would like to pick up. This will give you the same visual result and will avoid bugs related to reparenting. ...

Make usernames face camera at runtime

Hello! I have a text gameobject attached to the Player object. How do I turn the other players text objects towards my camera at runtime? (So their names are always readable).
Solution:
I have figured it out and I am honestly a tiny bit ashamed. It was simply executing the code from the wrong game object (game manager). I had the transform.LookAt code together with the code that fills in the username at runtime. The only thing I had to do is attach the transform.LookAt code to the display name object and that obviously fixed the issue.. Thanks again for the help! I will just hide under a rock for a while 😂 Have a great weekend!

Syncing music

Is it possible to execute an audiosource clip and that all the clients hear it? There is a recipe in the documentation (Recipe: Timers + Synchronized Playback) that says that this sync method can be done to sync audio, however, I could not achieve it. I'm trying to sync a float with the playback time but no success....
Solution:
We're still refining it. But here's the current state of RealtimeTimer if you want to throw this in your project. Maybe throw it in a different namespace so it doesn't conflict when we ship this in Normcore.

Updating Normcore from 2.1 to 3.0.0 webgl alpha

When updating from Normcore 2.1 to 3.0.0 and restarting Unity - I'm getting this error on all my models: Assets\Scripts\ReadySync.cs(6,14): error CS0311: The type 'UserReadyModel' cannot be used as type parameter 'TModel' in the generic type or method 'RealtimeComponent<TModel>'. There is no implicit reference conversion from 'UserReadyModel' to 'Normal.Realtime.RealtimeModel'.
Solution:
Solved in #✨normcore

Name sync

Anyone has any ideas for why when I enter the room, I can see everyone else's names but they don't see mine? The next person who will enter will see everyone else's (including mine), but we wont see theirs. I'm syncing a string in a model here.
Solution:
Typically you want to make sure you're doing it in both places. OnRealtimeModelReplaced catches existing state in the room, while change events will fire for changes that occurred after you joined.

Will realtime transform still fire ownershipDidChange if all syncing checkboxes are turned off?

Will realtime transform still fire ownerIDSelfDidChange if all syncing checkboxes are turned off?
Solution:
---------------------- Yes, you are correct. The ownerIDSelfDidChange event is specifically tied to changes in the ownership of the component or model. It is dispatched when the ownerIDSelf value changes, which represents the client ID of the component owner. This event is not directly related to the syncing checkboxes, which typically control the synchronization of specific properties or states. Therefore, it is likely that the ownerIDSelfDidChange event would still fire when the ownership changes, regardless of the state of the syncing checkboxes. However, without specific information on how the syncing checkboxes interact with the ownership events in the provided documentation, this is an educated assumption. ...