public void Start(ulong senderId, int frameWidth, int frameHeight) { Stop(); _senderId = (uint)senderId; IRtcEngine engine = IRtcEngine.QueryEngine(); if (engine != null) { _videoRender = (VideoRender)engine.GetVideoRender(); _videoRender.SetVideoRenderMode(VIDEO_RENDER_MODE.RENDER_RAWDATA); _videoRender.AddUserVideoInfo(_senderId, 0); } _nativeTexture = new Texture2D(frameWidth, frameHeight, TextureFormat.RGBA32, false); OnUpdateTexture?.Invoke(_nativeTexture); _customTextureRenderer = new PluginTextureRenderer( UpdateRawTextureDataFunction, targetTexture: _nativeTexture, autoDispose: false ); CustomTextureRenderSystem.Instance.AddRenderer(_customTextureRenderer); }