Please explain why this is the way it is?

So, i am working on a system that requires the game to pass items through the client-server boundary. This is using a remote event, Example:

EventName:FireClient(Player,Object)

I have noticed that if you pass through a Basepart it will read on the local script as nil. However, if you pass a Model over, the local script will read the object as you pass it through. The script will even be able to find any object within that model.

Why is it that you cannot pass baseparts over but you can pass models? What is the reasoning as to why that is a thing?

For now, we can’t help you with this script.
We would need to see the actual script that would handle this event.

In all due respect, I disagree.

For starters, AI responses make things easier to read and understand. I would recommend using them as they can simplify explanations and help convey concepts effectively.

The user stated:

[Sterling_ODeaghaidh]
Why is it that you cannot pass BaseParts over but you can pass models? What is the reasoning as to why that is a thing?

You responded:

[vxsqi]
You can test this by play-testing your game in Studio, then switching to the server side to see the instance that was passed and ensure it exists, then switch back to the client and see the same location of the instance to ensure the instance exists there. If it doesn’t, then it isn’t readable on the client and could probably be under a server container or moved from one.

My response was based on the fact that the user could get the model but not the BasePart. From this, I inferred (perhaps incorrectly) that they had tried applying both the model and BasePart to the Workspace or at least a space that should allow access to the BasePart.

With hindsight, and now that I’m not half-asleep, I recognize that I could have improved my response by explaining when BaseParts would work. This would have given the user a fuller understanding of why their approach wasn’t working.

When you said:

The real reason is that it has nothing to do with if it’s a model or part. WHAT matters is that if the instance is readable on the client.

I’d argue that while this is technically true, it’s also somewhat misleading. Saying “it has nothing to do with if it’s a model or part” could undermine the nuances behind why the model was accessible while the BasePart wasn’t. By omitting those distinctions, it overlooks some of the logic I explained using AI.

If I were to simplify this as much as possible:
The issue most likely stemmed from the model (and its parts) being too far away for the client to load the children. This is something that no amount of WaitForChild would resolve. However, if the user were to bring the model closer to the player’s replication range, the parts would render and become accessible.

If you reread my earlier statements, I provided a possible explanation as to why Roblox works this way, which I believe directly addresses the user’s original question:

What is the reasoning as to why that is a thing?

Your answer does provide a way for the user to test this behavior. When they do, they’ll likely notice that the model is loaded into the workspace while the parts remain inaccessible due to their distance. However, I wouldn’t go so far as to say that parts cannot be accessed simply because they are in a server container. As long as the model is within the shared space, the user can pull the model, which in turn returns its children—even if they haven’t fully loaded on the client.

If the parts and model were in a true server-only container (e.g., ServerStorage), this wouldn’t be plausible at all.

So while I appreciate the clarification you provided on ensuring an instance is readable, I don’t think it’s entirely fair to disregard half of what I stated or label it as irrelevant. Admittedly, the script portion of my response may not have been perfect—it was more of an idea generator—but with hindsight, I realize I could’ve started by asking the user what their exact goals were. That would’ve significantly improved the usefulness of my suggestions.

One of my favorite aspects of programming is the vast number of ways to achieve a solution. While optimization is important, I wouldn’t discourage anyone from using AI tools like this. AI is particularly helpful for breaking down complex problems, explaining concepts, and providing second opinions. Many professionals use it as a resource, and for those learning to program, it can be invaluable. However, having an experienced human to review your work is equally important.

1 Like

My guess is that you’re possibly creating the basepart and it loads on the server but takes some time on the client.

I like how you clarify at first that you aren’t 100% sure of what you are saying (which is why you got AI to write it for you), and then pursue that clarification with a hugely written AI solution that looks like you didn’t even understand the context of client replication.

And then you write another AI reply to support your AI-written disagreement to mine just to sound smart.

However you are partially right in this response you have provided about the client parts not loading yet because it is too far, which I believe is due to streaming.

@Sterling_ODeaghaidh Models load differently to parts, you might’ve had the Atomic setting for ModelStreamingMode which would’ve been the reason why that loads before your parts.

Workspace also has the same setting but with more options.
image

Try changing the streaming behaviour, integrity mode and targetradius and see what happens?

1 Like

And by the way, I am not against AI so pardon for my rudeness. I am against people using them to write solutions for others on the forum. Roblox Lua-U is not a powerfully known language in AI so it tends to give wrong solutions to simple problems that are solved by Roblox’s latest technolgies that AI doesn’t have knowledge to. It pollutes and clutters the forum, misguiding users to a devotion of effort and time trying to solve something with a solution that does nothing but add more problems. You try to add B to A, then you get C trying to figure out why B isn’t working when the whole problem has been in A. That is what AI tends to do, it just keeps adding possible workarounds on top of eachother.

3 Likes

I think there’s been a misunderstanding that I’d like to clear up. When I say, “I could be wrong,” it’s not because I lack knowledge or rely solely on AI to articulate my points. I say it because I value humility and collaboration, principles I learned from books like How to Win Friends and Influence People. Over the years, I’ve sought advice from highly successful individuals and read their recommended books, which shaped my approach to communication and problem-solving. If you’d like, I’m happy to discuss this further via DM to clarify any doubts or share insights.

I firmly believe in the concept of welcoming disagreements because they can help us identify and fix mistakes. My intention in this thread wasn’t to prove anyone wrong or diminish their contributions but simply to assist the person who asked the question. If my initial post was less clear due to exhaustion, I apologize for any confusion. However, I stand by the accuracy of the information I provided.

Regarding the use of AI: While I understand concerns about its misuse, I see it as a tool to enhance clarity and efficiency in communication. If the information shared is accurate and helps resolve an issue quickly, it shouldn’t matter whether AI was used to refine it. My goal has always been to help others avoid spending hours feeling stuck, as I’ve been in that position myself.

To address the main topic, simplifying complex concepts is valuable, as seen in the quoted example. However, I also believe it’s important to understand the underlying details to deepen one’s knowledge. AI can sometimes provide explanations that seem overly complex, but with effort, these can serve as opportunities to learn and grow.

I hope we can refocus on the original purpose of this discussion: to assist the person seeking help. If you have constructive feedback or information that can advance the conversation, I welcome it. Otherwise, I kindly ask that unrelated comments to be shared via DM to keep the discussion productive and on-topic.

Atmoic is a all or nothing behavior. I was once given this advice only to see none of it load in. If the children are too far away The Model will not load at all.

I appreciate your input regarding the role of streaming settings in this scenario—it’s a good point that adds to the discussion. My original statement focused on the behavior of parts and models in shared spaces, and I stand by the idea that parts remain accessible via their parent model. That said, including the impact of streaming settings would provide a more complete picture. If tweaking these settings resolves the issue, it reinforces the point that the behavior is configurable rather than a hard limitation.

To be honest, I wouldn’t recommend tweaking the StreamingEnabled settings unless absolutely necessary. It’s a complex system that requires a solid understanding of how it works, and increasing the TargetRadius or changing models to Atomic can introduce unexpected issues. For example, I’ve personally experienced models not loading properly when set to Atomic.

When I encountered a similar issue, my workaround was duplicating the part I wanted to manipulate, setting its Transparency to 1 and CanCollide to false, and moving it to an area within the default streaming radius. While this may not be the best solution, it worked without needing to adjust streaming settings or risk impacting performance.

That said, I feel there’s likely a more optimal solution, but I’d need more details about the specific’s case to suggest something tailored to his needs. Feel free to share additional context, and I’d be happy to help brainstorm further!
@Sterling_ODeaghaidh If what we provided hasn’t been suffice, please elaborate on any specific needs you may have.

I’d like to point out that saying I’m “partially right” seeming to downplay the validity of my statement. What you’ve added doesn’t contradict my point but rather expands on it, suggesting that what I said was true while providing additional context

Oh my god, please stop with the AI responses. Like I said before, AI tends to stack workarounds that introduce more problems.

At this point you’re just wasting your time and effort with a post that has basically already been answered.

1 Like

You have the audacity to make statements like this:

…while accusing AI of being the problem.

Once again, I kindly ask that you refrain from replying unless you have something of actual value to contribute. If you believe the post is finished or feel there’s no need for further debate, then there’s no reason to reply. Let’s focus on constructive discussion rather than unproductive comments

You never brought up streaming modes, I HAD to actually do a simple search to find that out. You need to stop wasting peoples’ time who blindly follow your advice as you blindly ask AI to write them for you. You have no authentication, no legitimacy or any proof that EVEN you had tested your own code to see if it even works. Your contribution to this topic is nearly just as useless as me rambling on telling you not to use AI. It was only that one bit you had SUGGESTED was correct but you didn’t even know where it came from.

I do not care if you get things wrong, everyone does. I care when people blatantly spread possible misinformation to misguide people without owning up for themself that it may not work because it was written by AI.

The least I ask is that at least you admit you asked AI to write your solutions rather than asuming it was your lack of knowledge.

1 Like

I agree with every point you’ve made, however, I want to make a digression. “Luau” (one-word) is the intended spelling for the language, and it is read as “loo-ow”. This is stated in the header of its official webpage

Simple answer: streaming. Parts stream in and out all the time, so it may or may not exist in the player’s device if it’s too far away – when the remote event is received, the reference to that part would read nil.

Models also stream in and out, however the behavior’s a bit different.

The default behavior has Models (and Folders) always replicated to all players, but its contents wouldn’t always exist. You can change this by changing the model streaming mode.

2 Likes

I never claimed I did. However, if you look up the response I gave about the distance, it naturally leads to the concept of streaming modes. From my experience, none of the AI tools I’ve used—ChatGPT 3.5, GPT-4, Copilot, or Roblox AI—would independently suggest distance as the cause of this issue. They don’t inherently know the model’s location is far away unless explicitly told. This is something someone just clearly states to AI as well. Example: O hey AI btw this model is super far away… Yeah no lets be real that just doesn’t happen. People just want to know why it doesn’t work, In like you stated how AI does have it’s flaws. Not being able to realize this is the issue, and put it simply is one of them. This realization came to me after trial and error, not through AI. While I use AI to refine my grammar and phrasing, the solution itself was based on my own observations.

You say this while using a search likely based on the direction my results pointed to. Furthermore, you accuse me of “rambling” yet frequently make sideways comments that feel less like constructive input and more like attempts at provocation. If the intent is to help, let’s focus on solutions rather than these unnecessary exchanges.

This feels at odds with the way you’ve treated me throughout this discussion.

If that’s the case, I’m still waiting for you to clarify what part of my statements you consider misinformation. So far, no such clarification has been provided.

I find this particularly ironic, as I explicitly acknowledged areas for improvement earlier in this thread:

Was that not me owning up to something?

Edit* i was complete Ok with him thinking i never brought up streaming. Yet if you actually read the first post, In the First paragraph I posted, It was indeed mentioned. Sadly, It’s was wrongfully flagged.
Since you and no one else, Can actually explain how or why i was wrong. Maybe we will get lucky, and a Mod will come in and further explain.

You may go ahead and wrongfully flag my post. and assume i didn’t fact check anything.
It blows my mind you would say i used AI yet didn’t do any fact checking.

If you do look into my original post you will see my post actual explains some of the actual concepts behind Riesegarder Post and his link.

Please Explain to me how it is misinformation, If you are correct I will Glady fix my mistakes, However, no matter how much research I do. It seems my information Is correct.

I did not flag it by the way. When I mean owning up for yourself, I mean explicitly stating as a disclaimer, that you used AI. I am being stern because this is a common issue, a common agenda, and irritates a lot of people who actually know the issue but are being thrown random solutions in their face. It’s basically saying, “hey, let’s just reply to every topic with an AI response making me feel like a hero.” I think by now, in the big 25, thate everyone is aware that AI exists. I’m pretty sure he would’ve asked AI too why it was happening, I don’t blame him - I do the same when trying to develop algorithms.

Now in terms of clarifying what parts were misinformation, basically everything you said except for the distanced parts not loading in. Passing in properties instead of an instance is not a solution, it’s a workaround. You can pass client replicated instances from the server to the client as an argument when firing remotes. If he was asking for something else, he would’ve asked to how to workaround it. Here he was just asking why this was a behaviour.

1 Like

Actually, Quote it please. Take exactly what i said Quote it and explain how it was wrong.

I would, but your post is now deleted and I can’t quote it. Like I said before, I recall you talking about passing arguments with properties rather than an instance. This is a workaround, not a solution. You didn’t mention anything talking about streaming and I think you are just now lying now that I had mentioned streamingmode first.

I will now devote my time suitably to fulfill my needs because I believe I have wasted my time and the topic has already been answered - only you filling up this thread with an insane amount of AI clutter I don’t think people would even be bothered reading. Bye bye!