        script.Execute("userValueType.data = 100");
        script.Execute("globalVar1 = valueHolder.value.data");
        AZ_TEST_ASSERT(s_globalVar1 == 10.0f);

        // now store a reference and make sure it works
        script.Execute("userValueTypeRef = valueHolder.value");
        script.Execute("userValueTypeRef.data = 100");
        script.Execute("globalVar1 = valueHolder.value.data");
        AZ_TEST_ASSERT(s_globalVar1 == 100.0f);

        script.Execute("valueHolder = nil userValueType = nil");

        // test class pointer casting for unregistered classes
        ScriptUnregisteredBaseClass ubc;
        ScriptUnregisteredDerivedClass udc;