Portal 101: Advanced Creations Using Portal SDK Tool, Rules Editor
10 ottobre 2025
Your vision, our Portal SDK Tool, endless Community Experience possibilities.
For the first time in Battlefield franchise history, we are officially opening up the hood of our game and allowing you, the community, to use a Software Developer Kit (SDK) and create the experiences you want to play. We’ve seen the incredible work you’ve done with Battlefield 2042 and our first Portal iteration; with the Portal SDK Tool and its ability to edit maps, as well as additions to the Rules Editor on the Portal Builder, we cannot fathom what comes next.
With that said, we’re stopping short of providing an actual, undergraduate-level, semester-long course to cover every minute detail of the SDK Tool and game design concepts. Instead, this guide details a first time experience through the tool for a Custom Experience, up through exporting your custom map to the Portal Builder and using the Rules Editor:
Installing the Portal SDK Tool
Unlike the Portal Builder, available on the EA website, the Portal SDK Tool software program must be downloaded to a Windows PC in order to be used. The Portal SDK includes all the necessary files required to use the Godot game editing tools to make spatial edits to game levels as well as example scripts to get you started creating your own custom game rules.
We do not recommend or condone downloading any version of the Portal SDK Tool outside of the official EA.com website. Doing so may result in severe security-related issues with your PC. Only download the verified Portal SDK Tool, as well as its updates, from EA.com
After downloading the tool, open the ReadMe file to complete installation. Then open it to follow along with this first Portal SDK Tool experience walkthrough:
Portal SDK Tool - A Brief Guide to Map Editing
Above: an example custom map created with Portal SDK Tool.
First, mouse over “Scene” in the top-left corner of the application; click it, then select “Open Scene” from the drop-down menu. Open the “levels” folder to see the names of all available maps to edit, then choose the map you wish to edit.
Most likely, you will be underneath the map’s playable area. Within the central window that shows the digital 3D environment, these are your main tools for moving around the space:
- Camera Aim or “Looking” - Right-Click, hold, and drag your mouse cursor to aim the camera.
- Movement - W, A, S, D keys to move two-dimensionally (forward, back, left and right) and Space to move “Up,” which is always +90-degrees of where you are looking.
- Increase or Decrease Movement Speed - Scroll with the mouse wheel; forward speeds up, backwards slows down.
When opening a level, all of its objects - buildings, cover pieces, roads and more - are in their default positions as they would appear in any regular, verified Battlefield 6 experience. The Portal SDK Tool is used to perform additive modifications; there are certain objects, such as the terrain and key buildings, that cannot be removed.
At the bottom of the screen is your Object Library - expand it, then click the ellipses (...) next to the library’s search function to “Generate Library.” This is how you get more details about all objects that can be placed onto the map. You can now drag and drop these objects onto the map. Note: if you already ran Portal Setup, this step is not required.
Press “Q” to enter Select Mode, your primary way of choosing an object for manipulation or movement, then press “W” to move the object within the map. While an object is selected, you can also press “E” to enter Rotate Mode, using the WASD keys to turn the object in the desired direction. If you wish to scale an object up or down, look to the right of the 3D plane to see an Inspector Window, where you can uniformly make the object larger or smaller. Non-uniform scaling of objects is not currently supported.
Exporting and Uploading a Level to Portal Builder
Want to take a break and complete your creation later? Click the “Scene” tab in the top left corner of the application, then click “Save Scene” to ensure your progress is saved.
When you are ready to publish your creation, look for the “Export Current Level” button on the bottom-right window (“BFPortal”). Click it, then click “Open Exports” in the same window to see your creation - this .JSON file is what you’ll be uploading to the Portal Builder on your browser of choice.
Log back into the Portal Builder, if you are not logged in already, and either select an existing template to modify it, or go through the process of creating a new experience.
Select the “Map Rotation” tab, and you’ll see the option to attach your .JSON file; the icon looks like an arrow pointing down to an open bracket. Locate the file in the File Explorer window that pops up, select it, and click open. You should now see your exported level in Portal Builder!
Rules Editor in Portal Builder: Interface Editing and AI Scripting
The most advanced feature in the Portal Web Builder is the Rules Editor, which is only available to Custom Community Experiences. Similar to how it worked in Battlefield 2042, but with new commands, the logic-based Rules Editor allows you to link in-game events and conditions, such as a player death or distance from a headquarters, to trigger specific actions.
An example of a “rule” is what happens when you capture an objective in Conquest. Think about entering the objective area: what happens next? First, when you step into an objective area (event or condition) a progress wheel appears (action) and a voiceover says you are capturing the objective (another action). After a preset amount of time (a condition), the objective area is captured (action). Then, because the objective area is under your team’s control (condition), you earn points (recurring action).
Simple? The Rules Editor has over 200 actions to implement an incalculable amount of scripting combinations, both with and without bots. Just like all other Rules Editor tabs, there are tooltips to follow; simply right-click a block within the Rules Editor and click “Help” for more information.
AI Scripting
New to the Portal Builder Rules Editor are more tools for scripting bots, or telling your non-player combatants what to do and how to behave in-game. Understanding the Rules Editor basics is essential for custom AI scripting, as you will use “BehaviorTree” to change their default logic.
Just like a standard Rule, AI Behaviors have their own Condition and Action Blocks that modify their movement, combat logic and more.
For more complex AI scripting or more complex modes, it is recommended that creators use TypeScript. Here is an example of a simple AI movement script:
[[NOTE: Because TypeScript is written in English, all example code is in English. If you are not getting the intended results due to potential conflicts with other code in your script, you may need to adjust the exact code being used.]]
//This spawns a scriptable AI unit
function OnGameModeStarted() {
mod.SpawnAIFromAISpawner(mod.GetSpawner(1), mod.GetTeam(1));
}
// This is a simple "Follow" behavior that will tell the AI to Stand and Walk to another player's location. async function simpleAIFollowBehavior(player: mod.Player, target: mod.Player) {
// Set the AI Player's stance to Stand.
mod.AISetStance(player, mod.Stance.Stand);
// Set the AI Player's Move Speed to Walk.
mod.AISetMoveSpeed(player, mod.MoveSpeed.Walk);
// While this AI and the Target player is alive, run this loop which tells the AI to move to the location of the target player.
while (mod.GetSoldierState(player, mod.SoldierStateBool.IsAlive) == true && mod.GetSoldierState(target, mod.SoldierStateBool.IsAlive) == true) {
// Call the AIMoveToBehavior on the AI Bot player and have it move to the location of the target player.
mod.AIMoveToBehavior(player, mod.GetSoldierState(target, mod.SoldierStateVector.GetPosition));
// Wait for 1 second.
await mod.Wait(1);
}
}
Beyond this sample script, we are leaving the rest to your design. There is no one correct way to learn game development; whether you decide to take up game design and coding courses, or learn through experience and various internet forums, we have all the confidence that you will be able to create an incredible Custom Experience.
Quick Tips from the Developers - Portal SDK Tool and Scripting
1. Be a Part of the Developer Community. Like any art community, game development is better when positively interacting with fellow creators. While this guide is a great launch point for editing maps, the best knowledge comes from fellow developers with more experience. Get involved in the Battlefield Portal development community, such as in the official Discord, and don’t be afraid to ask questions!
2. Check Your Logic (And Attachments). When a Rule in the Rules Editor does not work, the two most common reasons are as follows: either one of the Blocks - a Rule, Condition or Action - may not link back to the Mod Block, or your Rule logic is impossible, such as a true Condition being assigned to two contradicting values. Always triple check these before testing a Custom Experience.
3. Experiment. Experiment. Experiment. 99.9% of the time, your first custom map - or your scripted AI - will not work exactly to expectation. Don’t be discouraged; continue editing and testing until your experience is exactly how you envisioned it.
4. Create for the Community. Game design often references “user experience” or UX; entire bachelor’s degrees are dedicated to this concept alone, but in simplest terms, this is the concept of how your players feel when they play your Custom Experience. UX Testing can be as easy as getting a friend, family member or fellow community member to play your Custom Experience; invite them in-game to play, take notes on what they find hard to understand or their barriers to having fun, then take that into consideration when developing your final product.