I strongly recommend against user.def modifications if you can avoid them. They are easy to forget when upgrading the management.
As for a site-to-site VPN with a route-based peer, you just need to get the negotiation to match. I would expect a route-based VPN to negotiate 0.0.0.0/0 to 0.0.0.0/0, but that is not necessarily the case. You can get a Check Point firewall to negotiate 0.0.0.0/0 to 0.0.0.0/0 using the "One tunnel per gateway pair" tunnel management setting in the community. Everything else can be done like any other community-based VPN. If you aren't sure about the negotiation, you can get some samples using IKE debugging (vpn debug ikeon), then viewing the debug log (ike.elg or ikev2.xmll).
You also can set up the VPN as route-based on the Check Point side. This involves creating a VTI on the Check Point firewall and setting the peer object's encryption domain to an empty group. You still need a VPN community, as that is where you set the parameters for phase 1 and phase 2 of the negotiation. The advantage of this method is it allows the firewalls to talk with each other via protocols like OSPF which want to work on an interface. If you aren't using dynamic routing between the two, you generally don't need a VTI.