For FLL competition where the team jointly work on programming, the ease of program distribution is very important. Without knowing how to save "My Block" inside the main program, the distribution of program can be a nightmare.
When a "My Block" is created, the "My Block.RBT" is saved in a default directory, usually as "...\My Documents\LEGO Creations\MINDSTORMS Projects\Profiles\Default\Blocks\My Blocks". This is usually different from your working directory where you save your main program. If you simply save your main program and distribute it, the other user will get a "Broken My Block" (see picture below.)
Note: An NXT-G program that contains a use of a My Block (an instance of a My Block inserted from the Custom Palette) does not actually store the contents My Block inside the main program file. Instead, the program contains only a reference to the My Block, which is essentially the name of the My Block along with some information about where the block came from.
To save your program with My Block altogether, do the following. Select "Tools - Create Pack and Go" from the top menu bar. This will generate an .RBTX file format which allows you to share the complete program (with My Block files).
Important Note!!! If you have an earlier version of .RBTX and you have since modified your program (either My_Block.RBT or Main_Program.RBT), do NOT select "overwrite" when you open the earlier version of .RBTX. If you select "overwrite", your updated "My_Block.RBT" will be lost. I recommend that you save both .RBTX (by Creating Pack and Go) and .RBT (by save) each time you modify your programs.
Note: The Create Pack and Go feature is not available on versions of the NXT software prior to NXT 2.0, and the Pack and Go file storage format (.rbtx) is not readable by earlier versions either. If you save a program in this format, it will not be directly readable by users with the NXT 1.X software or the “NXT-G 2.0” software from LEGO Education. |
For (lots) more information about My Block, please see the NXTPrograms page

