diff --git a/Runtime/Elements/ExposedParameter.cs b/Runtime/Elements/ExposedParameter.cs index 03d666ad..75adaa6e 100644 --- a/Runtime/Elements/ExposedParameter.cs +++ b/Runtime/Elements/ExposedParameter.cs @@ -68,7 +68,7 @@ void ISerializationCallbackReceiver.OnBeforeSerialize() {} protected virtual Settings CreateSettings() => new Settings(); public virtual object value { get; set; } - public virtual Type GetValueType() => value.GetType(); + public virtual Type GetValueType() => value == null ? typeof(object) : value.GetType(); static Dictionary exposedParameterTypeCache = new Dictionary(); internal ExposedParameter Migrate() diff --git a/Runtime/Elements/ParameterNode.cs b/Runtime/Elements/ParameterNode.cs index bc05b806..d86856e2 100644 --- a/Runtime/Elements/ParameterNode.cs +++ b/Runtime/Elements/ParameterNode.cs @@ -97,6 +97,13 @@ protected override void Process() parameter = graph.GetExposedParameterFromGUID(parameterGUID); #endif + ClearMessages(); + if (parameter == null) + { + AddMessage($"Parameter not found: {parameterGUID}", NodeMessageType.Error); + return; + } + if (accessor == ParameterAccessor.Get) output = parameter.value; else