Quick overview at how to import Anything world models in a packaged project
Requirements:
Unreal Engine 5.0, 5.1, 5.2 or 5.3
Unreal C++ Project
Visual Studio 2019 (for 5.0 to 5.2)
Visual Studio 2022 (for 5.3)
Anything World Account Details
Anything World SDK
Windows
To use pak files in your project, you need to enable/disable a few options to set everything up properly. A part of pak file, Unreal provides other ways to load cooked content into your project a part of paks, but those ways aren’t compatible with others.
Firstly, you need to enable the option to use paks and disable the other container options (Io store
and Zen Store
). This option will enable the processing of the paks in your packaged project. The other important option is Generate Chunks
. This option will enable the pool to load multiple paks based on the chunk id
.
It's important to disable these two options to load Anything World Paks in your project. The first option will specify that all the paks will contain C++ cooked assets inside. If you enable this option, the project will skip all the C++ assets and only load blueprint ones. The second one is the Editor only
option. Disabling this one will enable all the primary asset labels to be used in a packaged project.
To load materials from paks you need to change the Default Skin Cache Behavior
from Inclusive
to Exclusive
. This option will enable the usage of external materials. A part of that you need higher Maximum memory for Compute Skin Cache per world
into 1500
.
You need to enable Support 16-bit Bone Index
and Use Unlimited Bone influences
to load all the animated models in your project.
All the textures that are cooked outside the main project are treated as virtual textures. To load all the textures from pak files, you need to enable this option.If you use pak chunk strategy
in your project, we highly recommend not surpassing 99 in your chunk IDs. Anything world model chunk ids
goes from 100 and further.
Anything world plugin comes with a couple of C++ functions that the user can call on his project to request models from the API in his packaged project. All those methods are inside a UObject
named PakLoader
that provides the minimum functionalities to load pak files.
To use these functionalities, you only need to instantiate one PakLoader
, Set your API key using SetApiKey()
method and download the model using the DownloadModelEntry()
method.
Inside the plugin, you will find a user widget named PakTester
. This widget provides a simple interface to download models using PakLoader
.
To use it, you need to modify it by adding your API Key inside. At the begging of the execution, the widget will create a new PakLoader and set your API Key. The UI adds two buttons, one to download models from the API and the other to load paks from the paks folder.
Warning: Remember to add one Nav Mesh Bounds Volume
inside your map, or the models will not be able to navigate around.
Setup your Unreal project
This page introduces the Anything World plugin for Unreal Engine 5 and gives indications on how to install it and start using it. This plugin allows you to browse for static and animated 3D models in Unreal and spawn them directly in your Unreal projects.
The Anything World plugin for Unreal Engine 5 is currently in early access and its features should be considered experimental and may change significantly in later updates. Please take this into account when considering using this plugin in your specific use case.
Requirements:
Unreal Engine 5.0, 5.1, 5.2, 5.3 or 5.4.
Unreal C++ Project
Visual Studios 2019
Anything World Account Details
Anything World SDK
The plugin has been tested in using the Visual Studios IDE and Visual Studio Code however additional testing is required to ensure it is well supported in other platforms.
If you're completely new to Unreal it might be a good idea to learn a bit about the Unreal interface. The documentation provided by the Unreal team is a great place to start learning.
Once you've got the basics down, follow this guide and see how to get started with creating 3D content in Unreal!
Create an account through the Anything World website to get access to the Anything World SDK for Unreal.
Our REST API requires a unique developer API key for authentication in order to allow make APIs calls.
The Anything World SDK requires the project to be created or converted to a C++ project in order to compile successfully.
If an existing project containing the AnythingWorld SDK fails to compile on startup, first remove the SDK from plugins folder of the project, open the project, and generate a C++ class. Once the project has been successfully converted, users may install the Anything World SDK within the plugins folder.
Download the latest version of the Anything World plugin for Unreal Engine 5 (not the Unity package) from your account page in Anything World’s website.
In your file browser, extract the “AnythingWorld” plugin folder from the zip file.
In your file browser, copy the “AnythingWorld” folder and paste it inside the “Plugins” folder of your Unreal project.
Example: if your project is called “Example”, it should have a top-level folder called “Example”, with folders like “Content”, “Plugins”, etc., and “AnythingWorld” needs to go inside “Plugins”. If you don't have a “Plugins” folder, create it first.
Open your Unreal project in the Unreal Editor of Unreal Engine 5. In the main menu bar, navigate to “Edit” → “Plugins” to open the plugins available in your project. In a section called “Other”, you should see the Anything World plugin and tick the plugin’s checkbox.
You will then see an “AnythingWorld” section in the main menu bar of the Unreal Editor. You can click it to show “Settings” and “Anything Search”. Click “Anything Search”.
Log in to your Anything World account. Internally, this action will grant the plugin access to your Anything World API key, which is necessary to interact with our server.
Now you should be able to see the landing page of the Anything World browser, which you may want to dock. You can see the featured models on the top, and other relevant sections of models below, such as those with the highest number of likes and the most used models.
You can search for specific models by entering a query in the text bar and pressing enter. After a small time, results will appear, and you may want to filter and sort them with the available options if you want.
Clicking on any model will add it to your current level, where you can manipulate it as any actor. If the model’s thumbnail in the browser had a play icon in the top left corner, it means it is an animated model, so you will be able to see it playing animations when you play in the level.
You can access the animations, mesh, materials and textures in the “DynamicAssets” folder within the plugin’s content folder, via Unreal’s content drawer.
If the Plugins Folder does not appear automatically you can enable the Plugin folder to display by selecting the settings option on the Content Drawer and enabling 'Show Plugin Content'
For the model to be able to move through the world with a simple default random movement behaviour, you need to add a NavMeshBoundsVolume to the level.
Adjust the location and scale of the volume to cover the walkable surface of the map. You may want to turn on the navigation visualization option pressing “P”.
If you now press the play button, you will see how the model moves around!
After you clicked to place the first model, you may notice a “AWMeshManager” was added to the scene. It controls the placement of models in a grid-like fashion, and exposes as editable properties the number of columns and the spacing between rows and columns, that you may edit based on your preferences, as well as the grid origin location.
If you want to include really large models in your project, you will need to add an additional supported agent in your project settings within the Navigation System section. We recommend you this profile to ensure that all large models in our database will work correctly.
One example of a large model in our data base is red_dinosaur#0000.
If you try to load and run a large model, you will see the AWCharacter flickering at the spawning point trying to find a path.
If you only need static models, you can skip this warning. This topic only affects animated models.
If you need more information about the navigation system in unreal, you can consult it in its documentation. https://docs.unrealengine.com/5.0/en-US/navigation-system-in-unreal-engine/
This page introduces the Anything World plugin installation process for Unreal Engine 5.2 on MacOS M1 and M2 chipsets.
Many steps of the first time setup process will not be required for subsequent Unreal 5.2 project creation. If you have follow this setup process previously and would like to create a new project feel free to skip to the Quick Setup Section.
Requirements:
Minimum macOS version: 12.5 Monterey or newer
Recommended macOS version: Latest macOS Ventura
The Anything World plugin for Unreal Engine 5.2 is currently in early access and its features should be considered experimental and may change significantly in later updates. Please take this into account when considering using this plugin in your specific use case.
Step 1: Install Dependencies
Install Unreal 5.2, Visual Studio Code, and XCode 14.1 or above on your MacOS.
Once XCode is installed, open terminal and begin the installation for Clang/Clang++.
Enter the provided terminal command to install Clang/Clang++:
You can verify that Clang/Clang++ was successfully installed by providing terminal with the following command:
Step 2: Setup Visual Studio Code Extensions and .NET
Download and install the .NET dependency for Visual Studio Code.
Verify that the .NET dependency is installed by opening terminal and providing the dotnet --info
command. You should receive information regarding the current version of the .NET SDK.
It is recommended to review the official Visual Studio Code documentation in order to setup Clang for MacOS.
In order to successfully compile an Unreal 5.2 C++ project on MacOS the following Extensions are required:
VSCode Extensions:
Step 3: Configure Unreal 5.2
Open the Epic Game Launcher, navigate the Unreal Engine view, and select the Launch Unreal Engine 5.2 button.
Switch to the Games panel, select your preferred template, change the project default option to a C++ project, provide a project name, and select the Create button.
Once the Unreal Editor is ready, open the Editor Preferences by selecting Unreal Editor > Preferences.
Use the search bar to find the General - Source Code setting and switch the Source Code Editor to Visual Studio Code.
Next let's open the project files in Visual Studio Code by navigating to Tools > Open Visual Studio Code from within the Unreal Editor.
Now that the Visual Studio Code is set as the default IDE close the Unreal Editor application.
Step 4: Install the Anything World Plugin and generate the project files
Download the latest version of the Anything World Unreal Plugin from the Anything World Profile page.
Unzip the package, open the Mac folder, then unzip the 5.2 package. Copy the newly created Anything World folder and navigate to your Unreal 5.2 project folder (Documents > Unreal Projects > Your project name. Create a new folder called "Plugins" and paste the Anything World Plugin inside this folder.
Now that the Anything World Plugin is installed we recommend re-generating the project files for the Unreal 5.2 project.
Re-generating the project files may cause issues or lost work with an existing project. We recommend creating a backup version of the project before proceeding with cleaning the project files. Please reach out to us on our Discord or at Support@Anything.World for additional help.
To re-generate the project files we need to delete the following folders from the Unreal 5.2 project.
Binaries
DerivedDataCache
Intermediate
Saved
Find and copy the file path for your Unreal 5.2 .uproject file:
Open terminal and navigate to the following Unreal 5.2 installation path:
Next provide terminal with the following command:
Make sure to add the Single quote '
character in front of the beginning and at the end of the file path. The first single quote should added after the -project=
and the end single quote should be added before the -game
command.
Your terminal will display this message:
Now that the project files have been re-generated we are able to build, compile, and debug the project using Visual Studio Code.
Step 5: Update task.json to include the "-architecture=arm64" argument
Return to the project files in Visual Studio Code and open the tasks.json file within the .vscode folder.
Find the label named "<Your Project Name>Editor Mac Development Build" and add the provided argument to the list of args:
Select the dropdown that displays "Launch <your project name>" and set the option "Launch <your project name> Editor (Develoipment)" as the default.
Press the Play icon to launch your projects then Visual Studio will display the debug icons, press the play icon twice to proceed.
Users may receive a security notification from Apple when launching the project. If this occurs, open System Preferences for Mac, open Security and Privacy, and select the Allow Anyway button. You may need to unlock the setting by selecting the lock icon before accepting.
Once this Anything World dylib is allowed re-launch the project from Visual Studio Code.
Congratulations! You have completed the first time setup process for installing the Anything World Plugin for Unreal 5.2 on MacOS.
This section assumes that you have successfully installed the Anything World MacOS plugin previously on your current machine, if not please review the first time setup guide before proceeding.
Step 1: Create an Unreal 5.2 Project
Open the Unreal 5.2 Project Browser, choose your template, and change the project to C++:
Once created, the Visual Studio Code IDE should automatically open along with the Unreal 5.2 editor.
Step 2: Add the Anything 5.2 plugin to the project's plugins folder.
Navigate to the project folder by opening Documents > Unreal Projects > Project
Create a new folder and name it Plugins
then copy and paste the Anything World folder inside the newly created project's plugins folder.
Restart the Unreal 5.2 project and allow the AnythingWorld.dylib to run by opening the System Preferences for Mac and navigate to Security & Privacy.
Users may receive a message from Unreal stating "Plugin 'AnythingWorld' failed to load because module could not be loaded. If this occurs please allow access via System Preferences >Security & Privacy and re-open the project.
Once all of the applications have been accepted re-open the project from within the Epic Games Launcher and you should have access to the Anything World plugin!
Get started with Animate Anything in Unreal Engine.
Animate Anything is our tool to bring your static 3D models to life. With our AI-based approach we can automate the rigging and animation steps of a humanoid, an animal and many other types of models. You may find the complete tool in our website https://app.anything.world/animation-rigging. In addition, we have integrated it with our plugin for Unreal Engine (with a reduced set of options) so that any mesh in your project can be easily submited for processing and get back the processed model ready to use for your game.
After setting up the Anything world SDK, you can access the Animate Anything tool through the Anthing World menu from the top tool bar and select the Animate Anything option.
This brings up the Animate Anything interface as shown below. We'll cover every section in the interface to explain how you can get your models animated in minutes.
Here you are requested to input the name of the model. This name will be used to identify your model and it will be shown in My World panel, under the User Processed tab.
Here you can input the type of model you are submitting, human, cat, car are some of the accepted options. You can get more information about this by clicking on the question icon to the left of the title and the model processing contraints, above the Upload button.
Here you can select the model you wish to animate. Notice that Unreal will allow you to select any asset but only Static Meshes and Skeletal Meshes will be accepted as valid assets.
Here you can input the model's author name or check the checkbox if you are the author. This is a required information, the Upload button will be disabled unless you enter an author name or check the checkbox.
Here you can select the license for your model. Only one of the two options can be selected at the same time.
Above the upload button you will find 3 checkboxes that enable or disable different aspects of the Animate Anything process. The first checkbox will grant us permission to use this model for training and/or testing our processing systems, and related usages. The second checkbox is mandatory to check before the Upload button becomes enabled. The last checkbox will add a default behaviour to your model upon importing to the Unreal Engine project if you tick it.
Once the button is pressed, the model will be submitted to our servers and will start processing to get it animated. Note that processed models will appear in My World panel, under the User Processed tab.
Once the model has been submitted, a notification will pop up in the editor indicating that the model is being processed. Multiple models can be processed at the same time, each with its corresponding notification. The notification will remain until the model has finished processing or the system encounters an error. When successfully processed, a new browser window will appear with the processed model elements (Blueprint, meshes, textures, etc.).
In order to support textures in your models, we require an additional plugin to be enabled in your project, the GLTF Exporter plugin.
For Unreal Engine 5.0 you may find this plugin free in the unreal marketplace https://www.unrealengine.com/marketplace/en-US/product/gltf-exporter. For versions 5.1 and above, the plugin is shipped with the engine.
Get started with using our AI Creator system
Requirements:
Unreal Engine 5.0, 5.1, or 5.2
Unreal C++ Project
Visual Studio 2019
Anything World Account Details
Anything World SDK
Optional: Microphone
The AI Creator panel allows users to issue verbal or text commands to access our extensive repository of static and animated models.
This tool comes with the Anything World SDK, see out Unreal Quickstart guide to setup it up and start using the AI Creator tool.
After setting up the Anything World SDK you can access the AI Creator tool through the Anything World menu from the top tool bar and select the AI Creator option.
The AI Creator tool provides two methods for users to give commands.
The microphone button activates the recording feature, which allows you to use your microphone to input verbal commands. This enables you to easily add, move or remove models in the scene in editor mode.
The text field provides the same functionality but using a text input instead. The same commands are available as in the verbal commands.
Currently our AI Creator supports commands that enable users to:
Add one or several models to the active scene.
Move one or more models to a specified location.
Remove one or more models from the scene.
Examples:
Add commands:
Create a cat
Add five chickens
Move commands:
Move one chicken here
Move the cat to the left of the chicken
Remove commands:
Remove the cat
Delete five chickens
Valid Modifiers:
Quantity modifier:
Add five gorillas
Remove three cats
Relative Location Modifier:
Add one car near
Move one gorilla above the car
Create one cat to the right of the car
Add one human to the left of the car
Create a boar below the car
Multiple actions can be requested can be requested in a single command. Example:
Add one cat and one human.
Add a bumblebee and move the cat here.
Remove the human and move the bumblebee above the cat.
The AI Creator panel contains several buttons to make the creation process more streamlined.
Microphone Input:
The microphone button enables the recording functionality which allows users to convert verbal commands to real-time scene creation and manipulation using our 3D models within a Unreal Engine scene. Select the microphone button to start the recording session and select the same button again to submit the verbal request.
Text Input and Submission:
The text box provides an alternative method to input commands to create and manipulate 3D assets from our repository. Simply type the command in the text box and press enter or the button below.
The results box in the middle of the AI Creator panel will display the input received as a list of buttons that can be pressed to execute the action.
Once an action button has been pressed, a tick icon appears beside the command text within the button.
Execute all actions and Auto Create Option:
When a user provides a command with either verbal or text input, one or more can be pressed to execute the input commands. In addition, a new option Auto Create has been introduced in the Settings panel.
When this option is enabled, all actions are executed automatically without needing further input from the user and the tick icons will appear on the buttons. The Execute all actions button is another method to execute all actions with a single click, useful when multiple actions have been introduced in the same command.
Once installed, open Visual Studio Code and navigate to the extensions view by selecting the icon.
Next let's launch the project from Visual Studio Code, to do this navigate to the Run and Debug view which can be found by selecting the icon.