# Missing model error when attaching in HOOPS Web Viewer

**URL:** <https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870>\
**Category:** HOOPS Visualize Web\
**Tags:** knowledge-base\
**Created:** [September 12, 2025, 10:33am UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870 "2025-09-12T10:33:54Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![cad-developer](https://avatars.discourse-cdn.com/v4/letter/c/f0a364/32.png) [@cad-developer](https://forum.techsoft3d.com/u/cad-developer)\
**Post date:** [September 12, 2025, 10:33am UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/1 "2025-09-12T10:33:54Z")

</div>

Hi Team,

I’m running into an error when trying to attach a model in HOOPS Web Viewer:

```auto
Uncaught (in promise) yd: Missing model: ‘TS051.scs’
    at _attached (hoops-web-viewer.mjs:43847:1)
    at Mv.unsafeTrigger (hoops-web-viewer.mjs:9245:1)
    ...

```

From what I understand, the viewer is not able to locate the `TS051.scs` file.  
Here’s what I’ve already checked:  
Model is present on server in a folder from where SC server is searching for the models.

Still, the viewer throws this error.

Could you please guide me on this.

Thanks in advance for your support!

---

<div class="post-metadata">

**Author:** ![tino](https://avatars.discourse-cdn.com/v4/letter/t/9dc877/32.png) [@tino](https://forum.techsoft3d.com/u/tino)\
**Post date:** [September 12, 2025, 11:42am UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/2 "2025-09-12T11:42:43Z")

</div>

Hello,

Can you please share the specific functions you are calling to load the model?

Thanks,  
Tino

---

<div class="post-metadata">

**Author:** ![cad-developer](https://avatars.discourse-cdn.com/v4/letter/c/f0a364/32.png) [@cad-developer](https://forum.techsoft3d.com/u/cad-developer)\
**Post date:** [September 12, 2025, 12:29pm UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/3 "2025-09-12T12:29:24Z")

</div>

if (rendererType === RendererType.Server) {  
console.log(‘server’);  
viewer = new WebViewer({  
containerId: divId,  
endpointUri,  
model: model?.modelName,  
rendererType: rendererType,  
});  
} else if (defaultModel) {  
console.log('data - ', endpointUri, model, rendererType, defaultModel);  
viewer = new WebViewer({  
containerId: divId,  
endpointUri,  
model: model?.modelName,  
rendererType: rendererType,  
});  
} else {  
viewer = new WebViewer({  
containerId: divId,  
empty: true,  
});  
}

 ![image](https://us1.discourse-cdn.com/flex020/uploads/techsoft3d/original/2X/2/2142cc8f379815901756166cbb759375c84e64eb.png)

Running in SSR mode in second if else

---

<div class="post-metadata">

**Author:** ![tino](https://avatars.discourse-cdn.com/v4/letter/t/9dc877/32.png) [@tino](https://forum.techsoft3d.com/u/tino)\
**Post date:** [September 12, 2025, 2:29pm UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/4 "2025-09-12T14:29:48Z")

</div>

You cannot load an SCS file in an **SSR session** as this type of session requires a SC/SCZ file. If you want to load an SCS file, you will need to switch to CSR and use `endpointUri`, for example:

`endpointUri: 'TS051.scs',`

And remove `modelName`.

---

<div class="post-metadata">

**Author:** ![cad-developer](https://avatars.discourse-cdn.com/v4/letter/c/f0a364/32.png) [@cad-developer](https://forum.techsoft3d.com/u/cad-developer)\
**Post date:** [September 12, 2025, 2:45pm UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/5 "2025-09-12T14:45:44Z")

</div>

second block of else if is SCS session and i am loading scs files TS051.

this is enpointUri using internal routing by spawnId - ws://localhost:8082/ca04f475-0786-4b4c-9071-5b7ba203cc6a

and modelName is “TS051.scs”

---

<div class="post-metadata">

**Author:** ![tino](https://avatars.discourse-cdn.com/v4/letter/t/9dc877/32.png) [@tino](https://forum.techsoft3d.com/u/tino)\
**Post date:** [September 12, 2025, 2:48pm UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/6 "2025-09-12T14:48:42Z")

</div>

Is your code based off of one of our projects/sandboxes? If so, can you tell me which one?

---

<div class="post-metadata">

**Author:** ![cad-developer](https://avatars.discourse-cdn.com/v4/letter/c/f0a364/32.png) [@cad-developer](https://forum.techsoft3d.com/u/cad-developer)\
**Post date:** [September 12, 2025, 2:50pm UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/7 "2025-09-12T14:50:27Z")

</div>

No. This is our client project.

---

<div class="post-metadata">

**Author:** ![cad-developer](https://avatars.discourse-cdn.com/v4/letter/c/f0a364/32.png) [@cad-developer](https://forum.techsoft3d.com/u/cad-developer)\
**Post date:** [September 12, 2025, 2:51pm UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/8 "2025-09-12T14:51:11Z")

</div>

The error i am getting is viewer specific or sc server specific?

---

<div class="post-metadata">

**Author:** ![tino](https://avatars.discourse-cdn.com/v4/letter/t/9dc877/32.png) [@tino](https://forum.techsoft3d.com/u/tino)\
**Post date:** [September 13, 2025, 1:04am UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/9 "2025-09-13T01:04:38Z")

</div>

If the second `else` statement handles loading the SCS, your code is actually hitting the first `else` statement because `defaultModel` is true. In this clause, the WebViewer configuration is set up to load an SC/SCZ file not an SCS.

For the second `else`, let’s try something like this to load an SCS:

```auto
} else {
viewer = new WebViewer({
containerId: divId,
endpointUri: model?.modelName,
rendererType: rendererType //Needs to be CSR not SSR
});

```

As a test, force `defaulModel` to `false`.

---

<div class="post-metadata">

**Author:** ![cad-developer](https://avatars.discourse-cdn.com/v4/letter/c/f0a364/32.png) [@cad-developer](https://forum.techsoft3d.com/u/cad-developer)\
**Post date:** [September 13, 2025, 8:47am UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/10 "2025-09-13T08:47:42Z")

</div>

I Tested multiple times with combinations to load models into the viewer what I observed is that -

1. In CSR mode -
  1. when modelName set to TS051.scs - the TS051.scs model as well as TS051.scz model both throws “Missing Model TS051.scs”
  2. when modelName set to TS051.scz - the TS051.scs model throws “Missing Model TS051.scz” but the TS051.scz loads perfectly

2. In SSR mode - No matter what you set viewer always gets freeze before loading the model

---

<div class="post-metadata">

**Author:** ![tino](https://avatars.discourse-cdn.com/v4/letter/t/9dc877/32.png) [@tino](https://forum.techsoft3d.com/u/tino)\
**Post date:** [September 13, 2025, 11:35am UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/11 "2025-09-13T11:35:28Z")

</div>

> [@cad-developer](#):
>
> when modelName set to TS051.scs - the TS051.scs model **as well as TS051.scz model**

It’s unclear to me what “…as well as TS051.scz model” means – given that the modelName to load TS051.scs? It sounds like you have logic to try load an SCZ even if the model is SCS?

---

<div class="post-metadata">

**Author:** ![cad-developer](https://avatars.discourse-cdn.com/v4/letter/c/f0a364/32.png) [@cad-developer](https://forum.techsoft3d.com/u/cad-developer)\
**Post date:** [September 15, 2025, 5:35am UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/12 "2025-09-15T05:35:00Z")

</div>

Lets make it simple.

In SSR Mode -

I want to say that in below code I set modelName TS051.scs to load that scs model. but its giving error that missing model TS051.scs even if that model is present in the folder. So then I just replaced the TS051.scs model with TS051.scz model in that folder and changed the modelName to TS051.scz its get loaded into the viewer.

viewer = new WebViewer({  
containerId: divId,  
endpointUri: model?.modelName,  
rendererType: rendererType //Needs to be CSR not SSR  
});

but in CSR mode scs models should be able to load no? Instead scz models are loading in CSR mode properly.

In SSR Mode - Viewer getting feeze even I try to load scz models

---

<div class="post-metadata">

**Author:** ![tino](https://avatars.discourse-cdn.com/v4/letter/t/9dc877/32.png) [@tino](https://forum.techsoft3d.com/u/tino)\
**Post date:** [September 15, 2025, 9:56am UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/13 "2025-09-15T09:56:45Z")

</div>

I have a couple of suggestions:

- SCS files, because they are file-based, are in different directory folders than Stream Cache. These folders are managed by `fileServerStaticDirs` in the server configuration file. Please see _HOOPS\_Communicator\_2025.X.x\quick\_start\server\_config.js_ for an example.
- You can try creating the WebViewer configuration based on whether the model file is SCS or SC/SCZ. Below is a code snippet:

```auto
if (model?.modelName?.endsWith('.scs')) {
  console.log('SCS');
  viewer = new WebViewer({
    containerId: divId,
    endpointUri: modelName
  });
} else {
  console.log('data - ', endpointUri, model, rendererType, defaultModel);
  viewer = new WebViewer({
    containerId: divId,
    endpointUri: endpoint,
    model: model?.modelName,
    rendererType: rendererType,
  });
}

```

---

<div class="post-metadata">

**Author:** ![cad-developer](https://avatars.discourse-cdn.com/v4/letter/c/f0a364/32.png) [@cad-developer](https://forum.techsoft3d.com/u/cad-developer)\
**Post date:** [September 15, 2025, 10:53am UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/14 "2025-09-15T10:53:32Z")

</div>

Is modelName full path to the scs model present on server in if block? So, no server-side rendering?

---

<div class="post-metadata">

**Author:** ![tino](https://avatars.discourse-cdn.com/v4/letter/t/9dc877/32.png) [@tino](https://forum.techsoft3d.com/u/tino)\
**Post date:** [September 15, 2025, 11:02am UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/15 "2025-09-15T11:02:27Z")

</div>

The modelName does not have to be the full path. If the SCS is in a subfolder, it can be something like:

```auto
endpointUri: "data/myModel.scs"

```

SSR and CSR is controlled by `rendererType: rendererType`. SSR should work too in the `else` statement because the WebViewer config will be the same for both SSR and CSR.

---

<div class="post-metadata">

**Author:** ![cad-developer](https://avatars.discourse-cdn.com/v4/letter/c/f0a364/32.png) [@cad-developer](https://forum.techsoft3d.com/u/cad-developer)\
**Post date:** [September 16, 2025, 5:25am UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/16 "2025-09-16T05:25:03Z")

</div>

I am confused about the required file types for different modes in HOOPS Communicator.

There are **three modes** of operation:

1. **CSR** – Client-Side Rendering with streaming from the server

2. **SSR** – Server-Side Rendering with streaming from the server

3. **SCS file rendering** – Directly loading the whole `.scs` file in the browser (no server involved)

My questions are:

- In **CSR mode** , which file type is required: `.scs` or `.scz`?

- In **SSR mode** , which file type is required: `.scs` or `.scz`?

Also, in our setup:

- We use a Node.js SC Server with a proxy.

- The viewer connects via WebSocket:

But how would it work if we want to load only `.scs` files using just the `endpointUri` without specifying `modelName`? For example:

```auto
endpointUri: "data/myModel.scs"

```

**Note:**

- Currently, only `.scz` files are getting streamed in CSR mode.

- `.scz` might also work in SSR mode, but the viewer is currently freezing (possibly a GPU issue).

---

<div class="post-metadata">

**Author:** ![tino](https://avatars.discourse-cdn.com/v4/letter/t/9dc877/32.png) [@tino](https://forum.techsoft3d.com/u/tino)\
**Post date:** [September 16, 2025, 1:06pm UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/17 "2025-09-16T13:06:05Z")

</div>

Please see this section on the Web Viewer configuration in our docs for more details:

> **[Configuration — HOOPS Communicator Documentation](https://docs.techsoft3d.com/communicator/latest/prog_guide/viewing/configuration.html#configuration)**

Regarding your questions and comments:

- SCS file is CSR only. Regular Stream Cache and Stream Cache zip (SCZ) are CSR and SSR.
- SCS is file-based and is loaded via HTTP request not WebSocket. Please see the [loading section](https://docs.techsoft3d.com/communicator/latest/prog_guide/viewing/data_model/stream_cache/loading.html#scs) in our docs.

> [@cad-developer](#):
>
> `.scz` might also work in SSR mode, but the viewer is currently freezing (possibly a GPU issue).

Does the model load in the viewer and freezes or the model doesn’t load at all?

---

<div class="post-metadata">

**Author:** ![cad-developer](https://avatars.discourse-cdn.com/v4/letter/c/f0a364/32.png) [@cad-developer](https://forum.techsoft3d.com/u/cad-developer)\
**Post date:** [September 16, 2025, 2:02pm UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/18 "2025-09-16T14:02:37Z")

</div>

Model doesnt load at all

---

<div class="post-metadata">

**Author:** ![tino](https://avatars.discourse-cdn.com/v4/letter/t/9dc877/32.png) [@tino](https://forum.techsoft3d.com/u/tino)\
**Post date:** [September 16, 2025, 2:32pm UTC](https://forum.techsoft3d.com/t/missing-model-error-when-attaching-in-hoops-web-viewer/4870/19 "2025-09-16T14:32:39Z")

</div>

You can try looking at the Communicator logs — the location of which is specified in the server configuration file. Using my system as an example, the default directory for the Communicator package is placed in C:\Users\tino.perez\ts3d\_communicator\_logs

Compare the logs generated by CSR and SSR and see if there are any differences. The names of the .log files are prefixed by:

comm\_scserver\_ssr\* and comm\_scserver\_csr\*
