Use the same webcamtexture on multiple objects

UPDATE: In scene view it seems changing the position of the blocks while the game is started, turns the webcamtexture on and off.

I’m attempting to use the live feed of a webcam as a texture on multiple objects. Within the objects that are meant to display the feed I have the following script

private WebCamTexture _webcamTexture;
private Renderer _renderer;
void Start () {
	_webcamTexture = new WebCamTexture ();
	

	_renderer = GetComponent<Renderer> ();
	_renderer.material.mainTexture = _webcamTexture;
	_webcamTexture.Play ();

}

It works fine on one. But it does not work on multiple objects. I also attempted making the texture a global static and having each object access the texture instead of everyone making their own however that didn’t resolve the issue. I’ve been able to get it to render on 2 cubes but not more than that.

Try applying the texture to a material.

 // Assign the Material you are using for the web cam feed
    [SerializeField] private Material webCamTex;  

	void Start()
	{
        // Grabbing all web cam devices
        WebCamDevice[] devices = WebCamTexture.devices;

        // I just use the first one, use which ever one you need 
        string camName = devices[0].name;

        // set the Texture from the cam feed
        WebCamTexture camFeed = new WebCamTexture (camName);

        // Assign the materials texture to the WebCamTexture you made,
        // this applies it to all objects using this Material
        webCamTex.mainTexture = camFeed;

        // Then start the texture
        camFeed.Play ();    
	}

I am trying to do the same. Did this work for anyone?

If you just use this one script and add the texture to another renderer it should work:

webCamTex.mainTexture = camFeed;
other_renderer.material.mainTexture = camFeed;

If you use the same script on 2 objects it won’t work (it doesn’t for me at least).