>>348879112
that sounds like it should work. An authoritative server model is probably easiest to reason about, where the actions by individual players are only pending until confirmed by the master authoritative behavior.

If it helps, my lightly documented poker implementation works in this fashion, where individual players own a 'Seat' behavior. a player can change their bet and click a commit button, which updates the Seat's state to represent a 'pending bet'. The master behavior that controls the rest of the game waits (with timeout) to see that the active player has a pending bet, checking that the 'lastSeenEpoch' of the pending bet matches the master's current round epoch (i.e. a monotonically increasing number). code at: https://github.com/hiinaspace/vrchat-holdem

It also has an example of running unit tests through unity's framework, using conditional compilation so you can actually step through udonsharp code in the debugger. It's pretty autistic, but may be worth it for tricky networking situations like this.