Is VRC txt harder only for excellent team?

We used blocks for program in last season for VEX IQ but a lot of excellent players at here suggest to use txt for VRC. Since we have no experience on text, what would you suggest us to start? Honestly, we don’t want to learn a language text book from first page to the last page which will take us a whole year or more. Basically, would you give a good suggestion how to switch better from block to text program because it is really intimidating for us but we don’t want to quit.

Vex has a lot of tutorial example programs that demonstrate concepts in using text-based programming languages. There are many more than can fit in this screenshot


As for txt vs blocks txt offers alot more functionability and alot more autonomy for gcreating your own There is something called PROS which is a program made by Purdue Sigbots for programming and there are many tutorials and templates for pros. txt is definitly alot better. what our team did is that we started with blocks our first year (TIP) and then we shifted over to text during SU. a way to learn text is that on the vex code v5 blocks you can like ẗranslate" from blocks to vex pro v5 (we use vex pro v5 ) THere are alos alot of templates that you can use for either PROS or vex pro v5. For pros ther is an okapi lib that has built in Odometry and PID and there is the Jackson area and EZPZ template for vex pro v5

PROS info: PROS: Documentation Home — PROS for V5 3.8.0 documentation

JAR template: Introducing JAR-Template: A Vexcode Pro Library featuring Custom PID and Odometry


You need to find the most effective way for your team to work. If all understand blocks programming but only one member on the team knows c++, you may have a problem if the programmer is unavailable. I encourage my teams to start blocks because they can have driver control with a 15-second autonomous program ready in less than a half hour.

Also, a blocks project can be converted into a c++ or python project. If you click on the Code Viewer you will see what your code looks like and how to covert it. The conversion doesn’t create the greatest function names but a decent programmer should be able to clean it up rather quickly.

TLDR: You can always switch over to code from blocks.

Blocks is limited on it’s capabilities for advanced features. 5+ motor chassis, PID, tasks, and libraries, to name a few, are not easily (or not at all) supported. While blocks gets a robot operational quickly, the team will need to evolve into code if they have complex ideas.

The team will need to decide what is in their best interest. For a solo programmer, it will be important to keep the notebook up to date and their teammates well informed.


A lot of text programming in VEX is done in C++. There are some exceptions to this, such as vex-rt which is programmed in Rust, and the Python version of VEXCode, but both VEXCode Pro V5 and PROS are coded in C++. If you are brand new to programming in text, python is generally an easier starting point, but please don’t be intimidated by text programming. There are infinite resources online to help you learn, such as the popular Learn C++ for C++ programming, and Learn Python for python programming. As long as you put in effort I’m positive you can learn and be successful.

As others mentioned, with text programming there are templates people have made to perform certain features (PID, odometry, pure pursuit, etc.) automatically without needing to program them. VEX is an educational platform at its core, and I strongly encourage you to at the very least learn how what you are using works at a fundamental level. It helps you learn a lot and will make these templates much easier to use. For VEXCode, there is the awesome JAR Template by team 2775V. For PROS, there are many more templates to choose from including okapilib, LemLib, ARMS, EZ-Template, and many more. It may be a little bias on my part since I actively help develop PROS, but I find the PROS API more intuitive than that of VEXCode Pro V5. However, you should be able to find adequate documentation and examples/tutorials for both.

Hope this helps!