In brief
- V-Ray App SDK lets you create a V-Ray scene or start rendering by loading a .vrscene file.
- Interactive mode is for quick previews and testing scene settings; Production mode is intended for final images.
- Rendering can run in the background with start(); intermediate images can be retrieved while it is in progress.
- The documentation does not specify a particular software version or license price for App SDK.
V-Ray App SDK provides an API for starting and managing renders with the V-Ray engine, either from within an application or in a separate process. According to Chaos’s official documentation, a scene can be created in memory using V-Ray plugins or loaded from a .vrscene file. This guide explains the basic render loop in App SDK and which render mode is useful at different stages of a scene. Since the documentation does not specify a current software version for App SDK, this overview is based on the general workflow shown in the docs.
1. Prepare the environment
Locate the App SDK files. The documentation requires the
VRAY_SDKenvironment variable to be set before the SDK can be used. If you’re using the Python binding, thepythonfolder must be added to Python’s module search paths; the docs show this usingPYTHONPATH. This preparation allows the application to find the SDK components.Run the supplied environment script or consider an alternative. The docs show
setenv.batfor Windows andsource setenv.shfor Linux and macOS. These scripts set the relevant environment variables. If the SDK binaries are not in the product’s/binfolder structure, the docs say you can use theVRAY_APPSDK_BINvariable. When environment variables cannot be used, the API also provides an option to set the search path directly.
At this stage, make sure the folder structure on the computer matches the location where the application looks for the SDK library. The docs do not list requirements for a specific operating system setup or hardware, so installation details should be checked against the API documentation for the binding in use.
2. Create or load a scene
Initialize the render controller. The
VRayRendererclass in App SDK starts and manages the render process. A scene can be built in memory by creating V-Ray plugin objects and setting their parameters, or by loading a.vrscenefile, V-Ray’s scene format. The docs also note that the two methods can be combined.
How you create a scene depends on your existing production pipeline. For example, an application can convert its own scene data into V-Ray plugins, or open a previously exported .vrscene file. App SDK is not designed to require a specific modeling application; its purpose is to enable this kind of integration with the V-Ray render engine.
Choose a render mode once the scene is ready. The docs describe two main options:
| Render mode | Documented use | Role in the workflow |
|---|---|---|
| Interactive | Quick image previews and progressive image-quality refinement | Get feedback while testing scene content or settings |
| Production | Produce a final image from a carefully configured scene; rendering may take time to complete | Create the final image |
Both modes support CPU and GPU options. The docs state that CUDA and OptiX are available only for NVIDIA, while Metal and MetalRT are available only for Apple. The render type is selected using the renderMode property of the VRayRenderer object. The docs describe Interactive (CPU) as the class’s default mode, so choose the mode explicitly according to the application’s purpose and available system support.
3. Start the render and retrieve the result
Start rendering. The
start()method launches the render process on a separate thread and returns without waiting. This lets the application perform other tasks while rendering or remain ready to retrieve progress images. The Python example in the docs loads a scene, starts the render, waits for it to finish and saves the resulting image as a PNG:
import vray
with vray.VRayRenderer() as renderer:
renderer.load('./intro.vrscene')
renderer.start()
renderer.waitForRenderEnd(6000)
image = renderer.getImage()
image.save('intro.png')The 6000 value in the code example is an example argument passed to waitForRenderEnd in the documentation; it is not presented as a recommended or required duration for every scene. In production code, handle the wait behavior according to the documentation for the API binding in use.
Review the image while rendering and release resources. App SDK notes that the current image data can be retrieved before rendering is complete. This can be useful, especially in Interactive mode, for displaying a preview in the application interface or monitoring the process. The docs describe the final image as ready when the renderer reaches the
IDLE_DONEstate. Once the work is complete, the renderer should be closed; in the Python example, thewithblock manages this lifecycle.
The docs also explain that you can listen for events when the render state changes, when V-Ray generates a message, or when task and progress information is reported. These notifications help an integration manage application-side behavior during loading, rendering and completion. However, callbacks run on a separate thread; slow user code can delay other callbacks.
What changes in architectural and archviz workflows?
App SDK is useful for teams that want to integrate repetitive render steps into an application or manage a V-Ray scene from another process. Architecture firms and archviz studios can use Interactive mode to test scenes and content, then switch to Production mode for final images. This lets them change how they work between preview and final output while using the same renderer.
However, the sources do not provide a compatibility matrix for specific 3D software, hardware requirements, licensing terms or pricing. When choosing CPU or GPU rendering, you can consider only the options documented and the platform limitations of the relevant GPU technologies; no conclusions can be drawn about performance. Before setting up an application integration, check the API documentation for the language binding in use and the folder structure where the SDK libraries will be located.
Common mistakes
Starting the SDK binding without setting
VRAY_SDKor an appropriate alternative path can prevent the libraries from being found.Don’t assume that calling
start()means rendering has finished; the docs describe it as an asynchronous call that returns without waiting.Changes to the scene or renderer while rendering in the
PREPARINGstate may be rejected. The docs give this warning for cases wherestart()is used instead ofstartSync().Slow callbacks connected to V-Ray events can delay other callbacks, so review what your event handlers do.
Treating the wait argument in the sample code as a fixed setting for every project goes beyond what the documentation says.
This documentation explains the fundamentals of loading a scene and managing a render through App SDK, not how to select specific render settings in a user interface. For details on settings within an application, consult the API reference for the relevant binding.
Sources
2 sourcesSource texts are not republished; short quotes are marked, everything else is our own summary and commentary.
For architecture and visualization firms in Turkey, the practical value of App SDK lies in its ability to connect V-Ray rendering to an existing application or automation workflow. Being able to switch between Interactive and Production modes through the same renderer offers a way to manage previews and final images without splitting the process across separate tools.
However, this documentation does not provide pricing, licensing terms, hardware requirements or compatibility information for specific software. Before making an investment decision, clarify the SDK setup and the scope of the API for the binding you plan to use. The most common operational risks appear to be misconfiguring environment variables and assuming that an asynchronous render has finished.
Frequently asked questions
What is V-Ray App SDK used for?
It lets you start and manage rendering with the V-Ray engine from within an application or in a separate process. A scene can be created in memory using plugins or loaded from a `.vrscene` file.
What is the difference between Interactive and Production modes in V-Ray App SDK?
The docs describe Interactive mode as being for quick previews and testing settings, while Production mode is for creating a final image from a carefully configured scene.
Which GPU options does V-Ray App SDK support for rendering?
The docs state that CUDA and OptiX are for NVIDIA, while Metal and MetalRT are for Apple GPUs. The render mode can be set to CPU or GPU.



