Module cannot find instances

It cannot detect the part even if the argument is passed…

Not the direct solution to your problem, but I hope you read this so you can work on your code:

It is not recommended to pass Instances through remotes. When you pass a part in the workspace from the server to the client, the client is not guaranteed to receive that part for a simple reason - it has not loaded in yet for the client.

By default, StreamingEnabled is true, meaning the workspace will load and unload as you walk around on the client. The major consequence this has is that the part you are trying to reference, even if it’s coming from the server, can return nil on the client.

With that in mind, you can handle this in 3 different ways:

  1. Instead of passing Instances, pass the CFrame values of your camera parts instead, then the client would simply have to set and let the Roblox engine render in the map as the cutscene is being played.

  2. Group your camera parts into a Model with the ModelStreamingMode set to Persistent, then use workspace.PersistentLoaded to initiate your cutscene. Then, and only then, will the parts be always available to the client regardless of distance.

  3. Handle the cutscene entirely locally.

Be mindful of using method 2. Only use it for important, minimal amount of parts. Overusing persistent models defeats the entire purpose of StreamingEnabled.

I can say that changing it to the camera CFrame fixed the issue, now the CameraSubject & CameraType property on workspace.CurrentCamera does not change.

Why does that happen? It never had happened before.

What I mean is when the camera CFrame tween is finished it returns back to the character

I’ve fixed it with camera:GetPropertyChangedSignal("CameraType"):Wait() and after changed the CameraType, it is now fixed. Thank you all for helping me.

I will use @OniiSamaUwU 's method because that one works for me.