Here is very short Python code to send ARB waveform to UTG. As is it defines 10 sin periods in the waveform, but you can change the formula for "signal" to define any other ARB shape. To send modulation waveform just replace "CARRier" by "MODulate". Of course, you need free Python and numpy and pyvisa packages.
import numpy as np
import pyvisa
rm = pyvisa.ResourceManager()
uniGen=rm.open_resource('USB0::yourUTGaddress::0::INSTR')
t=np.arange(0,4000,dtype=np.float64)/4000
# define waveform , here N=10 sin periods:
N=10
signal= 32767*np.array(np.sin(2*np.pi*N*t))
signal=signal.astype(np.int16)
# send to UTG
h1=b'[HEAD]:115\r\nVPP:1.000000\r\nOFFSET:0.000000\r\nCHANNEL:1\r\nRATEPOS:0.000031\r\nRATENEG:0.000031\r\nMAX:32767.000000\r\nMIN:-32767.000000\r\n[DATA]:4000\r\n'
showName='t1'
uniGen.write(':WARB1:CARRier '+showName+' ')
uniGen.write_raw(h1+signal.tobytes())