Creating a problem definition | AI Planner | 0.2.4-preview.3
docs.unity3d.com
    Show / Hide Table of Contents

    Creating a problem definition

    A problem definition is where your domain definition (i.e. traits and enumerations) is associated with your actions and state terminations, together providing the information necessary for the planning algorithm to create plans. When assigned to a DecisionController component when you set up your scene, a ProblemDefinition defines the types of plans your agent will create and execute.

    Problem Definition

    A problem definition holds the set of actions and a list of termination criteria that are used by the planner to generate a plan. Create a "Problem Definition" asset via the asset creation menu (Create -> AI -> Planner -> Problem Definition) or the Create menu from the project window.

    Image

    Once the asset has been created you can assign or create new actions, assign or create new state termination criteria, and specify a cumulative reward estimator[^#1] to be used by the planning algorithm. When you create actions, any built-in actions will show up under their own submenu (e.g. Navigation).

    [^#1]: For more information, see Custom Cumulative Reward Estimators.

    Image

    Additionally, as an advanced user setting, you may specify a plan discount factor through the cog icon under Planner Settings (see below). This parameter controls the weighting of future action rewards when determining the cumulative reward for a plan. A value of 1 means the future action rewards will not be discounted. Otherwise, each plan action's reward is discounted by dt where d is the discount factor and t is how many steps/actions precede the action being evaluated.

    Image

    Generating Code

    Once your traits, actions, termination criteria, and problem definition(s) have been defined, the next step is to generate code to be used at runtime within the planning jobs. To generate these files, use the build command in the AI menu (AI -> Planner -> Build).

    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023