In this page you'll find help regarding common pitfalls and known issues.
All sample scenes included with all Obi assets are authored for Unity's default pipeline, which is the built-in render pipeline (BiRP). If you're using a Scriptable Render Pipeline, you will need to update the materials in these scenes to use a shader compatible with your pipeline. See the setup steps.
Make sure you've installed the Jobs package. It is a preview package, so it may not appear in the package manager unless you've enabled pre-release packages in the package manager. Alternatively, you can install it by git url, the package name is com.unity.jobs. See backends for details. If the issue persists, please contact us.
Some versions of the Collections package use length, others use Length with capital L. Unity's API auto-updater doesn't pick this one up, we're working on using version defines to conditionally compile the correct version. As a workaround you can manually open up Obi/Scripts/Common/Backends/Burst/DataStructures/NativeMultilevelGrid.cs and replace occurrences of length with Length.
In case collisions aren't working properly or at all, here's things to check:
If all the above points are OK and collisions still don't work properly, it could be due to insufficient spatial or temporal resolution. To check whether spatial sampling is the culprit, add a ObiParticleRenderer component to your Obi actor. This will allow you to visually inspect its particle-based representation, and look at how particles behave. If there's large gaps in between the particles, other objects might slip trough. You can fix this by adding more particles or increasing their radius, this is done differently depending on the specific actor:
If you don't want to increase the amount of particles or their radius, you can try using surface collisions. These will consider the gaps in between particles as solid matter, however they only work for ropes/rods and cloth.
Lastly, temporal resolution might be the issue. This is specially the case when your actors and/or objects are thin and move fast. This can cause tunneling, which is a common phenomenon suffered by all physics engines where objects pass right trough each other. The solution in this case is to either decrease Unity's fixed timestep, or increase the amount of substeps used by your Obi Updater.
If some of the cloth meshes in the included sample scenes seem broken ("spiky", or looking like a triangle soup), that means the Unity version you're using to run the scenes serializes mesh vertices in an order different than the Unity version the scenes were created with. As a result, cloth thinks vertices are in some specific order, but Unity renders the mesh using a different order which causes visual glitches.
The solution is simple, if tedious: re-generate the cloth blueprints, and setup any per-particle properties/attachments again. Note this is only necessary when opening existing sample scenes in a Unity version whose mesh serialization system uses a different vertex ordering, in recent Unity history this has only happened twice: in 2019.1 and 2021.2. It won't happen when you create your own cloth setups. Unfortunately there's nothing we can do on our end to prevent this, since we don't know when/if Unity will modify its mesh import pipeline and change vertex ordering again.
If some of the cloth meshes in the included sample scenes seem broken ("spiky", or looking like a triangle soup), that means the Unity version you're using to run the scenes serializes mesh vertices in an order different than the Unity version the scenes were created with. As a result, softbodies think vertices are in some specific order, but Unity renders the mesh using a different order which causes visual glitches.
The solution is simple: click the "Bind skin" button in the ObiSoftbodySkinner component. This will rebind the mesh vertices to the softbody particles in the correct order. Note this is only necessary when opening scenes in a Unity version whose mesh serialization system uses a different vertex ordering, in recent Unity history this has only happened twice: in 2019.1 and 2021.2. It won't happen when you create your own softbody setups. Unfortunately there's nothing we can do on our end to prevent this, since we don't know when/if Unity will modify its mesh import pipeline and change vertex ordering again.
RTHandles are a new API in URP 15, which replace manual handling of render targets. This means any ScriptableRendererFeatures written for previous URP versions are incompatible with URP 15 and up. This API is also subject to change in the future, replaced with the RenderGraph API. For this reason, we have made a temporary patch available which will allow you to run the fluid renderer in URP 15/16 in the meantime. You can download it here.
All sample scenes included with all Obi assets are authored for Unity's built-in render pipeline (BiRP). If you're using a Scriptable Render Pipeline, you will need to update the materials in these scenes to use a shader compatible with your pipeline. See the setup steps. Furthermore, ObiFluid's fluid rendering only works in the built-in render pipeline and URP's 3D renderer, there's no support for URP's 2D lighting system or for HDRP. To learn how to set up fluid rendering for URP, see fluid rendering.