Some marinas in Croatia allow booking or making a reservation in advance (but they will charge you a specific fee for reservation).
In some marinas, you can book and fully pay for the berth through online booking on their site. You can also book berths at most Croatian marinas online via „mySea“and at buoys and (restaurant) jetties. You need to get a free application and register here. The recommendation in peak season is to book one day before. You can use the Euronautic code when registering at Mysea, and then the marina will already have all the necessary documentation of your vessel. You get the code in the ship's papers when checking in.
You can always call Marina and ask how many vacancies are available and when the best times to arrive are. Finding a berth off the season is usually not a problem. Still, it is different in the peak season (particularly in July and August) when finding a berth may be challenging, especially if you don’t set sail for the marina in the early afternoon.