So the idea is, Inside a canva, everything is there. The movement buttons, maps, characters. The map is #### #### pixels big and should cover the center of the screen while the movement buttons are at bottom left. Characters are inside the map using Z to layer them on top. The problem is, if i fix the positions of the sprites using X Y with the help of ai companion of a device, it will change positions in other devices. Is there a way on how to solve this? My friend created a similar one and it worked. Problem is, he doesn't know how it worked either. "Pure luck and coincidence."
?
You should use canvas width/height percentages to set your buttons so that they will always be relative to the canvas, not immutable.
Is the canvas size fill parent / fill parent ? (or 100%/100%)
I don't understand. How does that work?
its fill parent
i did 100% too but it was the same outcome regardless
On your device, get the actual canvas width and height and the x/y coordinates for a sprite.
You can then get the percentage position for the sprite: e.g. if canvas height = 400 and sprite y = 200 then the percentage height position would be 50%.
Place the sprite by multiplying 50% by the canvas height. Do the same for the x coordinate.
You may need to do more work for non phone devices, e.g. tablets, big screen Androids.

Do i make the percentage position in blocks? because it only allows for pixels
Yes
You might also need to consider the sprite Origin, setting it to 0.5/0.5 will be the centre of the sprite, 1/1 the bottom right. By default it is 0/0 top left.
