Enable customers to select a shipping method for each individual product, or each group of products, during checkout! This gives customers flexibility in how items are shipped to them, allowing them to choose faster shipping methods for just the products they need quickly. As a store owner, shipping items individually also helps you charge the correct amount when your items are difficult to combine into single shipments.
Upload and go — modifies no core files.
Choose to display shipping choices for each product, or for each group of products, based on any product data field.
Utilize the shipping methods you already have set up, properly displaying them for each product or group based on its quantity, weight, and value.
Let customers choose between standard shipping options (for the entire cart) and individual shipping options — or disable the choice so only individual shipping options are available.
View the customer's shipping choices at a glance — each selected shipping option properly show up in the "Shipping" line item in the shopping cart, confirmation page, and order invoice.
Override shipping settings for any shipping method, individually for each product or each group. Or for even greater control over which shipping methods are shown, use in conjunction with Restrict Shipping Methods
For shipping charges based on other factors, take a look at: