Sorry, without actual table definitions, I am guessing at the syntax blind. Here's another attempt. Note I took off some 'unnecessary' parens.
SELECT user, color, piece, SUM(quantity) AS quantity FROM
( -- This was missing
( SELECT test1_loose.user,test1_loose.color,
test1_loose.piece,test1_loose.quantity
FROM test1_loose
ORDER BY user
LIMIT 0,50
)
UNION ALL
( SELECT test2_boxes.own_user,test3_boxinv.color,
test3_boxinv.piece,
(test3_boxinv.quantity * test2_boxes.own_quantity) AS quantity
FROM test2_boxes,test3_boxinv
WHERE test2_boxes.own_item = test3_boxinv.item
ORDER BY user
LIMIT 0,50
)
) as uu -- Yes, alias here; matches the missing '('
GROUP BY user, color, piece
ORDER BY user LIMIT 0,50