Ok, Im still looking into arrays as grids but finally solved the initial concept and I just had a few things out of wack. So here's how it was done:
Input State:
Get Key Down, Key = Left Arrow, Send event = Move Left
Then the same Action for Right, Up and Down
Move Left goes to the next state Check L:
In this state Im now getting the position instead of in the input state.
Get Position, Game Object = Use Owner, X = newX (var)
Float Compare, Float 1 = newX, Float 2 = -1, Tolerance 0,
Equal = Return (event name), Less Than = Return, Greater Than = Move Left
*return event goes back to the input state, Move Left goes to the Move L state
Move L (state):
Do tween Transform Blendable Local Move By, Game Object = Use Owner, By = x -1.8, Finished Event = Wait For Input (which goes back to the Input state).
And that's it in a nutshell I do one of these for each direction.
* Notice Im doing a float compare for -1 instead of -1.8 (which is what the player movement in increments are in the Do Tween), when I was using -1.8 most of the time the player wouldn't be able to go any further left but once in a while it would, this was the whole issue which drove me nuts lol Changing this to -1 instead makes it work fantastic now no matter where the player is on the board it will never go below -1.8 to the Left and the same for right, up and down.
Hope this helps someone else in the future trying to set bounds using incremental movement. Woohooo!