Your render environment is different from the environment of your user account on your workstation.

There are different kinds of environment configurations.


Type 

Description

Cross OS/Platform Conversion

System/OS environment

All environment variables that you set in your machines operating system are available.
New variables might require a system restart to take effect for Royal Renders background service.

None as you setup the paths on each computer.

SetEnv file 
- global

There is a file RR\render_apps\_setenv\all\_global__inhouse.rrEnv which you can use to set environment variables for all kind of jobs.

It requires an OS switch:
[If] <rrExeOS>  [==] win
[Else]
[EndIf]

SetEnv file 
- software specific

There is a file RR\render_apps\_setenv\all\app.rrEnv or app_renderer.rrEnv which sets environment variables for jobs of this app or renderer.

If app_renderer.rrEnv exists, it is uses, otherwise app.rrEnv is used.



Note: We have split the setenv files into an "RR factory" and an inhouse file.

For example maya.rrEnv and maya__inhouse.rrEnv.

If you update RR, then unchanged RR factory files are updated. 

Instead of editing the rrEnv file named the same as the render app (e.g. arnold.rrEnv), you should edit or create the __inhouse files (e.g. arnold__inhouse.rrEnv).

This way you can modify the render environment, but still get important updates for the main files.


Please see Setenv Files for more information

It requires an OS switch:
[If] <rrExeOS>  [==] win
[Else]
[EndIf]

Custom job options uses in __inhouse.rrEnv file.

If you use your own submission script, then you can add Custom Job Variables.

In your xml file with  <CustomMyVar> myVar </CustomMyVar>

and in the submitter commandline with   -CustomMyVar "myVar"


These variables can then be converted into an environment variable in your render_apps\_setenv\all\***__inhouse.rrEnv   files.
Example: 

Add the next line to the file [RR]\render_apps\_setenv\all\houdini__inhouse.rrEnv

MyEnvVar= <CustomMyVar>

It requires an OS switch:
[If] <rrExeOS>  [==] win
[Else]
[EndIf]

rrEnvFile

Each job has a filename parameter "rrEnvFile".

If this file is found, it is converted into environment variables.

By default the path is set to <CompanyProjectRoot>renderfarm.rrEnv



You have multiple ways to create/edit a rrEnvFile:

  • Use the [RR]\bin\...\baEnvFile_Editor.exe to create/edit rrEnv files.
  • Use the rrSubmitter, top area "Scene Settings", "Edit rrEnvFile".
  • Use any text editor or script. (Example files are in folder [RR]\render_apps\_setenv\all\)



Set rrEnvFile for a job:

  • If you use the rrSubmitter UI, you can set them via "Edit rrEnvFile". 
  • If you use a submission xml, you can add a line <rrEnvFile> per job.
  • Commandline: add a flag "OverrideRREnvFile=0~//fileserver/share/myfile.rrenv"
  • rrSubmitter default files: 
    This way you can set a rrEnv File for all jobs of e.g a project, user or machine (as there is one submitter defaults file for each project, user or machine).
    Edit the default file of the project/user/machine via the rrSubmitter menu and change/add the line OverrideRREnvFile=0~//fileserver/share/myfile.rrenv
    or edit the submitter defaults file "First" and add the line OverrideRREnvFile=0~<CompanyProjectRootFolder>renderfarm.rrEnv.
    This way RR will automatically use the rrEnv file in your project root folder.
  • Render config files:
    Add the line 
      OverrideRREnvFile=0~<CompanyProjectRootFolder>Softimage.rrEnv
    or OverrideRREnvFile=0~//fileserver/share/Softimage.rrEnv


It requires an OS switch in your rrEnv file to get different paths for each OS:
[If] <rrExeOS>  [==] win
[Else]
[EndIf]

rrEnvList
(Requires v8.3 or v9)

You can set a custom variable rrEnvList with all your enviroment variables. 

Each job can have a parameter "rrEnvList".


rrEnvList format:

The format of the line is   VarNameA=ValueA~~~VarNameB=ValueB~~~VarNameC=ValueC

or with optional spaces    VarNameA=ValueA  ~~~ VarNameB=ValueB  ~~~ VarNameC=ValueC

Note: Do not use spaces in variable names!


Advanced rrEnvList format:

In fact, the rrEnvList is a packed rrEnv file.
Each part between ~~~ is a line of an rrEnv file.
This means you can add "echo" commands, "if" conditions, copy/sync executions, ...
Example rrEnv files are located in [RR]\render_apps\_setenv\all\ or you can use the [RR]\bin\...\baEnvFile_Editor.exe to create example rrEnv files.


Set rrEnvList:

  • If you use a submission xml, you can add a line <rrEnvList>VariableA=ValueA~~~VariableB=ValueB</rrEnvList> per job.
  • Commandline: add a flag "OverrideRREnvList=VariableA=ValueA~~~VariableB=ValueB"
  • rrSubmitter default files: This way you can set a rrEnv File for all jobs of a project. Edit the default file via the rrSubmitter menu and change/add the line OverrideRREnvList=0~myResVariableA=ValueA~~~VariableB=ValueB

The rrEnvList is automatically converted by RRs OS conversion. 

If you require slashes on Windows (e.g. for Houdini), please use the rrEnv syntax and append [BSlashConvert] before your variable name: 
[BSlashConvert] VarNameA = ValueA 



rrEnvLine 
(Deprecated since 8.3)



You can set a custom variable rrEnvLine with all your enviroment variables. 

Each job can have a parameter "rrEnvLine".


rrEnvLine format:

The format of the line is   VariableA=ValueA%%VariableB=ValueB%%VariableC=ValueC

or with optional spaces    VariableA=ValueA   %%   VariableB=ValueB  %%     VariableC=ValueC

Note: Do not use spaces for variable names or values, but you can use spaces between variable definitions.



Set rrEnvLine:

  • If you use a submission xml, you can add a line <rrEnvLine>VariableA=ValueA%%VariableB=ValueB</rrEnvLine> per job.
  • Commandline: add a flag "OverrideRREnvLine=VariableA=ValueA%%VariableB=ValueB"
  • rrSubmitter default files: This way you can set a rrEnv File for all jobs of a project. Edit the default file via the rrSubmitter menu and change/add the line OverrideRREnvLine=0~myResVariableA=ValueA%%VariableB=ValueB


The rrEnvLine is automatically converted by RRs OS conversion. 
You have to use backslashes if you submit on Windows to make the OS conversion work.