I am struggling to find an advanced, clean method of doing this. In other programming environments, you'd use pointers and references. I need to test variables and give actions to objects on both sides, so it can't be just using the normal collision testing.
The only idea I've had was to store one set of information in a helper object (bounds, various info) but I struggle to think of a way to do that that's not slow. If that is the recommended method, how exactly do you set it up?
Examples of the kinds of things I'd like to do: when objects overlap, push out so they separate. A fast-moving character colliding into another will be damaging like a projectile. For these I need separate control over each for conditions and actions.