private void CreateExpressionContext(bool forceRecreation) { if (!forceRecreation && m_ExpressionContext != null) { return; } m_ExpressionContext = new VFXExpression.Context(VFXExpressionContextOption.CPUEvaluation); var currentObjects = new HashSet <ScriptableObject>(); graph.CollectDependencies(currentObjects); int nbExpr = 0; foreach (var o in currentObjects) { if (o is VFXSlot) { var exp = ((VFXSlot)o).GetExpression(); if (exp != null) { m_ExpressionContext.RegisterExpression(exp); ++nbExpr; } } } }