Practical experience in porting a large virtual reality system from C/C++ to Java indicates that porting this type of real-time application is both feasible, and has several merits. The ability to transfer objects in space and time allows useful facilities such as distributed agent support and persistence to be added. Reflection and type comparisons allow flexible manipulations of objects of different types at run-time. Native calls and native code compilation reduce or remove the overhead of interpreting code. Problems encountered include difficulty in achieving crossplatform code portability, limitations of the networking libraries in Java, and clumsy coding practices forced by the language. CR Categories: D.3.3 [Programming Languages]: Language Constructs and Features--Frameworks;I.3.7 [Computer Graphics]: Three-Dimensional Graphics and Realism--Virtual Reality