Validation
24.00 introduces asset validation. This validation verifies that the content is allowed in a UEFN project. There may be issues with assets or devices that you believe are valid but prevent your project from being uploaded.
Please see this post for more details: Handling Content Validation in 24.00
Verse API Changes for 24.00
Removals
- editable_text_base, editable_text, and editable_text_box widgets have been removed from the UI API
- material_block and texture_block widgets have been removed
Updates / Refactors
-
Support for Verse code finding props and user devices by tag
-
This includes renaming
-
GetDevicesWithTag to GetCreativeObjectsWithTag
-
GetDevicesWithTags to GetCreativeObjectsWithTags
-
These methods also return a creative_object_interface which can then be cast to each of these.
# Some test code for finding all of these that have an all_tag on them and then casting to the appropriate type AllCreativeObjects:[]creative_object_interface := GetCreativeObjectsWithTag(all_tag{}) for (PropItem:AllCreativeObjects): if (TheProp := creative_prop[PropItem]): Logger.Print("Prop found with all_tag at position: {TheProp.GetTransform().Translation}") for (DeviceItem:AllCreativeObjects): if (TheDevice := creative_device_base[DeviceItem]): Logger.Print("Creative device found with all_tag at position: {TheDevice.GetTransform().Translation}") for (UserDeviceItem:AllCreativeObjects): if (TheDevice := creative_device[UserDeviceItem]): Logger.Print("User device found with all_tag at position: {TheDevice.GetTransform().Translation}")
-
-
Rename ToStringSeparated to Join
-
Removed vector3.XAxis, vector3.YAxis, vector3.ZAxis
-
Removed fort_character.IsDown and added fort_character.IsActive to indicate the character is active. If IsActive returns false, most character actions will silently fail.
-
Added vector3.IsAlmostZero(tolerance) and IsAlmostEqual(vector3, vector3, tolerance) to more easily allow testing for these states.
-
Add support for NamedColors.Tan
Devices
-
Audio Player
- Audio Player now uses Play() and Stop() instead of Activate() and Deactivate()
- Audio Player now has an option to call Play(Agent) or Stop(Agent) if you want to direct audio at a specific user.
-
Radio
- Radio now uses Play() and Stop() instead of PlayRadio() and Stop Radio()
-
Random Number Generator Device
- Device no longer takes an optional Agent argument. Instead users can either choose to call a function with a mandatory Agent argument, or one with no arguments at all.
-
Switch Device
- Device no longer takes an optional Agent argument. Instead users can either choose to call a function with a mandatory Agent argument, or one with no arguments at all.
-
Timer Device
- Device no longer takes an optional Agent argument. Instead users can either choose to call a function with a mandatory Agent argument, or one with no arguments at all.
-
Bear Spawner Device
- bear_spawner_device has been renamed to vehicle_spawner_pickup_truck_device
-
Mudflap Spawner Device
- mudflap_spawner_device has been renamed to vehicle_spawner_big_rig_device
-
Prevalent Spawner Device
- Prevalent_spawner_device has been renamed to vehicle_spawner_sedan_device
-
Whiplash Spawner Device
- whiplash_spawner_device has been renamed to vehicle_spawner_sports_car_device