Another reason this error can occur is if you load the unobtrusive script before jquery.validate.
So,
<script src="https://stackoverflow.com/scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="https://stackoverflow.com/scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
is OK, but:
<script src="https://stackoverflow.com/scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
<script src="https://stackoverflow.com/scripts/jquery.validate.min.js" type="text/javascript"></script>
will give the “Cannot set property ‘unobtrusive’ of undefined” error.