Releases: Program132/BlueprintRobloxEditor
V1.0: For in ipairs/pairs, new events, Local Player and more !
News
New statement nodes:
For in pairsFor in ipairs
New nodes from Color3:
newfromHSVfromRGB
New nodes from BrickColor:
NewRandomTo RGB
New enums nodes:
EasingDirectionEasingStyle
New nodes for TweenService:
TweenInfo.newCreateCancelPlay
New nodes for Local Player & Humanoid:
Get Local PlayerGet CharacterGet HumanoidGet Humanoid StateHumanoid Take DamageGet Humanoid State
UDim2 nodes:
UDim2.newUDim2.fromScaleUDim2.fromOffset
New nodes for RemoteEvents:
FireClientFireServer
New events:
Died(Humanoid)HealthChanged(Humanoid)StateChanged(Humanoid)ChildAddedChildRemovedChanged(Instance, when a property is updated)OnServerEventOnServerInvoke
Example
For In
Color3
Tweens
Player & Humanoid
ChildAdded
Remote Events
Kill Brick Example
{
"version": "2.0",
"scripts": [
{
"id": "script-1763990649166",
"name": "Main",
"nodes": [
{
"id": "node-1763990657293",
"name": "touched",
"type": "EVENT",
"x": 49,
"y": 350.609,
"inputs": {}
},
{
"id": "node-1763990664191",
"name": "getproperty",
"type": "FUNCTION",
"x": -290,
"y": 528.609,
"inputs": {
"PropertyName": "Parent"
}
},
{
"id": "node-1763990677640",
"name": "isa",
"type": "FUNCTION",
"x": 50,
"y": 543.609,
"inputs": {
"className": "Player"
}
},
{
"id": "node-1763990729292",
"name": "if",
"type": "METHOD",
"x": 398,
"y": 353.609,
"inputs": {}
},
{
"id": "node-1763990762539",
"name": "start",
"type": "EVENT",
"x": -34,
"y": 45.609,
"inputs": {}
},
{
"id": "node-1763990772704",
"name": "set",
"type": "METHOD",
"x": 643.565,
"y": 60.063,
"inputs": {
"name": "part"
}
},
{
"id": "node-1763990776970",
"name": "get",
"type": "FUNCTION",
"x": -279.842,
"y": 382.291,
"inputs": {
"name": "part"
}
},
{
"id": "node-1763990789907",
"name": "getservice",
"type": "FUNCTION",
"x": -139,
"y": 183.609,
"inputs": {
"ServiceName": "Workspace"
}
},
{
"id": "node-1763990796596",
"name": "findfirstchild",
"type": "FUNCTION",
"x": 242,
"y": 164.609,
"inputs": {
"childName": "Part"
}
},
{
"id": "node-1763990843329",
"name": "takedamage",
"type": "METHOD",
"x": 901,
"y": 388.609,
"inputs": {
"damage": "100"
}
},
{
"id": "node-1763990869957",
"name": "set",
"type": "METHOD",
"x": 630.223,
"y": 367.379,
"inputs": {
"name": "plr"
}
},
{
"id": "node-1763990883426",
"name": "gethumanoid",
"type": "FUNCTION",
"x": 626,
"y": 697.609,
"inputs": {}
},
{
"id": "node-1763990901047",
"name": "getcharacter",
"type": "FUNCTION",
"x": 291,
"y": 697.609,
"inputs": {}
},
{
"id": "node-1763990918423",
"name": "get",
"type": "FUNCTION",
"x": -47.79,
"y": 696.487,
"inputs": {
"name": "plr"
}
},
{
"id": "node-1763991061488",
"name": "getproperty",
"type": "FUNCTION",
"x": 415,
"y": 559.609,
"inputs": {
"PropertyName": "Parent"
}
}
],
"connections": [
{
"fromNode": "node-1763990657293",
"fromPort": "otherPart",
"toNode": "node-1763990664191",
"toPort": "instance",
"type": "data"
},
{
"fromNode": "node-1763990664191",
"fromPort": "value",
"toNode": "node-1763990677640",
"toPort": "instance",
"type": "data"
},
{
"fromNode": "node-1763990677640",
"fromPort": "result",
"toNode": "node-1763990729292",
"toPort": "condition",
"type": "data"
},
{
"fromNode": "node-1763990657293",
"fromPort": "ExecOut",
"toNode": "node-1763990729292",
"toPort": "ExecIn",
"type": "exec"
},
{
"fromNode": "node-1763990762539",
"fromPort": "ExecOut",
"toNode": "node-1763990772704",
"toPort": "ExecIn",
"type": "exec"
},
{
"fromNode": "node-1763990776970",
"fromPort": "value",
"toNode": "node-1763990657293",
"toPort": "instance",
"type": "data"
},
{
"fromNode": "node-1763990789907",
"fromPort": "service",
"toNode": "node-1763990796596",
"toPort": "instance",
"type": "data"
},
{
"fromNode": "node-1763990796596",
"fromPort": "child",
"toNode": "node-1763990772704",
"toPort": "value",
"type": "data"
},
{
"fromNode": "node-176399072...V0.9: 3D Positioning, Enums & Game Loop
Issues Solved / Fixs
Enums - New type for nodes @Program132
News
New node type to create custom enums:
{
"type": "ENUM",
"title": "Enum title",
"color": [200,200,200],
"inputs": {
"input_name": {
"defaultValue": "default_input_value"
"values": [
"value1",
"value2",
"value3"
]
}
},
"outputs": [
"output_name"
]
}Enums added:
MaterialHumanoidStateType
Moreover, you can add a description to your nodes :
{
"type": "FUNCTION",
"title": "Node",
"description": "My description",
"inputs": {
"from": {
"defaultValue": ""
},
"to": {
"defaultValue": ""
}
},
"outputs": [
"Output 1"
]
}New nodes about Vector3 :
Builder: create an Vector3 from x,y,z.Add: addition of two vectorsSub: substraction of two vectorsMul: multiplication of two vectorsDiv: division of two vectorsGet Vector3 Components: Get x,y,z from a vec3
Added CFrame nodes:
- CFrame Builder (
CFrame.new) - CFrame Angles (
CFrame.Angles) - CFrame Look At (
CFrame.lookAt) - Ge CFrame Position (
cframe.Position)
Added async nodes:
task.waittask.defertask.delaytask.spawn
Added two events (from BasePart):
TouchedTouchEndedRenderSteppedfrom RunServiceHeartbeatfrom RunService
Example
Enum Type
Vector3
CFrame
Touched event

V0.8 : Instance, GetService, Find Child and more !
Issues / Fixs
Due to a lot of problem with String, I decided to remove the automatic detection of values type, it means now you have to put " yourself or you can use the String node.
News
New node "Instance New" : you can create instance from Roblox Studio like :
PartModel- etc.
Make sure to specify the classname (part, model etc.) and the parent.
New node "Get Service" : you can call services from Roblox like Workspace, ReplicatedStorage, ServerScriptService and more !
New nodes to get & set a property of an instance, like get / set the name of a part !
New nodes to find a child from an instance (FindFirstChild, FindFirstChildOfClass, FindFirstChildWhichIsA, WaitForChild), I added as well IsA which return a boolean.
New async nodes:
task.waittask.delaytask.defertask.spawn
New events :
InputBeganInputEnded
New enums:
KeyCodeUserInputType
Example

V0.7: Rework + new nodes !
I reworked the backend system to address new issues I was facing, such as handling multiple events and enabling the creation of custom functions.
By the way, you can now have more than one “script”/graph in your project!
News
Fixs / Issues solved
Rework backend + new elements about frontend @Program132
Format
Make sure to follow the format, now title is mandatory !
{
"type": "METHOD",
"title": "My Custom Node",
"inputs": {
"input_name": {
"defaultValue": "default_input_value"
}
},
"outputs": [
"output_name"
]
}You can set the color of you node by the way:
{
"type": "METHOD",
"title": "My Custom Node",
"color": [255,23,56],
"inputs": {
"input_name": {
"defaultValue": "default_input_value"
}
},
"outputs": [
"output_name"
]
}Table (Arrays + Dict)
You can create arrays using table nodes:
Construct Tablereturn an empty arrayTable Insertinsert the element given in the arrayTable Lengthreturn the length of the array
You can create dict using table nodes:
Construct Tablereturn an empty dictTable SETinsert the element given in the dict, with the key givenTable Lengthreturn the length of the dictTable GETreturn the value of the key given
Events
Two events got added:
PlayerAddedCharacterAdded(from PlayerAdded)
Variables
GET node got an update, now it's a FUNCTION node, not METHOD.
General
Added two more nodes:
warn: like print but for warningserror: like print but for errors
Values nodes (can use them to specifiy the real value if you want to simulate):
- string
- int
- number
- boolean
Example

V0.5 : If, while, for and much more :) !
News
New node "IF":
- Take one condition (as boolean) in inputs
- Return 3 EXEC output: when the conditon is true, when the condition is false (else) and when the "if node is over" (next to end)
New node "WHILE":
- Take one condition as input
- Return 2 EXEC: one about the loop body, last one once the condition is true (next to end)
New node "FOR" (Range):
- Take one variable (only the name, not a variable you created) as input
- Take number for start
- Take number for end
- Take number for step
New nodes to convert:
- tonumber
- tostring
New nodes about booleans:
andnot<=>===~=<>
New way to create custom statement (it's if definition):
{
"color": [200,200,200],
"type": "METHOD",
"inputs": {
"condition": {
"defaultValue": "true"
}
},
"outputs": [],
"exec": ["True", "False", "Continue"]
}Example
if
while
for (range)
Next updates
- Arrays & Dict
- Custom function
- Multiple scripts
- Custom events (from Roblox)
V0.2: Fixs and more nodes about math & string
Fixs
News
New Math nodes (from math lib):
- arctangent2
- ceiling
- degree
- extract mantissa & exponent
- floating point remainder
- floor
- load exponent
- log10
- min
- max
- modulo fractional
- pi
- positive infinity (highest value)
- power
- radians
- random seed
New String nodes (from string lib):
- concat
- upper
- lower
- length
- byte
- char
- reverse
- find
- repeat
- replace
New format, you can now set the "title" of the node:
{
"title": "sqrt",
"type": "FUNCTION",
"inputs": {
"a": {
"defaultValue": "0"
}
},
"outputs": ["result"]
}Example

V0.15: Fixs and more nodes !
Fixs
New
New nodes:
- Add renamed Addition
- Subtraction
- Multiplication
- Division
- Squareroot
- Logarithm
- Exponential
- Cos
- Sin
- Tan
- Cosh
- Sinh
- Tanh
- Arcos
- Arcsin
- Arctan
- Absolute (abs)
New format to follow to create your own nodes (color is not mandatory, you can remove it):
{
"color": [255,255,255],
"type": "METHOD",
"inputs": {
"node_name": {
"defaultValue": "<default value>"
}
},
"outputs": [
"output_name"
]
}Variables:
- Can be saved in you project file (.json) when you're clicking on the button "Save".
- Can be loaded from a .json file.
- SET node to update the value
- GET node to get the value
Example

V0.1 : BRE Start
The BRE project arrives with its first official version! Featuring a new system and new methods for programming in Blueprint, for "transforming" into Luau, and a very important element, an editor, in this case a web application.
Additions
- New method to convert from Blueprint to Luau
- Editor available on a website
- START node
- PRINT node
- ADD node
Removals
- Old backend system for coding in Blueprint, replaced by a simpler and more efficient one
- Nodes were not defined in JSON format
Upcoming Changes
- Addition of blocks for variables
- Basic blocks, such as those for math, strings, etc.