Render Machine

Learn more about render machines and what you can use them for.

Render machines are Unity components that are added to game objects. They’re mostly used for game logic related to rendering, e.g. objects becoming visible/invisible to the camera.

A render machine component can be added through the components menu (Makinom > Machines > Render Machine) or the scene wizard (Add Machine > Render Machine). A game object with a render machine is represented in the Unity scene view by this gizmo icon:

You can learn more about machine components in general and their basic settings here.

Start Types #

A render machine is started by renderer and camera callback functions.

Became Invisible #

Started when the machine’s game object is no longer visible by any camera. It’s implemented in the component’s OnBecameInvisible function.

Example #

This start type can be used to disable game objects that are no longer visible. Use a Activate Object node to enable or disable a game object.

Became Visible #

Started when the machine’s game object became visible by any camera. It’s implemented in the component’s OnBecameVisible function.

Example #

This start type can be used to add a visible object to a HUD’s user list. Use a Call HUD node to add users to a HUD.

Pre Render #

Started before a camera starts rendering the scene and if the machine is attached to a camera. It’s implemented in the component’s OnPreRender function.

If you want to change the camera’s viewing parameters, do this in Pre Cull instead.

Example #

This start type can be used to make final adjustments to the camera before rendering. Use a Change Camera Options node to change settings of the camera.

Post Render #

Started after a camera finished rendering the scene and if the machine is attached to a camera. It’s implemented in the component’s OnPostRender function.

Example #

This start type can be used to reset camera adjustments after rendering. Use a Change Camera Options node to change settings of the camera.

Pre Cull #

Started before the camera culls the scene. It’s implemented in the component’s OnPreCull function.

Culling determines which objects are visible to the camera.

Example #

This start type can be used to make final adjustments to the camera before rendering. Use a Change Camera Options node to change settings of the camera.

Will Render Object #

Started once for each camera the machine’s game object is visible in during culling. It’s implemented in the component’s OnWillRenderObject function.

Example #

This start type can be used to make final adjustments to the game object. E.g. use a Change Color node to change the game object’s color.

Render Object #

Started after the camera has rendered the scene, similar to Post Render, but used on all game objects not only cameras. It’s implemented in the component’s OnRenderObject function.

Example #

This start type can be used to reset adjustments on a game object. E.g. use a Change Color node to change the game object’s color back.