u/eggshellent
eggshellent
eggshellent
eggshellent
Try this? On the room’s transform specifically.
eggshellent
This is the worst comment I’ve ever seen on this subreddit. Ignorant, arrogant and sad.
eggshellent
I get the sense there is a language barrier here? You don’t seem to understand what I’m saying.
You said your kid was five, now you’re talking about high school and sending him to some kind of unity-specific school? Are you for real?
eggshellent
Depends. Does your child know geometry yet?
eggshellent
I see a lot of people struggling to learn Unity without any understanding of foundational computer science concepts, like not knowing the difference between a class and object, or not understanding how memory works. Basic CS101 stuff. You know, from college?
Is your five year old a genius?
eggshellent
Yeah that all seems fine. I’m at a a loss. I’m really sorry I can’t be more help. And that there’s been some back-and-forth because of time zone differences.
eggshellent
Whats up with GetBuildings(), then? Does it return null or empty on the client? Who owns it? Is it a syncList or a local List?
eggshellent
it says its the client and a server.When the loop reaches the 2nd player(client) and I check the connetionToClient.identity it also says its also a client and a server?
isClient and isServer are misleading names, it actually refers to where the object was spawned. isClientOnly is more useful and works how you’d think.
I’ll try to answer the rest when I can, but remember when checking variables as the client, only some variables are synchronized.
Are buildings networkbehaviours or something else?
eggshellent
Does your player and camera move through the world, or does your world move underneath the player?
eggshellent
Ah, ok that makes sense then, thank you.
If you are trying to reference your scripts outside the package from inside the package directory, then yes, an assembly definition seems a likely cause.
eggshellent
I’m confused. I thought you were the package author?
All scripts inside the Assets folder and subfolders should be able to reference each other unless 1) the referenced script is in another namespace, meaning the referencing script needs to put “using namespace” at the script’s top 2) one or both scripts are affected by an AssemblyDefinition or AssemblyReference asset.
If you haven’t worked with Assembly assets before and aren’t working on a team, I doubt they are the issue.
eggshellent
Do you have any AssemblyDefinitions in your project?
eggshellent
When people talk about state machines, what they’re referring to is finite state machines, meaning that there are a limited number of possible states, with specific controls that determine when one state can transition into another.
What you are calling a “state” in this case is a large collection of variables that represent an effectively infinite number of states. So it’s not really a state machine at all, not in the way people use the term.
eggshellent
Are you the author of both the script inside the package and the script calling it?
eggshellent
I can’t tell if you want Unity to be a drawing tool or if you’re looking for something like the the Graph Tools package. If it’s the latter, bad news: development went internal and they stopped updating the publicly-available package, and nobody knows when that will change.
eggshellent
Still having a little trouble finding out when a method has been triggered for the server and when for the client.
It will help greatly if you can run the editor on two machines, in order to read the debugger logs or step through the code.
I have [client] above the method in the cameracontroller script, so I guess it was triggering for the client right??
You’d think so, but for testing purposes, I wouldn’t make this assumption. My memory of it contradicts the documentation; I recall the [Client] attribute did not prevent code from running on the server, it merely threw up a warning. Of course my memory could be wrong.
Should I put base.OnServerScenrChanged back?
Usually in an override method you want to call the base class’s version of the method first, yes.
I really appreciate you trying to help me here! 😁
You’re quite welcome. Wish I could be more help tbh, but I’m confident you’ll figure it out!
eggshellent
Not really. Load means loading into memory. Scene objects are instantiated from memory after being loaded.
eggshellent
The method inside the cameracontroller is being triggered.
I should have been more specific, but you mean it’s being triggered on the client, right?
I don’t know what to tell you, that doesn’t make sense. Can you step through the code on the client side? That’s all I know to try at this point.
eggshellent
You could, personally I think it’s a lot easier and faster to use something like Unity Version Control or Git.
eggshellent
That’s a surprise. Can you verify that the callback is being triggered? That would be my next move.
eggshellent
I use Unity on both platforms, but primarily a mac.
is if the software has any differences functionally on the Mac comparing to windows;
None that I am aware of. It really is the same experience in both places.
is if Mac can port to windows, because I am developing for Windows users
It can build for Windows, yes. I’ve never personally tried building for Windows on a mac, though, I use a PC for that.
do I need to pay for a “developer account” to develop on a Mac?
Nope.
eggshellent
Ideally your placeholder objects would be prefab instances, and you could just change the prefabs and be done. I assume that isn’t the case, which means you can do it by hand or possibly write an editor script to handle it.
eggshellent
I love Unity but compatibility issues between versions are its biggest flaw. It gets more complicated when you are dealing with asset store stuff, because of there being three render pipelines available. An asset you purchase may only work with certain versions of Unity or certain render pipelines. It’s very confusing for beginners.
Let me ask you something: you said your boss wanted to make a 3d replica of your office. What did she want you to be able to do with it? Walk around and interact with things like a game? If not, Unity may not be the most appropriate tool for your needs.
Vector3s have a ToString() function. It’s for logging, mainly. But there is also JSON serialization, where everything under the sun is converted into a string.