Main principles

To continue in this section, it is strongly recommended to have basic knowledge of Unity3D Editor and SOFA physics Engine.

  • Full documentation and tutorials for Unity3D can be found here: Unity Manual
  • Same for SOFA can be found here: SOFA doc
    Do not hesitate to contact the SOFA consortium to get help on where to start and get information regarding trainings.

The asset allows you to run SOFA simulation in background while your Unity3D project is running. Basically, at each Update of the Unity3D application, a simulation step will be requested in SOFA. Note that the execution is performed asynchronously and thus the time step used in your physical simulation may be different to the Unity update frequency.

In more details, through a hierarchy of C# classes relying on the Unity3D monobehaviour mechanism, the asset provides a set of Unity3D scripts and GameObjects representing the main SOFA components. Like any GameObject, they can be edited using the Inspector view and added to the SOFA simulation scene graph through the Hierarchy view. See Object Creation of Scene Graph Edition for more details.


SOFA gather many different physics principles. It’s simulation scene graph can quickly be complex. Therefore several level of integration are possible to create SOFA simulation using SofaAPAPI-Unity3D:

  • The simplest way is by loading existing SOFA simulation scene (*.scn). See the section: SOFA Scene Parsing
  • By creating high level SOFA-Unity objects. See the section: Object Creation
  • Or by creating SOFA component representation directly inside the Unity3D scene graph. See the section: Graph Edition